冷遷移vs.熱遷移:KVM場景下的最優選擇策略

前言

vm1運行了1臺kvm 虛機,vm2採用nfs掛載vm1共享的虛機磁碟路徑,當我在vm1進行熱遷移後,在vm2啟動發現磁碟損壞,而當我在vm3建立nfs共享磁碟給vm1,vm2掛載後,建立的虛機,在vm1和vm2之間進行遷移是完全不會發生磁碟問題,同樣在冷遷移也是不會發生磁碟問題。

綜合以上,

建議使用專門的nfs等共享儲存伺服器供kvm主機掛載。

前提條件:

  1. vm2…vmn主機需要安裝kvm虛擬化軟體,版本需一致;

  2. 橋接模式需要建立橋接網絡卡,並將eth0橋接到br0;

  3. 掛載路徑必須一致。

冷遷移

缺點:
  • 遷移過程中虛擬機器需要關閉,導致業務中斷(也可以不關機,但是或導致mac地址衝突,會導致短暫業務中斷)。
  • 遷移時間較長,尤其是磁碟檔案較大的虛擬機器。
複製磁碟與虛機xml檔案到對應主機
[root@kafka-1 kvm]# scp /etc/libvirt/qemu/qianyi-bridge-vm.xml kafka-2:/etc/libvirt/qemu/qianyi-bridge-vm.xml[root@kafka-1 kvm]# scp /opt/kvm/vm/qianyi-bridge-vm.qcow2 kafka-2:/opt/kvm/vm/qianyi-bridge-vm.qcow2
定義主機
virsh define /tmp/<vm-name>.xml
啟動主機
virsh list --allvirsh start <vm-name>
測試訪問
 vm1
 可以看到同一個ip解析出來倆mac地址。
關掉kvm1的虛機,只解析出來一個mac地址
 引數解釋
arping VIP -s 源地址為IP 目標ip -c 1 檢視結果,是否解析出來兩個mac地址

熱遷移

 vm3安裝nfs
https://www.cnblogs.com/rtnb/p/15584847.html
vm1,2檢視掛載
[root@kafka-1kvm]# df -hFilesystemSize Used Avail Use% Mounted ondevtmpfs1.9G 0 1.9G 0% /devtmpfs2.0G 0 2.0G 0% /dev/shmtmpfs2.0G 9.2M 2.0G 1% /runtmpfs2.0G 0 2.0G 0% /sys/fs/cgroup/dev/mapper/centos-root56G 5.7G 50G 11% //dev/sda11014M 183M 832M 19% /boot192.168.64.12:/opt/kvm 36G 5.1G 31G 15% /opt/kvmtmpfs392M 8.0K 392M 1% /run/user/0
[root@kafka-2~]# df -h檔案系統容量 已用 可用 已用% 掛載點devtmpfs1.9G 0 1.9G 0% /devtmpfs2.0G 0 2.0G 0% /dev/shmtmpfs2.0G 9.2M 2.0G 1% /runtmpfs2.0G 0 2.0G 0% /sys/fs/cgroup/dev/mapper/centos-root36G 24G 12G 69% //dev/sda11014M 183M 832M 19% /boot192.168.64.12:/opt/kvm 36G 5.1G 31G 15% /opt/kvmtmpfs392M 4.0K 392M 1% /run/user/0
遷移
# 熱遷移命令,不斷網virsh migrate --live --verbose domain qemu+ssh://192.168.64.11/system --unsafevirsh migrate --live --verbose test2-nat-network-2 qemu+ssh://192.168.64.11/system --unsafe # 遷移virsh migrate --live --verbose test2-nat-network-2 qemu+ssh://192.168.64.14/system --unsafe # 回遷virsh migrate --live --persistent --undefinesource --verbose myvm qemu+ssh://[email protected]/system --unsafe
引數解釋
  –live 線上遷移

  –verbose 啟用詳細模式,遷移過程中會顯示詳細的輸出資訊,瞭解遷移的進度和狀態。

  qemu+ssh://192.168.64.11/system:表示要將虛擬機器遷移到192.168.64.11 的主機上,並使用 SSH 連線進行遷移。system 表示目標連線到 libvirt 的系統例項。

  IP 目標IP,必須和對面做主機名host解析。

  –unsafe 此引數允許在未啟用共享儲存的情況下進行遷移。正常情況下,為確保資料一致性,遷移通常需要源和目標主機之間共享儲存。
–undefinesource  遷移完成在源kvm刪除虛機定義,但不刪除磁碟檔案。
–persistent  目標主機上使虛擬機器定義為永續性,即當目標宿主機重啟,依然生效,不指定只是當前生效,當宿主機重啟,虛機失效。
  注意: 兩邊xml檔案配置裡的磁碟路徑需要指向共享儲存目錄
配置hosts解析
127.0.0.1localhostlocalhost.localdomainlocalhost4localhost4.localdomain4kafka-1::1localhostlocalhost.localdomainlocalhost6localhost6.localdomain6192.168.64.14kafka-1192.168.64.11kafka-2192.168.64.12kafka-3
連結:https://www.cnblogs.com/rtnb/p/18331044
(版權歸原作者所有,侵刪)

相關文章