Some months ago I showed how to configure highly available Platform Services Controller (PSC). After publishing the mentioned procedure for PSC HA, I received some emails to show how to install highly available vCenter. I have to admin that I had tried to cluster vCenter using Windows Server Failover Clustering (WSFC) with no success until I found out that VMware updated a supported vCenter Server high availability options. Now I know the root of failed attempts 🙂 Clustering of vCenter is supported only when you use an external vCenter database (I used embedded database 🙁 ) and external Platform Services Controller. So you can only cluster the management component of vCenter as shown on the below figure:
The highly available vCenter components should be as follows:
- At least two external Platform Services Controllers + load balancer.
- External clustered database server based on Microsoft SQL Server.
- Clustered vCenter Server.
So at least six VMs 😉
VMware vCenter on WSFC prerequisites
There are some prerequisites to install vCenter 5.5 or 6.x on Windows Server Failover Clustering as follows:
- One Virtual Machine with Windows 2008 SP2 or Windows 2012 R2 Datacenter installed.
- Two raw device mapping (RDM) disks (independent and persistent).
- vCenter 5.5 U2 or later. Some months ago VMware supported 5.5 U3 or later...
- Four IP Addresses and hostnames (two vCenter Nodes, Cluster IP, Clustered Application - vCenter IP).
Also you need to:
- Deploy and configure an External Platform Services standalone or highly available.
- Prepare a database for vCenter Server on external Microsoft SQL Server machine.
Configuring VMware vCenter HA on Windows Server Failover Clustering (WSFC)
To cluster vCenter Server (the below example is based on version 6.0) on Windows Failover Clustering (WSFC), please follow the below steps:
- Power on a VM. Add two raw device mapping (RDM) VMDKs to the VM: The first disk (small, as a quorum), the second disk is used for vCenter Server installation. RDMs should be added to dedicated SCSI controller (Physical Mode).
- Bring online and format the two RDM disks, assign them drive letters, and convert them to MBR.
- Install vCenter Server on one of RDM disk using External Platform Services Controller and external database:
- Install .net and failover clustering features.
- Set the vCenter Server services start option from Automatic to Manual.
- Detach the RDM disks but do not delete disks/file.
- Clone the VM and select the Customize the operating system option, so that the clone has a unique identity. You can reset SID and change host/IP address manually as well. My cloned VM hostname is vc-node2.
- Attach the shared RDM VMDK disks to both VMs. Power on both VMs.
Change the host name and IP on the first VM. Preserve the original host name and IP for creating the cluster role. I changed from vc-cluster to vc-node1 name.
- Create a WSFC cluster on the first VM by including both nodes in the cluster and follow the steps of Create Cluster Wizard. Features-->Failover Cluster Manager-->Create a cluster.
Create a cluster role or service - Server Manager-->Features-->Failover Cluster Manager-->New Cluster-->Configure a Service or Application-->Generic Service and follow steps of High Availability Wizard. On Client Access Point step, please type the old name of first node (in my case vc-cluster) and the same IP address (recommended). Also select disk with vCenter data.
- One by one, add all vCenter Server services to it.
- Please do some failovers to check whether cluster works properly ;). The vCenter Server is running on vc-node2:
- After failure (you need to wait some minutes), the vCenter Server is running on vc-node1:
As shown in this post, at last there is possibility to build a highly available Windows-Based vCenter Server with RTO ~10min. However still I recommend vCenter Appliance (VCSA) and if it is necessary the migration from Windows-Based vCenter to VCSA - a magic tool is available. 😉