N種訪問KVM虛擬機(jī)的方法
訪問一臺kvm管理的linux虛擬機(jī)有很多方法暴构,如ssh,telnet,web,virt-manager,virt-viewer,virsh等跪呈。我個人喜歡把他們分成兩類:一.遠(yuǎn)程管理(你也可以理解為帶內(nèi)):需要虛擬機(jī)系統(tǒng)的IP以及相關(guān)服務(wù)都運行正常才能實現(xiàn),如ssh,telnet,web等取逾;二.console管理(帶外):常用于虛擬機(jī)初始化配置和故障調(diào)試等場景耗绿,如virt-manager,virt-viewer,virsh。本文介紹的是后三種方法砾隅。
以下操作都是在下表環(huán)境中執(zhí)行的
主機(jī)OS | 虛擬機(jī)OS | 虛擬機(jī)name | Hypervisor |
---|---|---|---|
Centos6.6 | Centos6.5 | Guest1 | KVM |
1. virt-manager
一般是默認(rèn)的圖形界面管理工具误阻,可以創(chuàng)建、刪除和配置VM
安裝virt-manager:
yum groupinstall "Virtualization Client"
or
yum install virt-manager
啟動virt-manager:
virt-manager &
-
通過virt-manager圖形界面來管理控制VM
virt-manager
2. virt-viewer
此圖形界面管理工具沒virt-manager功能強大晴埂,無法clone和migrate虛擬機(jī)究反。具體用法可通過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
3. virsh console
virsh能管理kvm和虛擬機(jī)儒洛,基于libvirt API構(gòu)建的精耐,是libvirt-client包的一部分。甚至能替代qemu-kvm和virt-manager琅锻,可以以root身份運行所有virsh命令卦停,也可以讓非特權(quán)的普通用戶以只讀模式運行virsh.而virsh console可以通過虛擬機(jī)的串口來進(jìn)入其控制臺,就如同你用串口來管理我們的物理交換機(jī)一樣浅浮。
安裝virsh
yum groupinstall "Virtualization Platform"
or
yum install libvirt-client
-
確保虛擬機(jī)中有添加串口
Serial 1 通過virt-manager進(jìn)入虛擬機(jī)配置ttyS0服務(wù)
附:linux中的串口1在系統(tǒng)中顯示為ttyS0沫浆,就相當(dāng)于windows中的com1
創(chuàng)建/etc/init/ttyS0.conf文件,并添加以下內(nèi)容:
stop on runlevel[016] start on runlevel[345] respawn instance /dev/ttyS0 exec /sbin/mingetty /dev/ttyS0
-
配置虛擬機(jī)OS的grub滚秩,使虛擬機(jī)啟動kernel時就啟動其串口服務(wù)专执。
vi /etc/grub.conf
添加如下內(nèi)容:
console=/dev/ttyS0,115200
添加后的文件內(nèi)容如下:
/etc/grub.conf 編輯文件/etc/securetty使root能從串口登陸,添加如下內(nèi)容:
ttyS0
手動啟動/關(guān)閉虛擬機(jī)OS的串口服務(wù)
initctl start ttyS0
initctl stop ttyS0
-
啟動了虛擬機(jī)OS的串口服務(wù)后,就可以在主機(jī)OS中通過命令virsh console來訪問虛擬機(jī)了
virsh console Guest1
看到提示符后按回車就可進(jìn)入到虛擬機(jī)Guest1
virsh console