故障转移群集之间的无共享迁移错误

故障转移群集之间的无共享迁移错误

我正在尝试编写一个用于在 Hyper-V 故障转移群集之间迁移的系统脚本。

我已经按照文档配置了受限的 Kerberos 委派等,

我是:

  • 从集群 A 中删除虚拟机
  • 在使用域凭据运行的 Powershell 实例中调用 Move-VM,我使用的语法是:

    Move-VM -IncludeStorage -DestinationHost 'clusterB.node1' -name test -DestinationStoragePath 'C:\ClusterStorage\Volume2'
    

这将失败并出现以下错误:

Move-VM : Virtual machine migration operation failed at migration source. 

Security check failed.

Virtual machine migration operation for 'test' failed at migration source

Migration did not succeed. 

User does not have enough rights for 'C:\ClusterStorage\Volume2\test.vhdx'.

该故障似乎与集群共享卷有关。

如果我将 .vhdx 移动到本地系统驱动器,则迁移将使用上面提到的过程进行。

真正令人抓狂的是,如果从 GUI 执行迁移,它也能起作用。

有人知道我哪里做错了吗?我很高兴能忽略一些显而易见的事情。谢谢。

答案1

使用域管理员(企业管理员)执行此操作。此外,您可以尝试在两个集群的每个集群节点上将域管理员添加为本地管理员,然后尝试再次迁移虚拟机,甚至可以在 AD/DC 内将特定用户添加为集群名称/节点所有者。

答案2

这实际上是我的问题:

https://blogs.technet.microsoft.com/askcore/2014/10/01/virtual-machine-checkpoint-fails-with-access-denied-when-running-on-a-clustered-shared-volume/

我的 .vhdx 全部位于 CSV 卷的根目录下。我不太清楚 Move-Vm 在创建检查点\快照以转移磁盘内容时在做什么,但如果 VM 位于 CSV 的根目录下,它根本无法工作。

我如何让这个工作发挥作用是研究这个:

https://docs.microsoft.com/en-us/powershell/module/hyper-v/move-vmstorage?view=win10-ps

...将集群 A 上的内容“本地”移动到其自己的文件夹结构(无需停机)。

我还必须确保我使用的具有约束委派的域帐户对使用上述命令时创建的文件夹树中的“虚拟硬盘”文件夹具有写权限,大概是为了在迁移过程中创建其差异内容......

tl;dr 切勿将任何东西放在集群共享卷的根目录中

相关内容