Microsoft Hyper-V uses Windows Server Failover Clustering to implement high availability of virtual machines. The...
VMs that are made highly available in a Hyper-V cluster are known as cluster resources. The VM resources operate the same as other cluster resources, such as a file share resource. Any cluster resource that wants to participate in cluster events should have its own resource DLL. The resource DLL provides the functions that can be executed by the Resource Host Subsystem (RHS), implemented as part of Microsoft Cluster Service (MSCS), to achieve the high availability of cluster resources. For example, before executing a failover, RHS needs to know the function available to bring the resources online on the destination nodes. Similarly, Hyper-V implements a resource DLL called VMCLUSRES.DLLthat is used by MSCS to interact with VM resources running in a failover cluster.
VMCLUSRES.DLL is installed when you enable the Hyper-V role and it sits between Resource Host Subsystem and the VM. The availability of VM is tracked by the cluster service by executing the VM IsAlive function. By default, the VM IsAlive function is executed every five seconds to confirm the status of the VM to determine if it needs to be failed over. When MSCS needs to know the status of a VM running in a failover cluster (and whether it should perform a failover) the service takes the following steps:
MSCS reads the VM's properties to determine the VM IsAlive interval. Once the VM IsAlive interval expires, MSCS uses RHS to get the status of the VM. VMCLUSRES.DLL receives the request and executes the VM Status function. The resource DLL then retrieves the status of all VMs and reports them to RHS. RHS forwards the status of the VMs to MSCS. If a VM is reported as "online," no action is taken. However, is a VM is reported as "failed," Failover Cluster Manager restarts the VM on another node in the cluster.
While VMCLUSRES.DLL provides cluster service interaction with VMs, it also serves as a proxy between the MSCS and the Hyper-V Manager console. Note that if Hyper-V resource DLL is missing or corrupted, VMs running in a failover cluster will not be protected.
When and when not to use failover clustering
The importance of the coordinator node in a failover cluster
Dig Deeper on Disaster recovery, failover and high availability for virtual servers
Related Q&A from Nirmal Sharma
Download and install Microsoft Virtual Machine Converter to gain access to several PowerShell commands that enable VMware VMDK to Hyper-V VHDX ... Continue Reading
Save time by using PowerShell commands to reconnect your VMs to a new Hyper-V virtual switch. Different commands can access single VMs or many VMs ... Continue Reading
Take advantage of PowerShell commands to clear ISO files from your VMs before booting and ensure their configuration is set to boot from the virtual ... Continue Reading
Have a question for an expert?
Please add a title for your question
Get answers from a TechTarget expert on whatever's puzzling you.