我有一个带有 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 文件损坏,可能会发生这种情况)。
编辑:我还运行了集群验证报告。除了失败的资源和一些预期的错误,它无法在磁盘在线时测试它们,一切看起来都很好。
如何让这个虚拟机再次运行?
尽管不知道究竟是什么导致了问题,但让 VM 再次运行非常容易:
当我停止集群服务时,VM 立即被其余节点之一接管并自动启动。