移动大型Xen虚拟机

我有一个4个XenServer 6.2服务器的集群,以及一个独立的XenServer,这个客户有一个非常可疑(意味着硬盘热插拔导致它中断)的SAN(Drobo B1200i)。 我们正在build设一个全新的XenServer,并将QNAP作为主要的SR,并在邻接的机架上安装本地连接的存储设备。 我一直在考虑这个数据迁移的最好方法,大多数应该很容易使用Xackup池到池转移工具,但是有2个非常大的磁盘。 其中之一是我们的共享Web服务器,这个服务器大概是700-800 GB,这是在集群上。 另一个是独立XenServer上的客户端Windows Web服务器,该虚拟机大约有400GB,两者的虚拟分配量均为2000GB。

什么是最好的方式去移动这些没有让他们离线了大量的时间? 客户服务器不是从它的硬件,只是SR。

这真的应该是评论yagmoth555的答案,但我还没有代表。

我知道这是旧的,但仍然发布供将来参考。

根据http://wiki.xensource.com/wiki/Disk_import/export_APIs你可以导出和导入快照和当前状态之间的块级差异,所以这个过程是:

  1. 停止VM(简要地)
  2. 创build快照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. closures原来的虚拟机
  7. 导出delta 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. 在新主机上启动机器

假设三angular洲不会太大,停机时间应该是最小的。 一个警告的话:我没有真正尝试过这个。

如果服务器在同一个池中,即使在运行时也可以简单地在SR之间移动VM。 只是用一个30 GB的磁盘(在XenServer 6.5上)做到了这一点。

新服务器应该在同一个池中,因为它们将共享SR和VM。 否则你的SR是独立的,你的VM也是。

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

没有停机时间,这将是很难的,因为你不能容易地移动/复制音量。

我会用可启动的媒体克隆软件(acronis等)来克隆卷,然后我将分离并重新附加新的SR卷以重新转储数据。 (因为这是一种同时从存储备份中删除的方式)

或者在控制台直接你可以直接从xen复制,但是我没有那样testing;

 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"