KVM客户机添加virsh console虚拟终端支持及原理

来源:网络 责任编辑:栏目编辑 发表时间:2013-07-01 04:43 点击:

最近研究学习Linux虚拟机KVM,母机安装的是CentOS 6.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
  www.2cto.com  
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来接收内核的数据。
  www.2cto.com  
关于终端的基本概念汇总:
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的登录程序进行通信。
  www.2cto.com  
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 等。当你在控制台上登

    相关新闻>>

      发表评论
      请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
      用户名: 验证码:点击我更换图片
      最新评论 更多>>

      推荐热点

      • VMware View 5.0从菜鸟到高手系列 -连接虚拟桌面
      • kvm中的windows使用Vmware的显示驱动
      • VMware Linux使用Xshell登陆
      • 虚拟机安装MAC查看电脑CPU是否支持VT技术
      • VMWare NAT Centos6.2静态ip设置
      • vmware虚拟机浅析-虚拟网卡
      • VirtualBox打开虚拟硬盘失败的问题
      • Virtual Box下同时配置host-only和bridge
      • 给虚拟机提速的方法

      快速直达

      操作系统导航

      LinuxWindows虚拟机
      网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
      Copyright © 2008-2015 计算机技术学习交流网. 版权所有

      豫ICP备11007008号-1