強哥技術之路kvm虛擬機器熱遷移
熱遷移描述:
相比KVM虛擬機器冷遷移中需要拷貝虛擬機器虛擬磁碟檔案,kvm虛擬機器熱遷移無需拷貝虛擬磁碟檔案,但是需要遷移到的宿主機之間需要有相同的目錄結構虛擬機器磁碟檔案,也就是共享儲存,本文這部分內容通過nfs來實現,當然也可以採用Glusterfs叢集檔案系統來實現.
熱遷移流程:
在kvm01上掛起虛擬機器vm01,傳送vm的虛擬機器配置檔案和執行時記憶體中的資料到kvm02, 接受完畢,kvm02恢復vm01,熱遷移完成。
架構圖如下:
環境要求:
主機名 | ip | 記憶體 | 網路 |
軟體需求 | 虛擬化 |
kvm01 | 10.0.0.11 | 2G | 建立br0橋接網絡卡 | kvm和nfs | 開啟虛擬化 |
kvm02 | 10.0.0.12 | 2G | 建立br0橋接網絡卡 | kvm和nfs | 開啟虛擬化 |
nfs01 | 10.0.0.31 | 1G | 無 | nfs | 無 |
注意:需要互相做好host解析
操作步驟:
一:在kvm01和kvm02上安裝kvm和nfs,配置橋接網絡卡
yum install libvirt* virt-* qemu-kvm* nfs-utils openssh-askpass -y
systemctl start libvirtd.service
virsh iface-bridge eth0 br0
二:在nfs01上安裝配置nfs
yum install nfs-utils -y
mkdir /data
vim /etc/exports
/data 10.0.0.0/24(rw,async,no_root_squash,no_all_squash)
systemctl restart rpcbind
systemctl restart nfs
三:kvm01和kvm02掛載共享目錄/opt
mount -t nfs 10.0.0.11:/data /opt
四:安裝一臺基於橋接模式的虛擬機器
virt-install --virt-type kvm --os-type=linux --os-variant rhel7 --name --memory 1024 --vcpus 1 --disk /opt/oldboy.qcow2,format=qcow2,size=10 --cdrom /opt/CentOS-7-x86_64-DVD-1708.iso --network bridge=br0 --graphics vnc,listen=0.0.0.0 –noautoconsole
將虛擬機器ip配置為10.0.0.111
五:在kvm01上安裝圖形介面、vnc服務端和virt-manager
yum groups install "GNOME Desktop" -y
yum install tigervnc-server.x86_64 -y
yum install virt-manager -y
六:啟動vnc服務端
vncserver :1 啟動5901埠的vnc服務端
vncserver -kill :1 關閉5901埠的vnc服務端
七:使用vnc連線宿主機,使用virt-manager進行遷移
這時候會提醒輸入密碼,就是之前第6步的時候設定的vnc連線密碼
遷移成功!
在遷移的過程中,使用ping虛擬機器的ip,發現只丟了一個包
至此熱遷移完成!