As your VMware virtualization footprint grows, the higher the visibility of your infrastructure. The higher your visibility, the more you need to have a highly available vCenter Server. The degree to which you want to make it highly available is, of course, up to you. In this article, I will outline the different ways to increase uptime of vCenter Server, as well as pros and cons of each.
Clustering the Database
While this may seem indirect, clustering the database for vCenter Server can make a huge difference in the availability of the service. If you have an existing Microsoft SQL or Oracle RAC cluster, by all means utilize it! Benefits of having a highly available enterprise SQL or Oracle notwithstanding, utilizing existing services for the vCenter Server database is always going to be lower cost and more highly available than installing SQL (Express or not) on a standalone server or on the same machine as vCenter Server.
- If you have an existing clustered Microsoft SQL or Oracle DB platform, there is no additional cost
- Gives the database the highest amount of availability as possible.
- Expensive if you don’t already have a clustered Microsoft SQL or Oracle DB platform
- Maintenance of the system (unless you have a DBA who does this, then it goes in the Pros column)
This is probably the easiest thing you can do to increase the availability of your vCenter Server. Virtualizing vCenter Server on vSphere allows you to take advantage of all of the features available to you with vSphere. Among these, VMware HA is the most important.
VMware High Availability (HA) – Turns a hardware issue into mere minutes of downtime. If a host fails, your vCenter Server will automatically restart on another host in the cluster. Remember, while vCenter Server is required to enable HA, it is not required for it to function properly.
VMware Fault Tolerance (FT) – FT, with vSphere 4.1, is limited to a single vCPU. This puts it right out due to vCenter Server’s minimum requirement of two logical cores. It was a nice thought, though.
- Easy to accomplish
- Least cost method
- Quickly regain services after an outage
- You still have some amount of downtime with hardware failure
- Can’t use FT yet
- Incurs downtime in the case of operating system maintenance
Microsoft Clustering for vCenter Server
As you’ll see in a future (ahem) column from me, Microsoft clustering on vSphere can be a bit of a hassle. While Failover Clustering with Windows Server 2008 R2 is leaps and bounds better than Microsoft Cluster Services with Server 2003, it’s still no panacea. However, the vCenter Server service is cluster-able, and while not “certified” by VMware (shades of Oracle, anyone?), running vCenter Server in a clustered configuration will not put you out of support. Quoth VMware KB article 1024051:
“You may choose to protect VMware vCenter Server using third-party clustering solutions including, but not limited to, MSCS (Microsoft Cluster Services) and VCS (Veritas Cluster Services). VMware does not certify these third party solutions. VMware will provide support for any issues encountered with an environment that uses third party solutions for protecting against VMware vCenter Server downtime. However if your issue is deemed to be related to the third party clustering solution, VMware will refer to our third-party software policy.”
- More robust than HA
- Ability to tolerate hardware failure with zero downtime (cluster across boxes)
- Operating system maintenance is less likely to impact vCenter Server service
- Microsoft Windows Server Enterprise or Datacenter Editions licensing is required, increasing cost
- Two Windows Server licenses are required
- More complex than VMware HA
- Risk of downtime and loss of service due to cluster issues
VMware vCenter Server Heartbeat
vCenter Server Heartbeat is by far the most resilient solution for making your vCenter Server highly available. It gives the user the ability to withstand both hardware and software failure without downtime for the vCenter Server service. I don’t want to be any more of an advertisement, so I’ll just refer to the link above for more information.
- More resilient than VMware HA
- Easier to configure and maintain than Microsoft Clustering
For most users, simply using VMware HA for the vCenter Server and its database will suffice. However, if you operate in an environment where as close to 100% uptime as possible is required, using vCenter Server Heartbeat and clustering your database will provide the most resilient solution, while maintaining simplicity from the VMware administrator’s point of view.