KVM冷遷移
🌍環境:kvm5:192.168.178.5 kvm6:192.168.178.6
📜 示例:将kvm6上的vm1冷遷移到kvm5上
kvm5
域名解析:vim /etc/hosts 192.168.178.5 kvm5 192.168.178.6 kvm6 1. 檢視目前虛拟機: [[email protected] ~]# virsh list --all Id 名稱 狀态 ----------------------------------------------------
kvm6
域名解析:vim /etc/hosts 192.168.178.5 kvm5 192.168.178.6 kvm 1. 檢視目前虛拟機: [[email protected] ~]# virsh list --all Id 名稱 狀态 ---------------------------------------------------- - vm1 關閉 2. 為了驗證效果,登入vm1虛拟機中,建立檔案: [[email protected] ~]# virsh start vm1 域 vm1 已開始 [[email protected] ~]# virsh list --all Id 名稱 狀态 ---------------------------------------------------- 3 vm1 running [[email protected] ~]# mkdir test [[email protected] ~]# touch test/{1..5}.txt [roo[email protected] ~]# ls test/ 1.txt 2.txt 3.txt 4.txt 5.txt 3. 關閉vm1,準備冷遷移: [[email protected] ~]# virsh shutdown vm1 域 vm1 被關閉 4. 檢視虛拟機的磁盤鏡像路徑: [[email protected] ~]# virsh domblklist vm1 目标 源 ------------------------------------------------ vda /var/lib/libvirt/images/vm1.img #路徑 hda - 5. 冷遷移(拷貝鏡像磁盤.img與配置檔案.xml): [[email protected] ~]# scp -r /var/lib/libvirt/images/vm1.img kvm5:/var/lib/libvirt/images/ [[email protected] ~]# scp -r /etc/libvirt/qemu/vm1.xml kvm5:/etc/libvirt/qemu/
kvm5
1. 配置生效: [[email protected] ~]# virsh define /etc/libvirt/qemu/vm1.xml 定義域 vm1(從 /etc/libvirt/qemu/vm1.xml) 2. 開啟vm1 [[email protected] ~]# virsh start vm1 域 vm1 已開始 3. 登入vm1檢視之前建立的檔案: ls test 4. 冷遷移完成
KVM熱遷移
🌍環境:kvm5:192.168.178.5 kvm6:192.168.178.6
📜 示例:将kvm6上的vm2熱遷移到kvm5上
kvm5
1. 建立資源池: [[email protected] ~]# virsh pool-define-as vmdisk --type dir--target /data/vmfs #vmdisk資源池名 --type目錄 /data/vmfs資源池目錄 定義池 vmdisk 2. 建構池: [[email protected] ~]# virsh pool-build vmdisk 建構池 vmdisk 3. 啟動池: [[email protected] ~]# virsh pool-start vmdisk 池 vmdisk 已啟動 4. 自啟: [[email protected] ~]# virsh pool-autostart vmdisk 池 vmdisk 标記為自動啟動 [[email protected] ~]# virsh pool-list 名稱 狀态 自動開始 ------------------------------------------- default 活動 是 vmdisk 活動 是 5. 檢視虛拟機: [[email protected] ~]# virsh list --all Id 名稱 狀态 ----------------------------------------------------
kvm6
[[email protected] KVM]# virsh pool-define-as vmdisk --type dir --target /data/vmfs 定義池 vmdisk [[email protected] KVM]# virsh pool-build vmdisk 建構池 vmdisk [[email protected] KVM]# virsh pool-start vmdisk 池 vmdisk 已啟動 [[email protected] KVM]# virsh pool-autostart vmdisk 池 vmdisk 标記為自動啟動 [[email protected] KVM]# virsh pool-list 名稱 狀态 自動開始 ------------------------------------------- default 活動 是 vmdisk 活動 是 #================================================================ 1. 建立新的虛拟機VM2,拷貝配置檔案與存儲檔案 [[email protected] qemu]# cp -rm /etc/libvirt/qemu/VM1.xml /etc/libvirt/qemu/VM2.xml [[email protected] ~]# cp -r /var/lib/libvirt/images/VM1.qcow2 /data/vmfs/VM2.qcow2 2. 修改VM2.xml配置檔案:vim /etc/libvirt/qemu/VM2.xml #找到進行修改 <name>VM2</name> #名字要修改不同 <uuid>d82fa31b-e754-420f-b326-42ae0b90c491</uuid> #uuid也要修改不同,随便修改一位 <memory unit='KiB'>1048576</memory> #記憶體大小可改 <currentMemory unit='KiB'>1048576</currentMemory> #目前記憶體大小,必須與上面一樣 <source file='/data/vmfs/vm2.qcow2'/> #修改磁盤鏡像路徑 <mac address='52:54:00:76:e9:3f'/> #Mac位址修改 隻能修改後三段 76:e5:3f 3.建立虛拟機,配置生效: [[email protected] ~]# virsh define /etc/libvirt/qemu/vm2.xml 4. 檢視虛拟機: [[email protected] KVM]# virsh list --all Id 名稱 狀态 ---------------------------------------------------- 3 vm1 running 4 vm2 running #=============================================================== 1. 拷貝鏡像檔案:scp -r /data/vmfs/vm2.qcow2 kvm5:/data/vmfs/ 2. 進行遷移: [[email protected] KVM]# virsh migrate vm2 qemu+ssh://192.168.178.5/system --live --unsafe --verbose [email protected]'s password: 遷移: [100 %]
kvm5
檢視虛拟機狀态: [[email protected] ~]# virsh list Id 名稱 狀态 ---------------------------------------------------- 9 vm2 running 熱遷移成功