最近研究学习Linux虚拟机KVM,母机安装的是CentOS6.2 64位版本,虚拟机安装CentOS 6.0 32位版本。
启动virsh命令想通过console命令连接至客户机的终端,结果输入命令后终端卡在这个状态:
virsh # console 6.0-i386
Connected to domain 6.0-i386
Escape character is ^]
敲任何键都无响应,通过网上查询知道原来想通过console连接客户机终端还要在客户机上做相应的终端设置,才能使输出正确地输出到虚拟机管理程序的终端。
虚拟机设置步骤:
1、添加ttyS0的安全许可,允许root登录:
echo "ttyS0" >> /etc/securetty
2、在/etc/grub.conf文件中为内核添加参数:
console=ttyS0
3、在/etc/inittab中添加agetty:
S0:12345:respawn:/sbin/agetty ttyS0 115200
4、重启客户机:
reboot
此时,再次尝试console命令可以正常使用:
virsh # console 6.0-i386
Connected to domain 6.0-i386
Escape character is ^]
回车后键入tty,显示
/dev/ttyS0
显然虚拟管理程序的终端已经正常工作了。
原理:
securetty设置安全权限,允许root登录。
修改 grub.conf 让内核把输出定向至 ttyS0。
在inittab里加一个ttyS0在系统启动时会生成一个ttyS0来接收内核的数据。
关于终端的基本概念汇总:
tty(终端设备的统称):
tty一词源于Teletypes,或者teletypewriters,原来指的是电传打字机,是通过串行线用打印机键盘通过阅读和发送信息的东西,后来这东西被键盘与显示器取代,所以现在叫终端比较合适。
终端是一种字符型设备,它有多种类型,通常使用tty来简称各种类型的终端设备。
pty(伪终端,虚拟终端):
但是如果我们远程telnet到主机或使用xterm时不也需要一个终端交互么?是的,这就是虚拟终端pty(pseudo-tty)
pts/ptmx(pts/ptmx结合使用,进而实现pty):
pts(pseudo-terminal slave)是pty的实现方法,与ptmx(pseudo-terminal master)配合使用实现pty。
在Linux系统的设备特殊文件目录/dev/下,终端特殊设备文件一般有以下几种:
1、串行端口终端(/dev/ttySn)
串行端口终端(Serial Port Terminal)是使用计算机串行端口连接的终端设备。计算机把每个串行端口都看作是一个字符设备。有段时间这些串行端口设备通常被称为终端设备,因为那时它的最大用途就是用来连接终端。这些串行端口所对应的设备名称是/dev/tts/0(或/dev/ttyS0), /dev/tts/1(或/dev/ttyS1)等,设备号分别是(4,0), (4,1)等,分别对应于DOS系统下的COM1、COM2等。若要向一个端口发送数据,可以在命令行上把标准输出重定向到这些特殊文件名上即可。例如,在命令行提示符下键入:echo
test > /dev/ttyS1会把单词”test”发送到连接在ttyS1(COM2)端口的设备上。
2、伪终端(/dev/pty/)
伪终端(Pseudo Terminal)是成对的逻辑终端设备(即master和slave设备, 对master的操作会反映到slave上)。
例如/dev/ptyp3和/dev/ttyp3(或者在设备文件系统中分别是/dev/pty /m3和 /dev/pty/s3)。它们与实际物理设备并不直接相关。如果一个程序把ptyp3(master设备)看作是一个串行端口设备,则它对该端口的读/ 写操作会反映在该逻辑终端设备对应的另一个ttyp3(slave设备)上面。而ttyp3则是另一个程序用于读写操作的逻辑设备。telnet主机A就是通过“伪终端”与主机A的登录程序进行通信。
3、控制终端(/dev/tty)
如果当前进程有控制终端(Controlling Terminal)的话,那么/dev/tty就是当前进程的控制终端的设备特殊文件。可以使用命令”ps –ax”来查看进程与哪个控制终端相连。对于你登录的shell,/dev/tty就是你使用的终端,设备号是(5,0)。使用命令”tty”可以查看它具体对应哪个实际终端设备。/dev/tty有些类似于到实际所使用终端设备的一个联接。
4、控制台终端(/dev/ttyn, /dev/console)
在Linux 系统中,计算机显示器通常被称为控制台终端 (Console)。它仿真了类型为Linux的一种终端(TERM=Linux),并且有一些设备特殊文件与之相关联:tty0、tty1、tty2 等。当你在控制台上登录时,使用的是tty1。使用Alt+[F1—F6]组合键时,我们就可以切换到tty2、tty3等上面去。tty1–tty6等称为虚拟终端,而tty0则是当前所使用虚拟终端的一个别名,系统所产生的信息会发送到该终端上(这时也叫控制台终端)。因此不管当前正在使用哪个虚拟终端,系统信息都会发送到控制台终端上。/dev/console即控制台,是与操作系统交互的设备,系统将一些信息直接输出到控制台上。目前只有在单用户模式下,才允许用户登录控制台。
5 虚拟终端(/dev/pts/n)
在Xwindows模式下的伪终端.如我在Kubuntu下用konsole,就是用的虚拟终端,用tty命令可看到/dev/pts/1。
6 其它类型
Linux系统中还针对很多不同的字符设备存在有很多其它种类的终端设备特殊文件。例如针对ISDN设备的/dev/ttyIn终端设备等。这里不再赘述。
tty设备包括虚拟控制台,串口以及伪终端设备。
/dev/tty代表当前tty设备,在当前的终端中输入 echo “hello” > /dev/tty ,都会直接显示在当前的终端中。
分享到:
相关推荐
目录网盘文件永久链接 ...05-kvm虚拟硬盘热添加和扩容.mp4 06-kvm热添加网卡、内存、cpu.mp4 kvm-day3 01-kvm热迁移.mp4 02-exsi到kvm的虚拟机迁移.mp4 03-云计算简介.mp4 04-openstack的介绍.mp4
用于virsh的CD-ROM实用程序(安装,卸载等) 特征 卸载ISO 挂载ISO 自动更改启动顺序 用法 sh virsh-cdrom.sh mount GUEST_NAME ISO_NAME sh virsh-cdrom.sh unmount GUEST_NAME 例子 sh virsh-cdrom.sh mount ...
│ │ 05-kvm虚拟硬盘热添加和扩容.mp4 │ └ 06-kvm热添加网卡、内存、cpu.mp4 └ kvm-day3 │ 01-kvm热迁移.mp4 │ 02-exsi到kvm的虚拟机迁移.mp4 │ 03-云计算简介.mp4 └ 04-openstack的介绍.mp4
主要给大家介绍了在kvm中如何使用console命令记录的方法,文中通过图文介绍的很详细,相信对大家的理解和学习具有一定的参考借鉴价值,有需要的朋友们可以参考借鉴,下面感兴趣的朋友们一起来学习学习吧。
Linux virsh KVM虚机扩容硬盘
virsh命令管理虚拟机 一、创建虚拟机 二、代码分析 三、启动虚拟机 四、迁移虚拟机 五、其它操作 六、 KVM之虚拟机快照的使用和管理
3.1: KVM构建及管理 、 virsh控制工具 、 镜像管理 、 虚拟机快建技术(1).docx
使用 cloud-config 使用 virsh 在本地 KVM 中快速启动 Ubuntu 或 FC20 Cloud 实例。 要求: 制作 获取 cloud-utils (cloud-localds) qemu/kvm libvirt (virsh) virtinst(虚拟安装) 用法: # Define cloud-...
Linux运维-运维课程-kvm虚拟化部署实践(下)-10通过virt-manager及virsh命令创建网
本文档为kvm的基础使用命令,适合初学kvm的新手。有需要的同学看下载阅读学习。如有侵权,请联系我删除,谢谢
用命令行管理KVM虚拟机 一、virsh/qemu-img命令 二、KVM 虚拟机安装 三、qemu-img命令详解 四、virsh命令补充 五、qemu-kvm命令行参数
kvm性能优化方案
这是virsh官方给出的操作手册,内容非常详实,非常适合初学者阅读。只不过是英文的内容。
kvm创建 kvm管理命令 管理工具 强制关闭虚拟机: virsh destroy vmhost 创建快照:virsh snapshot-create-as xuegod63-kvm2 httpd (httpd是快照名字) 查看快照位置:ll -h /var/lib/libvirt/qemu/snapshot/xuegod63...
这个文件里定义了串口终端的数据,生成新的grub.cfg文件后。重启机器,就可以在控制台输入virsh console domainName连接了
命令行管理kvm
上课整理自用
介绍此前一直用Virtualbox操作虚机的东西,对于个人搭建环境还是显的有些笨重,不能实现Iac的目标,故尝试了Vagrant和Libvirt,综合考虑我选择
libvirt(virsh命令总结).docx