尝试向/从 vSphere Virtual Volumes 数据存储迁移硬件版本为 10 或更低版本的虚拟机时,如果虚拟机具有内存快照,则会出现故障。

问题

迁移具有内存快照的版本 10 或更低版本虚拟机时,会出现以下问题:
  • 不支持将具有内存快照的版本 10 或更低版本虚拟机迁移到虚拟数据存储,这会导致出现故障。
  • 可以成功将具有内存快照的版本 10 或更低版本虚拟机从虚拟数据存储迁移到 VMFS 等非虚拟数据存储。如果稍后生成其他快照并尝试将此虚拟机迁移回 vSphere Virtual Volumes 存储,则尝试将会失败。

原因

vSphere Virtual Volumes 存储不要求对虚拟机使用特定硬件版本。通常,您可以将任何硬件版本的虚拟机移至 vSphere Virtual Volumes 存储。但是,如果虚拟机具有内存快照且您计划在虚拟数据存储与非虚拟数据存储之间迁移此虚拟机,请使用硬件版本 11 虚拟机。

硬件版本为 11 或更高版本的非虚拟卷虚拟机使用单独的文件存储各自的内存快照。这种用法与 vSphere Virtual Volumes 存储上的虚拟机一致,该虚拟机中的内存快照作为独立的虚拟卷进行创建,而不是作为 .vmsn 文件的一部分存储在虚拟机主目录中。相比而言,硬件版本为 10 的非虚拟卷虚拟机继续将其内存快照作为 .vmsn 文件的一部分存储在虚拟机主目录中。因此,尝试在虚拟数据存储与非虚拟数据存储之间迁移这些虚拟机时,可能会出现问题或故障。

解决方案

要避免在虚拟数据存储与非虚拟数据存储之间迁移具有内存快照的虚拟机时出现问题,请使用硬件版本 11。迁移具有内存快照的版本 10 或更低版本虚拟机时,请遵循以下准则。
  • 不支持将具有内存快照的版本 10 或更低版本虚拟机迁移到虚拟数据存储。唯一的解决办法是移除所有快照。升级硬件版本不能解决此问题。
  • 可以成功将具有内存快照的版本 10 或更低版本虚拟机从虚拟数据存储迁移到 VMFS 等非虚拟数据存储。但是,迁移可能会使虚拟机处于不一致状态。在虚拟数据存储上生成的快照使用 vmem 对象。在迁移到 VMFS 之后生成的任何内存快照都存储在 .vmsn 文件中。如果稍后尝试将此虚拟机迁移回 vSphere Virtual Volumes 存储,则尝试将会失败。与上一示例相同,移除所有快照可解决此问题。