In spite of virtualization of servers, it's not seldom when I we can meet Microsoft Cluster (MSCS or WSFC) of Virtual Machines (VMs) running on VMware vSphere. This type of clustering is called guest clustering and recently I was thinking what are the reasons to migrate and design such clusters on vSphere. In my opinion, reasons are as follows:
- Legacy applications already clustered - physical servers were converted to clustered VMs.
- vSphere does not provide monitoring for application aware (it used to be supported in vSphere 5.5 but for some applications only and since vSphere 6.0 is not supported).
- Native application protection is based on MSCS/WFSC such as Microsoft Exchange, SQL.
or clustering vCenter (supported since version 5.5 U2) when its installed on Windows machine.
Using VMware HA, we can only protect our VM in case of VM OS or ESXi failure. There are some 3rd solution for application monitoring such as Symantec ApplicationHA but requiring additional license. Despite mentioned limitation, the biggest benefit to run Microsoft Clusters on vSphere is reducing hosts of hardware and software because there is better consolidation (some pairs of VMs can be running on two ESXi hosts).
From version to version of vSphere, VMware adds some improvements and features to vSphere to support MSCS/WSFC better. E.g. vSphere 5.5 introduces Round-Robin support for LUNs or vSphere 6.0 allows vMotion the VMs which have been configured with physical mode RDM (pRDM) in bus sharing mode, without shutdown any of the clustered nodes.
Let's discuss the clustering options available in virtual environments. There are three types of clustering configurations supported on vSphere:
- Clustering Virtual Machines on a Single Host (known as a cluster in a box):There are two clustered virtual machines (nodes) on the same ESXi host. The virtual machines are connected to the same storage (local or Raw Device Mapping (RDM)). Popular configuration in the lab 🙂
- Clustering Virtual Machines Across Physical Hosts (known as a cluster across boxes):There are two clustered virtual machines (nodes) on different ESXi host. The virtual machines are connected to the same storage (RDM). The most popular configuration for Business Critical Applications (BCAs).
- Clustering Physical Machines with Virtual Machines:There are two clustered machines - the first node is a virtual machine on ESXi host and the second node is a physical machine. Both machines are connected to the same storage (RDM). I have configured this type of clustering maybe twice.
There are still some requirements and limitations to run clustered VMs on vSphere such as:
- Storage Protocol.
- Specific version of VM Virtual Hardware (e.g. version 11 is required for VMotion).
- DRS Affinity/Anti-affinity rules.
For more information, please follow two VMware KBs: 1037959 and 1004617 where you can find:
- Supported configurations (requirements and limitations) of Microsoft Clustering on VMware vSphere.
- Links to Failover Clustering and Microsoft Cluster Service setup guides.
- Supported vSphere features on MSCS/WFSC.
MSCS/WFSC and VMware HA together provide a high level protection for Business Critical Applications. VMware still improves the support for Microsoft Clustering Services and in my opinion, it was a good decision to stop supporting Application HA in vSphere 6.0. It's better to work on solutions against corrupt databases or native replication methods for vSphere components such as vCenter.