劉 亞 羅 利 周錫林
(湖南信息職業(yè)技術(shù)學(xué)院,湖南 長(zhǎng)沙 410000)
虛擬機(jī)的遷移技術(shù)為服務(wù)器的虛擬化提供簡(jiǎn)便的方法。目前流行的虛擬化產(chǎn)品VMware,Xen,Hyper-V,KVM 都提供各自的遷移工具[1]。
其中Linux 平臺(tái)上開(kāi)源的虛擬化工具KVM發(fā)展迅速,基于KVM的虛擬機(jī)的遷移特性也日趨完善。本文全面介紹KVM虛擬機(jī)的靜態(tài)遷移技術(shù)。靜態(tài)遷移就是在宿主機(jī)關(guān)機(jī)狀態(tài)下,拷貝虛擬機(jī)的虛擬磁盤(pán)文件與配置文件到目標(biāo)虛擬服務(wù)器上實(shí)現(xiàn)的遷移。本文使用virt-manager、libvirt 基于命令行的qemu-kvm 工具進(jìn)行遷移操作。
在VMware Workstation 15 中安裝兩臺(tái)虛擬機(jī)rhel 7-kvm和centos 7,rhel 7-kvm 作為宿主機(jī),centos 7 為被遷移的主機(jī)。
(1)網(wǎng)絡(luò)配置為nat 模式。
(2)防火墻關(guān)閉:systemctl stop firewalld.service。
(3)系統(tǒng)支持安裝KVM,安裝KVM模塊[2]。
使用如下命令安裝KVM模塊:安裝qemu-kvm :yum install-y qemu-kvm;安裝virt-install: yum install -y virt-install;安裝libvirt:yum install -y libvirt;安裝virt-manager:yum install -y virt-manager;啟動(dòng)libvirt 服務(wù):systemctl start libvirtd.service。安裝和查看KVM模塊:modprobe svm 和lsmod | grep kvm。
(4)使用virt-manager 給宿主機(jī)安裝名字為centos7.0 的虛擬機(jī),鏡像為:CentOS-7-x86_64-DVD-1810.iso。
(1)網(wǎng)絡(luò)配置為nat 模式,使用ifconfig,查看到的IP 地址為:192.168.15.4。
(2)防火墻關(guān)閉:systemctl stop firewalld.service
(3)系統(tǒng)支持安裝KVM,安裝KVM模塊。使用宿主機(jī)的系統(tǒng)支持和安裝KVM模塊方法完成該步驟。
(1)在宿主機(jī)紅帽中關(guān)閉虛擬機(jī)centos7.0,使用virsh list--all 檢查虛擬機(jī)列表,結(jié)果如圖1 所示。
圖1 虛擬機(jī)列表中顯示虛擬機(jī)centos7.0 已關(guān)閉
(2)使用virsh domblklist centos7.0 查看磁盤(pán)列表,結(jié)果如圖2 所示。
圖2 虛擬機(jī)磁盤(pán)列表
(1)使用virsh dumpxml vhostname>vhostname.xml 導(dǎo)出虛擬機(jī)配置文件。vhostname 為虛擬機(jī)名字,這里為centos7.0,vhostname.xml 為導(dǎo)出的配置文件名稱,這里為centos7.0.xml。如圖3 所示。
圖3 導(dǎo)出虛擬機(jī)的配置文件centos7.0.xml 到本地
(2)使用scp centos7.0.xml root@IP/etc/libvirt/qemu/將虛擬機(jī)配置文件拷貝至被遷移服務(wù)器centos 7 相關(guān)位置。這里被遷移服務(wù)器centos 7 的IP 地址為192.168.15.4。具體實(shí)現(xiàn)如圖4所示。
圖4 將虛擬機(jī)配置文件成功拷貝至被遷移服務(wù)器centos 7相關(guān)位置
(3)在被遷移服務(wù)器centos 7 中新建如下磁盤(pán)目錄mkdir-p /date/images,使用scp /var/lib/libvirt/images/pool/kvm.qcow2 root@IP:/date/images,將虛機(jī)磁盤(pán)鏡像拷貝至被遷移服務(wù)器centos 7 相關(guān)位置。具體實(shí)現(xiàn)如圖5 所示。
圖5 將虛機(jī)磁盤(pán)鏡像成功拷貝至被遷移服務(wù)器centos 7相關(guān)位置
(1)使用ll /etc/libvirt/qemu 查看配置文件,如圖6 所示。
圖6 虛擬機(jī)配置文件成功復(fù)制到被遷移的主機(jī)
(2)使用ll /date/images/ -h 查看磁盤(pán)文件,如圖7 所示。
圖7 虛擬機(jī)磁盤(pán)文件成功復(fù)制到被遷移的主機(jī)
使用命令vim /etc/libvirt/qemu/centos7.0.xml,進(jìn)入被遷移主機(jī)的虛擬機(jī)配置文件,修改如圖8 所示的磁盤(pán)文件存放位置。
圖8 修改虛擬機(jī)配置文件中虛機(jī)磁盤(pán)文件存放位置圖
(1)使用virsh define /etc/libvirt/qemu/centos7.0.xm 在被遷移的主機(jī)上定義注冊(cè)虛擬主機(jī),如圖9 所示。
圖9 被遷移主機(jī)定義虛擬機(jī)成功圖
(2)使用virsh list -all 查看被遷移主機(jī)虛擬機(jī)的狀態(tài),如圖10 所示。
圖10 被遷移主機(jī)虛擬機(jī)目前處于關(guān)閉狀態(tài)
(3)使用命令virsh start centos7.0 開(kāi)啟被遷移主機(jī)虛擬機(jī),開(kāi)啟表示遷移成功,如圖11 所示。
圖11 被遷移主機(jī)虛擬機(jī)開(kāi)啟成功
(4)使用virsh list 查看被遷移主機(jī)虛擬機(jī)的狀態(tài),此時(shí)虛擬機(jī)正在與運(yùn)行,如圖12 所示。
圖12 被遷移主機(jī)虛擬機(jī)處于運(yùn)行狀態(tài)
管理紅帽宿主機(jī)中的虛擬機(jī)centos7.0,可以正常操作,無(wú)任何影響,如圖13 所示。
圖13 成功開(kāi)啟紅帽宿主機(jī)中的虛擬機(jī)centos7.0
目前KVM已經(jīng)成為應(yīng)用廣泛的虛擬化技術(shù)之一,本文主要基于KVM 使用virt-manager、libvirt 基于命令行的qemu-kvm工具進(jìn)行虛擬機(jī)的靜態(tài)遷移操作,實(shí)現(xiàn)了快速地把虛擬機(jī)的從一臺(tái)物理機(jī)遷移到另一臺(tái)物理機(jī),該技術(shù)可以很好的應(yīng)用在學(xué)習(xí)和生產(chǎn)生活中在對(duì)服務(wù)可用性要求不嚴(yán)格的場(chǎng)合,在一定程度上拓展了KVM虛擬化的應(yīng)用場(chǎng)景。