A cluster (or farm) of virtualization host computers is the core component of the private cloud. There are a number of techniques for deploying the all-Microsoft solution (a Hyper-V failover cluster on Windows Server 2008 R2) to achieve a highly available virtualization platform. An automated way to deploy host resources to the cloud is required for doing this task at scale, and for long-term supportability. The faster and easier you can take any server out of the box and start getting production use out of it, the better. Microsoft has substantially streamlined the process of deploying virtualization hosts in highly available clusters.
From the moment a prospective virtualization host or blade server is mounted in a rack, a process begins to provision “the iron” with an operating system and join the resources of the host to the private cloud. This is a repeated process that requires a lot of precision in the case of building and joining failover clusters. For example, presenting Storage Area Network (SAN) disk volumes to multiple nodes in a cluster has to be done exactly the same for each node. Also networking tasks like naming of virtual networks on hosts and assignment of Virtual Local Area Networks (VLANs) to interfaces require a lot of attention to detail.
Microsoft has got cluster deployment down to a few clicks in System Center 2012 Virtual Machine Manager (VMM) — the key is to let VMM do most, if not all, of the work in configuring the servers. In the environment discussed in this article, we started with some Hyper-V hosts that had access to shared storage (over an iSCSI SAN) but were not using clustering. Here are the manual steps that would be performed to present VMM with a production-ready Hyper-V failover cluster, without using VMM to create the cluster:
- Add failover clustering feature to Hyper-V hosts using Server Manager.
- Create cluster quorum (witness) drives and cluster shared volume (CSV) in the SAN.
- Present quorum and CSV drives to hosts, mount the volumes, initialize the disks, and format the drives.
- Create the cluster on the first host using Failover Cluster Manager.
- Add the additional hosts to the cluster.
- Configure cluster quorum settings.
- Add storage (the prospective CSV) to the cluster.
- Enable CSV in the cluster.
- Convert storage to CSV.
Use VMM to deploy a Hyper-V failover cluster
System Center 2012 Virtual Machine Manager makes light work of converting stand-alone Hyper-V virtualization hosts into a highly-available virtualization cluster. Instead of performing some or all of the manual steps listed above, here are the steps to follow in the VMM console to have VMM deploy your cluster for you.
Figure A - Using the VMM Fabric ribbon: (Left) Adding Hyper-V Hosts, (Right) Creating Hyper-V Cluster
- Add Hyper-V hosts to VMM.
- From the Fabric pane, push the Add Resources button in the ribbon.
- Select Hyper-V Hosts and Clusters (left side of Figure A).
- Follow the prompts of the Add Resource Wizard to discover the Hyper-V hosts.
- Still in the Fabric pane of VMM, push the Create button in the ribbon and select Hyper-V Cluster (right side of Figure A).
- On the Create Cluster Wizard, General page, provide a name for the new cluster.
- Locate the Hyper-V hosts to become cluster members in the Available hosts list and push the Add button.
- Enter the cluster IP address and click Next.
- At the Select The Disks You Want To Cluster page, put a tick mark in the CSV column next to the disk that is going to be a cluster shared volume for the cluster, and click Next.
- Review your cluster setup selections and let the wizard complete the cluster deployment. Watch the cluster creation steps in progress in the Jobs pane of VMM (seen in Figure B).
Figure B - System Center 2012 Virtual Machine Manager installing a three-node Hyper-V cluster.
Use VMM to manage Hyper-V failover clusters
Not only should you consider using VMM to create your Hyper-V clusters, but also using VMM as the primary management tool to maintain them. Using the Hyper-V Manager or Failover Cluster Manager consoles for cluster maintenance should be avoided; a goal should be to use VMM (or VMM PowerShell commands) to perform all cluster activities. Figure C shows the Host Cluster tools available on the ribbon in the VMs and Services pane of the VMM console.
Figure C - Cluster tools available in the VMs and Services ribbon
Buttons in the Host Cluster ribbon enable quick access to, and rapid execution of command cluster maintenance tasks:
- Optimize Hosts: Performs an on-demand resource optimization calculation. VMM will check if the host cluster is within desired resource limits, or if further optimization is possible.
- Move to Host Group: Assigns a host or a cluster to a VMM host group. Assignment of hosts and host clusters to clouds in VMM is based on VMM host groups, so even clusters need to be moved into host groups.
- Uncluster: Releases the virtualization hosts from the cluster and destroys the cluster configuration. This command removes the cluster configuration from each node, without impacting individual hosts or VMs.
- Add Cluster Node: Identifies one or more Windows servers as a prospective new cluster node. Installs Hyper-V role and/or failover cluster feature as necessary, then adds node to the cluster.
- Validate Cluster: Launches an immediate validation task against the selected cluster. A link to the cluster validation test results will appear on the Properties | Status page of the cluster.
- Remove: Takes the host cluster out of VMM without impacting the cluster configuration. This command will uninstall the VMM agent from each cluster node.
- Properties: Set cluster reserve (i.e., the number of node failures a cluster can sustain while still supporting all VMs deployed in the cluster), check the validation test status, confirm available storage in the cluster and optionally convert storage to CSV, confirm shared volumes (CSVs) and optionally revert CSVs back to available cluster storage, and confirm and optionally edit virtual networks present in the cluster.