Rawpixel - Fotolia
Implementing a highly available virtualization infrastructure is key to make sure your critical business workloads are up and running, and the same can be said for your management infrastructure. System Center Virtual Machine Manager (SCVMM) is not just used to manage virtualization hosts; it plays an important role in managing the private cloud infrastructure and is a key requirement before you can use hybrid cloud features such as Azure Site Recovery. There are several other reasons as to why an SCVMM infrastructure needs to be up and running all the time.
If developers/users need to deploy a VM for testing their applications, they would probably be using the System Center App Controller or a similar tool. Since App Controller requires connectivity to a VMM server before the VM can be provisioned on one of the Hyper-V hosts, it would be necessary to keep the VMM server available to respond to VM deployment requests from users.
Another reason is that since VMM can be integrated with other System Center products such as Operations Manager (SCOM) to monitor VMs and virtualization hosts, it would be necessary to build a highly available SCVMM infrastructure to enable efficient monitoring of virtualization hosts as well as the VMs running on them.
Since SCVMM helps you manage your entire virtualization stack, it certainly becomes necessary to keep the VMM infrastructure available all the time, which, in turn, helps in preserving business continuity.
Windows operating systems have to go through regular patching cycles to ensure they're up to date. Patching Windows OSes is also a standard compliance requirement. Without the high availability of SCVMM, you would have to take down the host to perform required maintenance activities such as patching.. A traditional approach to building a highly available SCVMM server is to install VMM components in a VM that is running in a Hyper-V cluster. However, considering that SCVMM is a core management product for organizations building private and hybrid clouds, these approaches do not work in large deployments.
In addition to other important changes introduced in SCVMM 2012 RD, Microsoft enhanced the SCVMM code to be installed on a Windows Failure cluster for high availability purposes. In case of any failure with one node in the cluster, the SCVMM server will be providing services from another node.
Requirements for building an HA SCVMM server
As usual, there are a few requirements you need to work on before you can install a highly available SCVMM server, as listed below:
- The Failover Cluster feature must be installed on each node before starting the SCVMM installation.
- SQL Server must be up and running.
- A domain account for SCVMM service must be a member of the local administrators group on each cluster node.
- SCVMM Run As accounts are stored in the SCVMM database. Since Run As accounts consist of usernames and passwords, they need to be encrypted. SCVMM provides two ways to encrypt Run As credentials. One of them is to use Distributed Key Management (DKM). SCVMM uses a container created in Active Directory to store encrypted keys. Since a highly available SCVMM installation needs to access encrypted keys from a central computer, you would need to ensure that you have created a DKM container in Active Directory before starting the SCVMM installation.
- All other prerequisites that apply to SCVMM must be met: For example, you must make sure the Windows Automated Installation Kit is installed on all nodes that are going to be part of the failover cluster.
How to deploy an HA SCVMM server
The SCVMM setup program is smart enough to detect if it is going to be installed on a Windows Failover Cluster or on a standalone machine. If you are installing SCVMM on a failover cluster node, you will see this message in Figure 1.
During the installation, you will be asked to supply a variety of configuration information, such as the domain account you created for the SCVMM service, the DKM container you created in Active Directory for storing encrypted keys, the SCVMM port configuration and the database configuration. You will also be asked to enter the cluster name that clients, such as the SCVMM console, will use when accessing the SCVMM high availability instance running in the failover cluster.
Once the first node with SCVMM is installed in the failover cluster, it becomes easy to proceed with the second and subsequent node installations. All you have to do is to log on to the second node and run the SCVMM setup program, then select "add this server as a node" in the failover cluster. There is no need to go through all the configuration pages, such as those for database configuration and port configuration. Also, you won't need to enter the DKM information again, as the SCVMM Setup is smart enough to detect this information from the current SCVMM node operating in the cluster. However, you will need to supply the password of the SCVMM service account you used to install the first node in the failover cluster. This is to ensure it is an authoritative installation.
There are a few things you need to keep in mind before you start building a highly available SCVMM server. You will not be given an option to install the library server during the SCVMM HA build. The setup wizard will grey out the library share configuration page when you're installing SCVMM in a cluster. Also, while most people plan to use the SCVMM failover cluster for hosting both a library share and an SQL database, keep in mind that Microsoft does not support such a configuration and it's also not recommended.
You cannot install another instance of a highly available SCVMM Server in the same Failover Cluster. Even if you implement a Failover cluster, which consists of two or more nodes, there can be only one node active at a time. In other words, only one node running the SCVMM Server component will be active and serving requests.
When using an SCVMM console or a similar tool to connect to SCVMM Server, you will be required to connect to the cluster name in which the SCVMM service is operating.
In case you need to take a cluster node offline for maintenance purposes, you must use the Failover Cluster Manager to perform a planned failover. It is also important to note that before you initiate the planned failover, make sure all running SCVMM jobs are finished on the current node. Any jobs running during the failover will fail.