How to install and configure highly available (cluster) VMware vCenter on WSFC?

By | August 23, 2015

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:Installing highly available (HA) VMware vCenter on WSFC Overview

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:

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:

  1. 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).installing highly available (HA) VMware vCenter on WSFC 6
  2. Bring online and format the two RDM disks, assign them drive letters, and convert them to MBR.installing highly available (HA) VMware vCenter on WSFC 5
  3. Install vCenter Server on one of RDM disk using External Platform Services Controller and external database:installing highly available (HA) VMware vCenter on WSFC 1installing highly available (HA) VMware vCenter on WSFC 2installing highly available (HA) VMware vCenter on WSFC 3installing highly available (HA) VMware vCenter on WSFC 4
  4. Install .net and failover clustering features.installing highly available (HA) VMware vCenter on WSFC 7
  5. Set the vCenter Server services start option from Automatic to Manual.installing highly available (HA) VMware vCenter on WSFC 13
  6. Detach the RDM disks but do not delete disks/file.installing highly available (HA) VMware vCenter on WSFC 10
  7. 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.installing highly available (HA) VMware vCenter on WSFC 24
  8. Attach the shared RDM VMDK disks to both VMs. Power on both VMs.installing highly available (HA) VMware vCenter on WSFC 14installing highly available (HA) VMware vCenter on WSFC 15
  9. 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.
  10. 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.installing highly available (HA) VMware vCenter on WSFC 16installing highly available (HA) VMware vCenter on WSFC 17
  11. 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.installing highly available (HA) VMware vCenter on WSFC 19installing highly available (HA) VMware vCenter on WSFC 20installing highly available (HA) VMware vCenter on WSFC 21installing highly available (HA) VMware vCenter on WSFC 22
  12. One by one, add all vCenter Server services to it.installing highly available (HA) VMware vCenter on WSFC 23
  13. Please do some failovers to check whether cluster works properly ;). The vCenter Server is running on vc-node2:installing highly available (HA) VMware vCenter on WSFC 11
  14. After failure (you need to wait some minutes), the vCenter Server is running on vc-node1:installing highly available (HA) VMware vCenter on WSFC 12

Conclusion

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. 😉

22 thoughts on “How to install and configure highly available (cluster) VMware vCenter on WSFC?

  1. Jeremie

    Althought I think that this type of clustering increase the availability during os patching, there is a lack on how to update vcenter is this solution.

    Reply
  2. adam

    Can you install vcenter WSFC on two physical Windows servers instead of using virtual machines? If so is there instructions on this?

    Reply
    1. Mariusz Post author

      Hi Adam,

      yes you can. I haven't written instructions as an installation process is similar. You have to present RDM's (LUNs) to vCenter physical nodes.

      btw. also you can create a physical-virtual vCenter cluster.

      Reply
  3. Adam

    WSFC is only officially support on virtual machines not physical servers from VMware which is disappointing. But there is no reason why it wouldn't work on a physical.

    I have reached out to VMware for assistance. We want data centre redundancy so if vcenter goes down it will failover to the over cluster node and continue working.

    Currently if the data centre goes offline so does vcenter which makes it hard to manage the environment. Both the site that's up and the site that's down.

    Reply
    1. Mariusz Post author

      Hi Adam,

      yes, it works as I installed and tested it. Also my customer was using it some weeks until they migrated to VCSA on stretched cluster. Even it is not officially supported, VMware support can help.

      what is distance between data centers? Maybe stretched management vsphere cluster with vCenter running on it is a solution for you.

      Reply
      1. Adam

        Hi,

        Distance is only 10km between the two and they are connected via dark fibre which is about a 22km trip.
        Just got off the phone with VMware and they said the same as you which they will still support us if we need help.

        Did you have any gotcha's during the setup of the vcenter as a clustered solution?

        Reply
        1. Mariusz Post author

          Hi,

          only 22km 🙂
          What you should focus on is dependencies between vCenter services as two of my readers said that they had problems with starting cluster services.

          As I understand you want to provide HA/DR only for your vCenter? Maybe, migrating to VCSA and build vSphere Stretched Cluster (dedicate management cluster) to protect the vCenter?

          Reply
  4. Adam

    Also if you want a cross site vcenter cluster (one node per data centre) the WSFC as a virtual machines doesn't give you high availability as the single point is the disk.

    This is why we want a physical server where the disk array does the replication between the two data centres (GEO cluster). This is how all our SQL Clusters are currently configured.

    Reply
    1. Mariusz Post author

      It is possible to build a cluster of VMs between data centers (one node per DC).

      Reply
      1. Adam

        But what about the storage the virtual machines connect to?

        VM1 - Connects to EMC array 1
        VM2 - Connects to EMC array 2

        When a Windows Cluster failover occurs how is the storage replicated between the two servers

        Reply
        1. Mariusz Post author

          It depends on vendor and model of array. E.g. if you have IBM SVC (stretched cluster) you can show RDMs in both data centers and build MSCS.

          Reply
  5. Erik Bennett

    I've noticed after following this guide and adding hosts, that if I failover a node and reboot a host, it won't come back because it says it's being managed by the other node. I had to remove the host completely and re-add it, and now it shows it's being managed by the B node IP, should it not show being managed by the virtual IP set?

    Reply
    1. Adam

      I would assume that would be the case as well. I will be able to tell you in a few days time.

      Reply
  6. Adam

    so I have finally started to build my vcenter cluster on two physical servers.

    For the vcenter install it asked for the system name. I assume I enter in the cluster node name and not the server name of the physical server?

    Reply
  7. Adam

    So I have installed vcenter on Node A using the cluster name as the virtual node
    Failed over the cluster to the B Node to do the installation on the second node but having the following issue

    "A current version of the vcenter server database has been detected. Would you like to erase the schema and contents of the database".

    So the node A made a connection fine but when adding node b to the same database its not liking it.

    Ideas?

    Reply
    1. Mariusz Post author

      Hi Adam,

      if you followed mentioned steps and this issue happens, I don't have any idea and probably you have to contact support. I haven't faced this issue.

      Reply
  8. Adam

    Sorry buddy two more questions

    1. What do you mean by replication between the two external platform controllers? Do you mean normal active directory replication between domain controllers?
    2. What do you mean by load balancer?

    Reply
    1. Mariusz Post author

      Adam,

      1) PSCs use native replication.
      2) You have to use load balancer e.g. NSX to balance connections between PSCs.

      Reply
  9. Adam

    No luck getting the vcenter app working on two physical servers using Microsoft clustering. Worked with VMware on it for sometime but it isn't a supported solution. Its only supported on virtual machines.

    So looking at further options for a HA solution on vcenter. We need site (data centre) redundancy. Open to ideas??

    Reply
  10. Kasinadh

    Hi All,

    Do the above setup works on the Physical servers in case what type of the disk we need to share between the clustered servers to install vcenter server

    thanks in advance
    regards
    Kasinadh

    Reply
  11. Robert McLean

    I built this and I have to say my RTO has went from between 10 to 30 minutes (depending on which way the wind was blowing) down to 5 minutes for the desktop client and about 7-8 for the web client.

    Now I must figure out how to upgrade to 5.5 U3e and then to 6.x in about 6 months. Do you have any advice on how to upgrade this configuration?

    Reply

Leave a Reply

Your email address will not be published. Required fields are marked *