如何从 Xen 迁移到 XCP?

如何从 Xen 迁移到 XCP?

我正在运行安装了 Xen 4.1 的 Ubuntu 服务器。所有虚拟机都运行在该服务器上,其中一个或多个虚拟磁盘以 qcow2 格式存储。这些虚拟机由“xl”工具栈管理。一个虚拟机是 HVM 模式下的 Windows,其他虚拟机是 PV 虚拟机。qcow2 文件仅包含根文件系统,没有分区结构。

现在我安装了一台装有 XCP 1.6 的新服务器。有什么办法可以把这些虚拟机迁移到 XCP 吗?提前谢谢。

答案1

只是为了结束这个话题:Lingfeng 的问题的答案已在xen-api 邮件列表上的一个主题。以下是 James Bulpin 的回答:

对于每个虚拟机,一种方法是:

  1. 使用 qcow2raw 将每个 qcow2 文件转换为原始文件 '将这些文件放在某个地方(例如 NFS 导出),以便您可以从 XCP 的 domain0 临时访问它们

  2. 使用 XCP 使用最合适的模板“安装”虚拟机,但实际上不启动虚拟机或完成安装。确保选择的虚拟磁盘大小至少与原始 qcow2 的虚拟大小一样大。设置虚拟 NIC MAC 地址以匹配您的 xl VM。'对于 PV,您需要通过以下方式诱使 XCP 认为您已完成安装

    a. 将 PV-bootloader 更改为 pygrub (xe vm-param-set uuid=PV-bootloader=pygrub)

    b. 使第一个 VBD 可启动(xe vbd-param-set uuid=$(xe vbd-list vm-uuid= userdevice=0 --minimal) bootable=true)

    c. 使虚拟 CD 驱动器(如果存在)不可启动:(xe vbd-param-set uuid=$(xe vbd-list vm-uuid= type=CD --minimal) bootable=false)

  3. 将虚拟机的虚拟磁盘逐个连接到 dom0,我首选的方法是:

    a. 使用“xe vm-disk-list uuid=”查找 VDI 的 UUID,例如查找“Disk 0 VDI”

    b. 运行“/opt/xensource/debug/with-vdi” '这会将 VDI 作为 /dev/$DEVICE 附加到 dom0,并将您带入 shell '退出此 shell 将分离 VDI

  4. 使用 /opt/xensource/libexec/sparse_dd 将原始文件的内容(来自步骤 1)dd 到 VDI。

    a. 例如 /opt/xensource/libexec/sparse_dd -src /mnt/MyVM.img -dest /dev/$DEVICE -size 8589934592 -prezeroed

  5. 退出“with-vdi”shell

我已经在我拥有的 xl PV VM 上尝试过这个并且成功了(我从原始图像而不是 qcow2 开始,因此跳过了步骤 1)。我的测试也不同,因为 root 在 xvda1 上,但是你的情况应该没问题 ' IIRC pygrub 在原始设备上使用 root 是没问题的。

相关内容