If you have an application that needs very high service levels for availability (99.999%), 24/7/365, including maintenance and patching, then OS Clustering with shared storage is a proven solution. However it can be very complex to set up and maintain Fibre-channel, iSCSI or direct attached shared SCSI solutions. In some cases complex configurations are required not just in the hardware, but also the Operating System of the Guests. If you add in virtualization to the mix, the complexity level can increase more, with the need for physical mode raw device maps. Ironically, increased complexity can decrease overall availability, especially with an increase in the probability of human error. So how do we increase availability, decrease complexity, and provide a simple solution for OS Clustering with shared storage?
Nutanix AOS 5.17 with AHV has the answer. Nutanix AHV allows shared storage for Guest OS Clustering without any complex back end storage support or configuration, unlike other hypervisors from leading vendors, which still require Fibre-channel storage if you wish to use virtual disks. From Nutanix AOS 5.17 onwards you are able to configure a shared volume group and directly attach it to 2 or more VM’s and set up Guest Clustering without any complex in guest OS storage configuration at all. There is no complex storage back end, as that is all provided automatically by Nutanix AOS, and no in guest storage configuration, that might ordinarily be required if using iSCSI. This makes the use of Guest Clustering incredibly simple, as well as being very easy to automate, and significantly less difficult to support and troubleshoot.
The process for creating a Guest OS Cluster has 3 main steps:
- Create 2 or more VM’s with the OS of your choice
- Create a Volume Group with the number and size of virtual disks that you want for your clustered applications and attach it to the VM’s
- Configure the clustering software inside of your chosen OS and deploy the applications
Here is an example of how the Volume Group might look in the storage section of Prism for AHV:
While it’s possible to have up to 256 vDisks or Volumes within a Volume Group it is recommended to have 32 or less. If you need more Volumes you can create more Volume Groups. Note: There is no storage adapter or storage type decisions to be made, just how many disks do you want and what size, that’s it!
When you attach a Volume Group to VM’s they will be listed in the Volume Group page within the Storage section of Nutanix Prism Element as follows:
If you wish to have a mixed virtual + physical cluster you can choose to enable external client access to the Volume Group. Any physical / external clients can then use iSCSI Initiator to connect to the clusters Target Data Services IP (DSIP) and mount the volumes. External access might be useful during a datacenter migration project.
In the example above I created a 4 node Virtual Windows 2016 Cluster, which will host SQL Server 2016 as the primary application. The VM’s are listed below, along with an AD Domain Controller:
After the Failover Cluster Manager components and tools are installed you can configure the Failover Cluster. Note: As part of the cluster creation, a verification wizard is executed to ensure compliance with the strict rules needed to form a cluster, including shared storage tests for SCSI fencing and persistent reservations. The nodes in this case were displayed as follows within Failover Cluster Manager:
The next step is to install SQL Server on the cluster nodes and assign all the necessary dependent resources, which would look like the following:
I installed a second SQL Server instance in the same Failover Cluster so I could do comparisons between different configurations. You can see that in the image below:
After I created the cluster I did a series of tests including using tools such as HammerDB and Benchmark Factory for Databases. During the tests I performed live migrations to ensure the cluster didn’t blink in spite of the load, and it worked flawlessly. Note: No special tuning was done on the cluster, no change the Same Subnet Delay or Cross Subnet delay of the cluster, all settings remained at defaults.
The cluster example in this article with Windows 2016 and SQL Server 2016 was created just by following the standard Microsoft Documentation and directly attaching a Nutanix Volume Group on AHV directly to the 4 Windows VM’s that would form the cluster. That’s it, no special tuning or complexity needed. No command line needed. Just select the VM’s and attach them to the volume group and set up the cluster.
The following are no longer needed when setting up a Failover Cluster:
No iSCSI initiator or target configurations (unless using external physical clients as part of the failover cluster)
No networking and fibre channel configurations for masking or zoning
No persistent reservations settings
No multi-pathing software
No multiple storage fabrics
No special virtual machine storage adapter configurations
No modifications to Same Subnet Delay or Cross Subnet Delay in the Windows OS
That is the usual stuff that comes with failover clusters, even before we get to virtualization. If you include traditional VMware virtualization you need all of that and physical mode RDM’s, or complex guest iSCSI configurations. This is unless you are on ESXi 7.0, in which case you can use virtual disks attached to the VM’s, but only if you have fibre channel back end with all of the problems that comes with that (including multi-pathing configurations).
If you would like to compare the configuration of a failover cluster with VMware please review the VMware guide for ESXi 6.0 (37 pages) – https://docs.vmware.com/en/VMware-vSphere/6.0/vsphere-esxi-vcenter-server-601-setup-mscs.pdf and the VMware KB https://kb.vmware.com/s/article/2147661. For ESXi 7.0 you can refer to this document (39 pages) – https://docs.vmware.com/en/VMware-vSphere/7.0/vsphere-esxi-vcenter-server-70-setup-wsfc.pdf.
Nutanix AOS 5.17 and Nutanix AHV Hypervisor makes creating guest clusters simple, quick and supports both Linux and Windows Guest OS types. You can now configure your fav clustering solutions without the traditional complexity, and it’s way easier to automate. This significantly reduces the risk of human error causing downtime. A Nutanix AHV cluster supports any number of virtual cluster nodes supported by the OS vendors, up to 32, 64 or more, there is no fixed limit (unlike other virtual solutions that may restrict you to just 5 virtual failover cluster nodes).
The next step in the evolution of this will be when AHV supports Metro Availability / Metro Cluster across sites, along with volumes, which will allow for geo distributed guest clusters with greatly reduced complexity compared to the traditional implementations.
This post first appeared on the Long White Virtual Clouds blog at longwhiteclouds.com. By Michael Webster. Copyright © 2012 – 2020 – IT Solutions 2000 Ltd and Michael Webster. All rights reserved. Not to be reproduced for commercial purposes without written permission.