解决Hyper-V虚拟机集群配置文件和虚拟机状态问题

2012-4-16 13:52:55 来源:网络转载 浏览:338
本文提供了两个帮助改进虚拟环境稳定性的实用技巧。

集群问题一:虚拟机状态不同步

  最近,我困扰于惠普虚拟连接模块(Virtual Connect)固件的一些问题。我曾经长时间地停止公网和私有网络网卡的运行,但是这导致节点自动检测集群中的主机故障问题,从而试图在其他的备用节点上启动运行。

  在某些情况下, Failover Cluster Manager中显示的是虚拟机处于"saving" 或 "starting"的状态。虽然Hyper-V Manager会提示虚拟机处于”saved”或 “running”状态,但是这些信息并没有更新到Failover Cluster Manager中。

  如下的三个技巧可以帮助我们同步虚拟机的状态:

l  在Hyper-V manager中,resume或start 处于saved 状态的虚拟机,然后在Hyper-V manager中手动保存虚拟机。多数情况下,这个操作会使集群显示正确的虚拟机状态。

l  第二种方式比较类似。取代手动启动saved状态的虚拟机,直接在Hyper-V manager中关闭该虚拟机。有些时候,这样就会使得Failover Cluster Manager中的虚拟机状态得到更新。

l  第三种方式相对复杂一些。在一个Microsoft TechNet论坛中建议,使用Sysinternals Process Monitor来定位和发生问题的虚拟机相关的VMWP.exe进程,通过停止该进程使得虚拟机崩溃并在另外一个集群节点上重新启动——重启的同时虚拟机的状态在Failover Cluster Manager中获得更新。这并不是最好的选择,但有些时候这样的方式也是必须的。当然,这个方法中我们也可以选择定位其他的和每个虚拟机的都相关的服务进程。

  (注:我使用Hyper-V manager是因为,Failover Cluster Manager和System Center Virtual Machine Manager在虚拟机处于这种状态下时并不可用。Hyper-V manager是唯一的可以真实显示虚拟机状态的地方。)

集群问题二:遗留的虚拟机配置文件

 在非计划的虚拟机停机后,为了保持虚拟机运行于高效状态,一些手工的清除工作是必须的。

 其中就包括删除位于C:\ProgramData\Microsoft\Windows\Hyper-V\Virtual Machines下的配置文件。这些链接文件把Hyper-V虚拟机指向其可扩展标记语言(XML)配置文件所在的位置。

  在一次有计划或受控的停机中,链接文件在虚拟机成功迁移到另一个节点后被删除。然而,当发生非计划停机时,故障节点的链接文件被遗留。这个遗留的配置文件对于系统的影响其实很小,但是我曾经见到过在把故障虚拟机快速回迁到原先的故障节点时会导致迁移失败。而且,这些遗留文件最大的麻烦还是在于,在日志文件中会不停地提示4096错误。请参看下图1。

  这些错误日志都直接指向了需要删除的那些文件。在这个例子中,请注意硬件的GUID。在本地会有一个链接文件具有和日志中所显示的完全相同的GUID。删除这个虚拟机的遗留链接文件,日志中所出现的错误提示就会消失。

 

  操作时请一定要小心。如果一个运行中的虚拟机对应的链接文件被删除的话,会导致虚拟机故障并崩溃,这样你就必须在集群中重新加入该虚拟机。

  在遗留的虚拟机链接文件被删除后,错误提示信息就不再出现而且虚拟机的故障切换进程会变得更加稳定可靠。

(0)
(0)