Migration

如何將 KVM 來賓從主機遷移到另一個?

  • August 10, 2014

我有一個 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對網路上的驅動器進行映像。這是我使用的方法:

  1. 在目標上創建邏輯卷。它應該與源卷的大小相同。
  2. nc -l 1234 | dd of=/dev/<vgname>/<lvname>在目標主機上執行。這告訴netcat偵聽網路埠並將所有內容通過管道傳輸到邏輯卷。
  3. 乾淨地關閉源電腦以將所有內容寫入磁碟。
  4. dd if=/dev/<vgname>/<lvname> | nc <targetip> 1234在源主機上執行。這告訴netcat通過網路將所有內容通過管道傳輸到目標主機。
  5. 去拿杯咖啡。這需要幾分鐘,具體取決於您的捲大小和網路速度。
  6. 將 xml 定義從/etc/libvirt/qemu/源複製到目標。
  7. 編輯 xml 文件的儲存部分和任何其他必要的位,例如網橋名稱(如果它們不同)。
  8. 在目標上重新載入 libvirt 以讀取 xml。一個/etc/init.d/libvirt-bin reload應該做的伎倆(或systemctl restart libvirtd使用 systemd 的發行版)
  9. 在目標主機上啟動機器。

引用自:https://serverfault.com/questions/156502