迁移大型 Xen 虚拟机

迁移大型 Xen 虚拟机

我有一个由 4 台 Xenserver 6.2 服务器组成的集群,以及一台独立的 XenServer,供客户使用,它们连接到一个非常可疑的 SAN(Drobo B1200i)(这意味着驱动器热插拔会导致其损坏)。我们正在构建一个全新的 XenServer 池,以 QNAP 作为主 SR,此外在相邻的机架中还有本地连接存储。我一直在考虑进行这种数据移动的最佳方法,大多数情况下使用 Xackup 池到池传输工具应该很容易,但是有 2 个非常大的磁盘。其中一个是我们的共享 Web 服务器,该服务器大约有 700-800 GB,位于集群上。另一个是独立 XenServer 上的客户 Windows Web 服务器,该 VM 大约有 400GB,两者都有 2000GB 的虚拟分配。

移动这些服务器而不让它们长时间离线的最佳方法是什么?客户服务器不会从其硬件移动,只是从 SR 移动。

答案1

这确实应该是对 yagmoth555 的回答的评论,但我还没有得到代表。

我知道这已经过时了,但仍然发布以供将来参考。

根据http://wiki.xensource.com/wiki/Disk_import/export_APIs您可以导出和导入快照和当前状态之间的块级差异,因此过程如下:

  1. 暂时停止虚拟机
  2. 拍摄快照 SNAPUUID=$(xe vm-snapshot vm=$VM_NAME new-name-label=$SNAPSHOT_NAME)
  3. 启动虚拟机
  4. 导出快照(完整) xe vm-export vm=$SNAPUUID filename=$BACKUPFILE
  5. 在其他主机和 SR 上导入快照;GUI(不要启动它)
  6. 关闭原始虚拟机
  7. 出口三角洲 xe vdi-export uuid=$VDI-UUID base=$SNAPUUID filename=delta.vhd format=vhd
  8. 在新主机和 sr 上导入增量 xe vdi-import uuid=$NEW_VDI_UUID filename=delta.vhd format=vhd
  9. 在新主机上启动机器

假设增量不会太大,停机时间应该很短。警告:我还没有真正尝试过这个。

如果服务器位于同一个池中,您可以简单地在 SR 之间移动 VM,即使它正在运行。刚刚使用 30 GB 磁盘(在 XenServer 6.5 上)执行了此操作。

答案2

新服务器应位于同一池中,因为它们将共享 SR 和 VM。否则您的 SR 和 VM 都是独立的。

如果新服务器 CPU 不适合旧服务器,则禁用 HA,并执行池强制加入(在 CLI 中)。(除非您可以使用 MASK)

如果没有停机时间,情况就会很困难,因为您无法轻松移动/复制卷。

我将使用可启动媒体克隆软件(acronis 等)克隆该卷,然后从新的 SR 中分离并重新连接新卷以重新转储数据。(因为这是同时进行存储备份的一种方法)

或者您可以直接在控制台中发出该命令直接从 xen 复制,但我没有以这种方式测试过;

xe vm-list

xe sr-list  (to find uuid of the destination SR)

xe vm-copy vm="server" sr-uuid=xxx-xxxx-xxxx-xxxxxx new-name-label="Copy of server" new-name-description="New Description"

相关内容