Migration
如何將 KVM 來賓從主機遷移到另一個?
我有一個 KVM 來賓,我需要從一台主機遷移到另一台主機。遷移不需要熱執行。它的儲存目前由帶有橋接網路適配器的 LVM 塊設備支持。兩台伺服器具有相同的核心、libvirt 版本、qemu 等。最簡單的方法是什麼?
我對此的猜測是:
dd the block devices from server A to server B export the xml VM definition on A, copy it to B edit the xml to refer to the new physical device names create the machine referencing that xml file
你說的對。我已經這樣做了好幾次了。我使用netcat對網路上的驅動器進行映像。這是我使用的方法:
- 在目標上創建邏輯卷。它應該與源卷的大小相同。
nc -l 1234 | dd of=/dev/<vgname>/<lvname>
在目標主機上執行。這告訴netcat偵聽網路埠並將所有內容通過管道傳輸到邏輯卷。- 乾淨地關閉源電腦以將所有內容寫入磁碟。
dd if=/dev/<vgname>/<lvname> | nc <targetip> 1234
在源主機上執行。這告訴netcat通過網路將所有內容通過管道傳輸到目標主機。- 去拿杯咖啡。這需要幾分鐘,具體取決於您的捲大小和網路速度。
- 將 xml 定義從
/etc/libvirt/qemu/
源複製到目標。- 編輯 xml 文件的儲存部分和任何其他必要的位,例如網橋名稱(如果它們不同)。
- 在目標上重新載入 libvirt 以讀取 xml。一個
/etc/init.d/libvirt-bin reload
應該做的伎倆(或systemctl restart libvirtd
使用 systemd 的發行版)- 在目標主機上啟動機器。