我有一个带有 2 个节点的 Server 2008R2 Hyper-V 群集。它们在 SAN 上使用 CSV。我使用 SCVMM 来管理它们。我们最近遇到了几次崩溃,导致故障转移,使虚拟机死机并在另一个节点上启动。在大多数情况下,这很正常。在一次电源故障期间,两个节点都无法访问 SAN,导致 CSV 离线。在故障转移群集管理器中将其联机有效,并且大多数虚拟机都启动正常。
但是,有一个虚拟机无法启动。
- 在 SCVMM 中,它显示为丢失。
- 在故障转移群集管理器中,它显示为脱机,并且“SCVMM 主机名配置”资源失败。
- 尝试启动失败的配置资源或将虚拟机移动到另一个节点会导致等待 5 分钟,然后出现错误“错误代码:0x80071714 该组无法接受请求,因为它正在移动到另一个节点”。
除了上述错误之外,故障转移群集或任一节点上的 Windows 事件日志中似乎没有任何最新相关日志。我可以在故障转移群集管理器中看到上周发生故障时出现的“严重事件”中有一些:
- 事件 ID 21502:“SCVMM 主机名配置”无法向虚拟机管理服务注册虚拟机。
- 25 分钟后,事件 ID 1230:集群资源“SCVMM 主机名配置”(资源类型“”,DLL“vmclusres.dll”)崩溃或死锁。资源托管子系统 (RHS) 进程现在将尝试终止,并且资源将被标记为在单独的监视器中运行。
- 这次活动又重复了 3 次,每次间隔 5 分钟。
- 从那时起就没有日志了。
我查看了 SAN 上的文件。所有文件似乎都完好无损。XML 配置文件似乎有效(一些研究表明,如果 XML 文件损坏,可能会发生这种情况)。
编辑:我还运行了集群验证报告。除了资源失败和无法在磁盘在线时对其进行测试的一些预期错误外,一切看起来都很好。
我该如何让该虚拟机再次运行?
答案1
尽管不知道问题的具体原因,但让虚拟机再次运行还是相当容易的:
- 确定问题虚拟机位于哪个节点
- 在 VMM 中将其置于维护模式(或者只是实时迁移该节点上的所有内容)。有问题的 VM 仍将停留在该节点上。
- 停止该节点上的集群服务,然后重新启动它。
当我停止集群服务时,虚拟机立即被剩余节点之一接管并自动启动。