KVM 虛擬機器冷/熱遷移
阿新 • • 發佈:2020-07-23
-
在進行遷移之前需要準備一臺與KVM01配置相同的機器KVM02,部署好kvm環境。
- 裝置:
192.168.22.136 kvm01 192.168.22.137 kvm02
一、虛擬機器冷遷移
1、在kvm01、 kvm02 中安裝 kvm 元件
[root@kvm01/2 ~]# yum install libvirt* virt-* qemu-kvm* -y
2、配置橋接網路
[root@kvm01/2 ~]# virsh iface-bridge eth0 br0
3、將虛擬機器kvm01關機,匯出配置檔案
[root@kvm01 ~]# virsh dumpxml centos7.0 > centos7.0.xml
4、將虛擬機器配置檔案傳輸到kvm02上
1、傳輸配置檔案 [root@kvm01 ~]# scp -rp centos7.0.xml 192.168.22.137:/root/ 2、傳輸磁碟檔案 [root@kvm01 ~]# scp -rp /var/lib/libvirt/images/centos7.0.qcow2 192.168.22.137:/var/lib/libvirt/images/
5、kvm02中匯入配置檔案
[root@kvm02 ~]# virsh define centos7.0.xml
6、啟動虛擬機器
[root@kvm02 ~]# virsh start centos7.0
7、檢視虛擬機器狀態
[root@kvm02 ~]# virsh list --all Id 名稱 狀態 ---------------------------------------------------- 1 centos7.0 running
至此,完成了一次KVM冷遷移
二、virt-manager 和 kvm 虛擬機器熱遷移
-
實現kvm虛擬機器熱遷移核心:共享儲存,在這裡使用的是NFS共享儲存。
1、NFS(儲存端kvm01)
[root@kvm01 ~]# vim /etc/hosts 192.168.22.136 kvm01 192.168.22.137 kvm02 [root@kvm01 ~]# yum -y install nfs-utils rpcbind #安裝nfs服務 [root@kvm01 ~]# mkdir /data #建立共享資料夾 [root@kvm01 ~]# vim /etc/exports #不壓制root許可權(當client端使用root掛載時,也有root許可權),使該網段共享該資料夾 /data 192.168.22.0/24(rw,sync,no_root_squash) [root@kvm01 ~]# systemctl start nfs-server [root@kvm01 ~]# systemctl enable nfs-server [root@kvm01 ~]# exportfs -v /data 192.168.22.0/24(rw,wdelay,no_root_squash,no_subtree_check,sec=sys,rw,secure,no_root_squash,no_all_squash)
2、nfs 客戶端(kvm02)
[root@kvm02 ~]# vim /etc/hosts 192.168.22.136 kvm01 192.168.22.137 kvm02 [root@kvm02 ~]# yum -y install nfs-utils rpcbind 1. 檢視儲存端共享 [root@client ~]# showmount -e kvm01 #這裡寫ip或主機名均可 Export list for nas: /data 192.168.22.0/24 2. 手動掛載 [root@kvm02 ~]# mount -t nfs kvm01:/data /data [root@kvm02 ~]# umount /data #如果取消掛載可用該命令 3. 自動掛載到網站主目錄 [root@kvm02 ~]# vim /etc/fstab nas:/data /data nfs defaults 0 0 [root@kvm02 ~]# mount -a #如果取消掛載可用該命令 4. 檢視掛載 [root@kvm02 ~]# df kvm01:/data 7923136 692416 6821568 10% /data 注意:遠端掛載考慮到掛載失敗的問題,生產環境建議設定開機啟動掛載 5. 加入開機自啟動 [root@kvm02 ~]# echo 'mount.nfs 192.168.22.136:/data /data' >>/etc/rc.local [root@kvm02 ~]# chmod +x /etc/rc.d/rc.local
3、共享映象配置(儲存端kvm01)
(1)將/var目錄下的源磁碟映象拷貝到共享目錄/data下
[root@kvm02 ~]# cp /var/lib/libvirt/images/centos7.0.qcow2 /data/
(2)用virsh edit將源虛擬機器配置路徑改到/data下
[root@kvm02 ~]# virsh edit centos7.0 改前:<source file='/var/lib/libvirt/images/centos7.0-clone.qcow2'/> 改後:<source file='/data/centos7.0-clone.qcow2'/>
(3)啟動被遷移虛擬機器,用virt-manager工具遷移
[root@kvm02 ~]# virt-manager
4、virt-manager工具進行遷移
(1)ssh方式新增連線(kvm01與kvm02做相同步驟可實現互相遷移,這裡以kvm01新增kvm02為例)
(2)兩次彈框,依次輸入“yes”和對方密碼(這裡以kvm02新增kvm01的情況為例)
(3)啟動要遷移的虛擬機器centos7.0,之後會在kvm01的virt-manager上觀察這臺機器狀態為running,且執行位置為kvm01
(4)選擇centos7.0,右鍵選擇遷移,並且選中高階選項裡的第一項(這裡是後來又換機做了實驗,153應該對應原來的137)
(5)之後觀察kvm02的virt-manager發現,執行的centos7.0遷移到了kvm02上
(6)在kvm02上檢視虛擬機器列表
[root@kvm02 ~]# virsh list --all Id 名稱 狀態 ---------------------------------------------------- 1 centos7.0 running
至此,完成一次熱遷移