访问一台kvm管理的linux虚拟机有很多方法,如ssh,telnet,web,virt-manager,virt-viewer,virsh等。我个人喜欢把他们分成两类:一.远程管理(你也可以理解为带内):需要虚拟机系统的IP以及相关服务都运行正常才能实现,如ssh,telnet,web等;二.console管理(带外):常用于虚拟机初始化配置和故障调试等场景,如virt-manager,virt-viewer,virsh。本文介绍的是后三种方法,且着重介绍了virsh console(也许喜欢命令行操作的午饭也会爱上这种方式)。
以下操作都是在下表环境中执行的
主机OS | 虚拟机OS | 虚拟机name | Hypervisor |
---|---|---|---|
Centos6.6 | Centos6.5 | Guest1 | KVM |
一般是默认的图形界面管理工具,可以创建、删除和配置VM
安装virt-manager:
yum groupinstall "Virtualization Client"
or
yum install virt-manager
启动virt-manager:
virt-manager &
通过virt-manager图形界面来管理控制VM
virt-manager
此图形界面管理工具没virt-manager功能强大,无法clone和migrate虚拟机。具体用法可通过
man virt-viewer
或
virt-viewer --help-all
来获取帮助。
安装virt-manager:
yum groupinstall "Virtualization Client"
or
yum install virt-viewer
运行命令virt-viewer
virt-viewer Guest1
通过virt-viewer图形界面来管理控制VM
virt-viewer
virsh能管理kvm和虚拟机,基于libvirt API构建的,是libvirt-client包的一部分。甚至能替代qemu-kvm和virt-manager,可以以root身份运行所有virsh命令,也可以让非特权的普通用户以只读模式运行virsh.而virsh console可以通过虚拟机的串口来进入其控制台,就如同你用串口来管理我们的物理交换机一样。
安装virsh
yum groupinstall "Virtualization Platform"
or
yum install libvirt-client
确保虚拟机中有添加串口
Serial 1
通过virt-manager进入虚拟机配置ttyS0服务
附:linux中的串口1在系统中显示为ttyS0,就相当于windows中的com1
创建/etc/init/ttyS0.conf文件,并添加以下内容:
stop on runlevel[016]
start on runlevel[345]
respawn
instance /dev/ttyS0
exec /sbin/mingetty /dev/ttyS0
配置虚拟机OS的grub,使虚拟机启动kernel时就启动其串口服务。
vi /etc/grub.conf
添加如下内容:
console=/dev/ttyS0,115200
添加后的文件内容如下:
/etc/grub.conf
手动启动/关闭虚拟机OS的串口服务
initctl start ttyS0
initctl stop ttyS0
启动了虚拟机OS的串口服务后,就可以在主机OS中通过命令virsh console来访问虚拟机了
virsh console Guest1
看到提示符后按回车就可进入到虚拟机Guest1
virsh console
本文出自 “向往” 博客,请务必保留此出处http://zhongq.blog.51cto.com/276337/1570801
原文地址:http://zhongq.blog.51cto.com/276337/1570801