我们目前正在一个超负荷的 Drobo 单元上运行我们的 XenServer 虚拟机,并希望将一个特定的 600+GB VM 从 Drobo 迁移到较新的 Drobo,因此我在新的 Drobo 上附加了一个存储库并使用了 XenServer 的“移动”功能。几个小时后我再次检查发现“错误 - 连接已重置”。现在两个磁盘的数据都不完整,无法工作。有没有办法通过某种块级同步来恢复这些数据?
答案1
我在移动虚拟机时也遇到了类似的事情。
我所做的如下:
尝试复制虚拟机(而不是移动)(即使它没有启动也没关系)
如果复制成功,请尝试启动虚拟机。如果不行,请尝试分离并重新连接虚拟驱动器。
如果仍然不起作用,您应该查看是否有虚拟机的快照。
对我来说有效的是将 vdi 附加到从一个快照创建的 VM。
在尝试再次移动/复制之前,请确保您的网络正常运行,您可以尝试在服务器之间手动移动大文件(使用 sftp 或 rsync)。有时大文件会出现问题。大多数情况下是电缆或交换机有故障。
我希望您能够恢复您的虚拟机!
答案2
经过一段时间的研究后,我们为我们的内部 wiki 写了这篇文章:
表明这是一个问题的迹象:
单击驱动器属性将显示它已连接到控制域,当此驱动器连接时,虚拟机将无法启动。首先,我们要查看是否正在运行涉及此 VDI 的任何任务,我们不想在任务运行时对其执行任何操作。为了做到这一点:
通过 SSH 或控制台视图进入池主 xe 任务列表,查找与该名称相关的任何内容。(您可以 | grep “UUID 或名称”)如果没有返回任何内容,则我们需要拔下并销毁 dom0 的 VBD。VBD 是 VDI 与 VM 或控制域之间的连接。销毁它不会损坏数据。
通过 SSH 或控制台连接到 Pool master list_domains xe vdi-list 找到相关磁盘 复制此磁盘的 UUID 通过运行“vbd-list vdi-uuid=”找到 vbd UUID 控制域和它所连接的 VM 都会有一个 VBD。复制控制域的 VBD 的 UUID 拔下 VBD:xe vbd-unplug uuid= 销毁 VBD:xe vbd-destroy uuid=