During a recent project, I was tasked with providing high availability for VMware vCenter Server 4.0 using Microsoft Windows 2008 Failover Clustering. Putting aside the fact that the VMware best practice dictates using vCenter Server Heartbeat AND the fact that I am not as familiar with Windows 2008 Failover Clustering, I began to scour the Interwebs for some how to articles.
What I found were several great resources for using Microsoft Cluster Services in vSphere, Windows 2008 Failover Clustering, and clustering vCenter Server 4 with Windows 2003 Cluster Services. What I did not find was anything on using Windows 2008 Failover Clustering and vCenter 4. Hence this post: Providing HA for vCenter 4.0 with Windows 2008 Failover Clustering.
This article is a high level how-to on creating and configuring an HA cluster. In the works is a more detailed version of this post in PDF format. I am in the process of updating the screen grabs and will publish very soon.
Note: If you intend to use Linked Mode, be aware the this configuration is not supported.
This article assumes you are looking to cluster two Windows Server 2008 virtual machines using the Failover Clustering feature in Windows 2008 and install vCenter Server 4.0 on both nodes (active/passive configuration) to provide high-availability. It is also assumed that the vCenter instance will connect to a remote SQL 2008 database which is not installed on this cluster instance. So let’s begin.
In this example, I will review at a high level the steps required to create a Windows 2008 Failover Cluster on a pair of virtual machines running on VMware vSphere 4.0.
- 2 x ESX 4.0 Update 1a servers fully configured (Service Console, VMKernel, VM Networks, shared storage)
- 1 x Microsoft SQL Server 2008 for vCenter database and VUM database
- 2 x Windows Server 2008 Enterprise Edition 64bit virtual machines at VM Hardware version 7 configured as follows:
- 2 vCPU
- 4GB RAM
- 80GB Hard Disk connected to LSI Logic Parallel controller (SCSI Controller 0:1)
- 2 x VMXNET3 adapters (one public, one private)
- 2 x RDM Hard Disks connected to LSI Logic SAS controller in Physical Mode (SCSI Controller 1:0 & 1:1)
- 1GB quorum (Drive Q:)
- 20GB Data repository for VUM (Drive U:)
- A fully working implementation of DNS and Active Directory
- Domain Admin accounts (for creating the cluster)
I’m going to skip the cluster creation process as it is pretty straight forward and is well documented on Technet.
Here is where the fun begins! Assuming the cluster creation went without error and the failover process works, we can begin the installation of vCenter server on the owner of the cluster (most likely Node A). Before you begin the installation, verify the following:
- Databases for vCenter Server and VMware Update Manager exists on the existing SQL server
- Install the latest SQL Server 2008 Native Client on each node
- 32bit Data Source Name (DSN) resources are created for vCenter and VMware Update Manager
- SQL sa account and password are available
To create the DSN on a 64bit version of Windows, run the following command: C:WINDOWSSysWow64odbcad32.exe. The default ODBC tool under Administrative Tools creates a 64bit DSN which is not compatible with vCenter Server 4.0.
Continue with the vCenter Server installation on the first node. Choose the default installation location. Install vCenter on the second node and when prompted, select Do not overwrite, leave my existing database in place.
Once the installs are complete, copy the SSL certs from the first node to the second node. Since you never know when Murphy will show up, create a backup copy of the second node’s SSL certs before you overwrite them.
Configuring Cluster Services
After vCenter is installed on both nodes, you will need to configure the cluster for the vCenter services. Launch the Failover Cluster Management tool and create an empty service or application and name it VMware vCenter Server. Add the following generic services to this new container:
- VMware VirtualCenter Management Webservices
- VMware Virtual Center Server
Before bringing the resources online, you first need to modify vCenter’s Runtime settings to reflect the new Management IP (cluster IP) and the vCenter Server Name (cluster name).
In the clustering vSphere guide, it mentions to export the registry for the primary vCenter server and import it to the secondary vCenter server. After the settings change, bring the cluster resources online and attempt a failover. All should work without any issue.
Test the failover process to verify each node can host the resources. If you are logged into vCenter with the vSphere Client, you may need to log back in as your session will drop.
The full detailed PDF version of this configuration will be available for download soon. The doc will provide detailed steps on the following topics:
- Creating and configuring a Microsoft SQL Server 2008 virtual machine cluster for use with vCenter and VMware Update Manager
- Clustering vCenter 4.0
- Clustering VMware Update Manager
Windows Server 2008 Failover Clustering – Technet
Checklist for creating Failover Cluster – Technet
Setup for Failover Clustering and Microsoft Cluster Service – VMware
VMware KB Article 1010550 – Setting up vCenter Server in a Microsoft Service Cluster
VIOPS: Clustering vCenter Server 4.0 using Microsoft Cluster Services