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