Title | Reference Implementation: Clustering vCenter Server 4.0 Using Microsoft Cluster Services |
Version | VMware 21/AUG/2009 1.0 |
Author | VMware (NYSE: VMW) is the global leader in virtualization solutions from the desktop to the data center. Customers of all sizes rely on VMware to reduce capital and operating expenses, ensure business continuity, strengthen security and go green. With 2007 revenues of $1.33 billion, more than 120,000 customers and nearly 18,000 partners, VMware is one of the fastest-growing public software companies. VMware is headquartered in Palo Alto, California, and on the Web at www.vmware.com.
Sandeep K Areekkara, VMware |
Tags | availability clustering mscs virtualcenter high_availability |
Location | Reference Implementation: Clustering vCenter Server 4.0 Using Microsoft Cluster Services |
Context | In a default installation vCenter Server runs on a single Windows based server. In order to provide high availability, you can use the clustering software so the vCenter Server process is automatically restarted on a standby server if the primary server fails. This document describes the use of Microsoft Cluster Server (MSCS) to provide high availability for vCenter Server. This document helps the customers in setting up vCenter Server on a cluster or upgrading the existing vCenter cluster setup on MSCS to vCenter Server 4.0.
The technical note covers the following:
|
Actors | VMware Certified Professionals, VirtualCenter Management / Sysadmin / Operations / Backup Operators |
References | Setup for Failover Clustering and Microsoft Cluster Service (http://www.vmware.com/pdf/vsphere4/r40/vsp_40_mscs.pdf) |
Outline |
|
Support | Please see this KB Article for information about support of this implementation. (TBD) |
This document goes over the steps to successfully implement a high availability solution for vCenter Server 4.0 using Microsoft Cluster Server (MSCS). It shows the setup of a reference implementation, however, other variations would also be valid. This document will be updated as additional configurations and options are validated.
The instructions were written using VMs for the cluster nodes. However, most of the instructions would apply for physical cluster nodes. For further information on clustering see Additional Resources at the end of this document.
For readers who are familiar with the procedure used to set up vCenter Server 2.5 with MSCS, this is how the procedure is changed with vCenter server 4.0:
With the release of vCenter Server 4.0, vCenter Server roles are now stored in Microsoft Active Directory Application Mode (ADAM) instances. To replicate the roles from node 1 to node 2, use ADAM replication during the MSCS setup process.
Advantages
vCenter Server when configured with MSCS lets the user to have a complete failover
There is no extra load put on vCenter Server for the failover cluster as it is all taken care by MSCS.
There will only be an outage that might last for some seconds in case of failure of the vCenter Server on the primary node.
We do not require any physical server if we are using Virtual Machines for setting up vCenter Server on MSCS.
Limitations
vCenter Server Linked Mode is not supported on vCenter Server with MSCS setups.
All the hosts and clusters will be reconnected and reconfigured on the new setup and this might take some time depending on the size of the environment
This document assumes that you have two identical virtual machines running Microsoft Windows Server 2003. Alternatively, you can use two physical machines. Please refer to the following VMware documentation for more details: "Setup for Failover Clustering and Microsoft Cluster Server."
Complete the following tasks to create a clustered vCenter Server host:
Set up Microsoft Cluster Server
Configure network
Configure storage
Install Cluster Services on Node 1
Add node 2 to the cluster
Set up the cluster network
Install vCenter Server software on the primary node
Install vCenter Server software on the secondary node
Create the vCenter Server resource group and resources
Synchronize the cluster and bring it online. Replicate the roles from Node 1 to Node 2.
Detailed instructions for these tasks are provided below.
Microsoft SQL Server or Oracle database is running on a different machine with clustering enabled (MSCS and RAC respectively) and both the above machines can access the database. In this document, we are going to use a remote Microsoft SQL Server Database which is clustered.
vCenter Server 4.0 build is downloaded and accessible from both the machines
License for vCenter Server 4.0 is available.
A quorum disk for MSCS configuration (shared disk), minimum 2 NICs and a pair of static IP addresses.
Both the machines should be connected to domain.
In this section, several steps will need to be performed on both nodes to support Microsoft Cluster Services.
For setting up MSCS cluster, we should have 2 NICs, both with static addresses. One will be used for the public network, and the second one will be a private network used for heartbeat. In this example we are using 2 NICs.
Assign the production networks IP address for the Public NIC and assign a private network for the “Private” NIC.

Add both the machines to domain: Go to System Properties > Computer Name > Change and enter the domain name and add it to domain.
Reboot the machine. Once this is completed, log in using the domain administrator account.
Check to see that the machines are accessible to each other with public, private addresses and machine name.
Correct if there are any issues. Repeat the same steps on Node2.
Shut down both the machines
Connect the shared storage to both machines and power on the first machine.
Login to the machine as AD administrator
Go to Computer Management > Disk Management > Select the new Disk > Initialize Disk
Format this disk using NTFS, assign a drive letter and name it as “Quorum”

Create a folder in the quorum and shutdown the first node.
Start the second node once the first node is down and login using the domain admin account.
On the second machine also go to Computer Management > Disk Management and mark the partition as active.
Assign a drive letter and name “Quorum”.
Make sure that the above created folder exists in Quorum disk.
Login to Node1.
Click Start > All Programs > Administrative Tools > Cluster Administrator.
Once the application starts, choose Create New Cluster from the drop-down menu and click OK.
On the “Cluster Name and Domain” page, choose the domain from the drop-down list and enter a name for the MSCS cluster. 
On the “Select Computer” page, enter the local computer name and click Next.

At this point, the wizard will analyze the cluster configuration and report if there are any errors or warnings. If there are any errors, correct them, analyze again and then click Next.

On the “Cluster IP Address” page, enter a unique IP address. This should be of the production network and will be used as the cluster IP address during the failover.
Enter the user name and password for Cluster Service Account and click Next.

On the “Proposed Cluster Configuration” page, verify all the options you have selected. Make sure that the correct quorum disk is selected.
Once you have reviewed the cluster configuration, click Next to start creating the cluster.

Click Finish to complete the cluster setup. When it has successfully completed, observe that the cluster page opens up.
Open the cluster from Start > All Programs > Administrative Tools > Cluster Administrator.
Right click on the cluster name > New > Node and click Next.
At this point, the wizard will analyze the cluster configuration. Correct if there are any issues and click Next. 
Enter the cluster service account name and click Next.
On the “Proposed Cluster Configuration” screen, review and verify the entire configuration, then click Next. Make sure that the add node operation completes successfully.

Open the cluster from Start > All Programs > Administrative Tools > Cluster Administrator.
Go to cluster configuration > Network and select "Private".
Go to properties and select "Internal cluster communications only" and click OK

Select "Public" network and go to properties.
Note: vCenter Server Linked Mode is not supported with MSCS.
Open ODBC data source administrator tool and create a DSN pointing to the database that should be used for vCenter Server. Make sure that you use the correct database and driver version for installation.
Once the DSN has been created and tested, verify that all prerequisites are met before starting the installation. Please refer to the ESX and vCenter Server Installation Guide for more information on the prerequisites.
Start the software installer and type in the user name, organization, and vCenter Server license key.

Click “Use an existing database” and select the database that you created for vCenter Server. Click Next. 
Enter the user name and password for the database and click Next. (Make sure that this user has all the privileges for vCenter Server installation). 
On the "Service Account Information" screen, enter the user name and password for the service logon and click Next.
Select the destination folder and click Next.
Enter the port numbers and start the installation.
Make sure that the installation completes successfully and you are able to login to the vCenter Server.
Stop vCenter Server on Node1, the primary node.
Copy the SSL folder from “All Users\Application Data\Virtual Center\SSL” from Node1 and paste it in the second node. (Create the folder if it does not exist)
Create the DSN with the same name on the secondary node pointing to the primary vCenter Server’s database.
Verify that all prerequisites are met before starting the installation of vCenter Server on this machine. Please refer to the ESX and vCenter Server Installation Guide for more information on the prerequisites.
Start the software installer and type in the user name, organization, and vCenter Server license key. Click Next.
Click “Use an existing database” and select the database that you created for vCenter Server. Click Next.
Enter the user name and password for the database and click Next.
On the "Database re-initialization warning page" select the option "not to overwrite the data". This is the default option. 
Enter vCenter Server service account information and click Next.
Select the destination folder and click Next.
Verify the port numbers and start the installation.
After completing the installation make sure that the service is running.
For a cluster that provides high availability for vCenter Server, you must create a number of cluster resources. Table 1 provides a summary, indicating each resource. Place all these resources in a single resource group, which is then used to provide availability for the tightly coupled vCenter Server components. The following section provides guidance on setting up MSCS resources for the vCenter Server group.
Table 1. MSCS resources for vCenter Server group
Resources | Type |
VCMSDS | Generic Service |
ADAM_VMwareVCMSDS | Generic Service |
Virtual Center | Generic Service |
vpxd | Generic Service |
VMware Web Services | Generic Service |
vctomcat | Generic Service |
Shutdown Node2.
Login to Node1 as domain administrator.
Make sure that vCenter Server is running and you are able to login to it.
Click Start > All Programs > Administrator Tools > Cluster Administrator.
Select the cluster group, then right-click and choose New > Resource.

Enter "VCMSDS" as the name, and select resource type as "Generic Service".

Add both the nodes in the possible owners list and click Next.

On the “Dependencies” screen, add "Cluster IP Address", "Cluster Name" and Quorum disk as dependencies and click Next.
Finish the operation and make sure that the resource is created successfully.
Perform the same steps for creating the vCenter resource group.

On the “Dependencies” page, make sure that you select the “VCMSDS” along with other three resources. 
Perform the same steps for VMware Web services.
Make sure that you select vCenter resource also as dependency service.
Enter the service name as "vctomcat" and finish the operation.

Select and right-click on each service and select Bring Online. The vCenter Service is now clustered with MSCS.
Power on Node2.
Login to Node2 as domain administrator.
Stop the vCenter Server and Web Access services.
Run the following command on Node2: <vc-install-dir>\jointool.bat rawReplica --remoteHost <failover primary cluster node FQDN> --remotePort <failover primary cluster node adam-port>

Start vCenter Server and Web Access services on the cluster.
This completes the MSCS cluster setup for a fresh install of vCenter Server.
In this section, we are going to perform an upgrade of existing legacy vCenter Server setup on MSCS to vCenter Server 4.0. Before starting the upgrade, verify that the following vCenter Server 4.0 prerequisites are met.
Complete the following tasks to create a clustered vCenter Server host:
Upgrade vCenter Server software on the primary node
Upgrade vCenter Server software on the secondary node
Set up clustering with vCenter
Synchronize the cluster and bring it online. Replicate the roles from Node 1 to Node 2.
Detailed instructions for these tasks are provided below.
Legacy version of vCenter Server with MSCS should be available. Please refer to the installation guide for more information on vCenter Server upgrade support from different legacy vCenter Server versions.
Windows Server 2000 is no longer supported. Please migrate the legacy vCenter Server with MSCS to a newer setup where vCenter Server 4.0 is supported
Microsoft SQL Server 2000 is no longer supported. Please upgrade or migrate the database to another setup where vCenter Server 4.0 is supported.
We should have a backup of Legacy database and SSL certificates. These can be used to revert to the old setup in case of some issues.
Oracle 9i is no longer supported. So we should migrate or upgrade our existing database to a newer version where vCenter Server 4.0 is supported.
vCenter Server 4.0 build is downloaded and accessible from both the machines
License for vCenter Server 4.0 is available.
Make sure that you use the correct database and driver version for performing the vCenter Server upgrade. Refer to the vCenter Installation guide for more details
Reconfigure DSN and make sure the connection is completed successfully. Also make sure that you use the correct server name in case of MSSQL and correct TNS name in case of Oracle. Once the DSN connection tested, we can upgrade VC.
Bring VC Service offline from the cluster. Or we can shutdown Node2 so that the failover will not happen during VC Upgrade
Here we assume that all the MSCS prerequisites are met. Please refer the following link for more information: http://www.vmware.com/pdf/vi3_35/esx_3/r35u2/vi3_35_25_u2_mscs.pdf
In this section we will directly go to vCenter Server upgrade on Node 1 as all the other settings remains the same as in legacy versions of vCenter Server.
Start the installer and provide the Username, Organization name, License Key etc.

The database options page appears (There won’t be an option for the user to select the DSN in case of upgrade)
Now enter the username and password for the database and click next (Make sure that this user has all the privileges for vCenter Server upgrade. Refer to the installation/upgrade guide for more details)

The “Database Upgrade Warning” page appears. Back up your database and SSL folder and select the option in the wizard to mention that. Click Next. 
In the "Service account information" screen, enter the username and password for the service logon and click Next.
Enter the port values and start the upgrade
Observe that the vCenter Server database upgrade wizard pops up and completes the database upgrade successfully. Please refer to upgrade guide for more information regarding database upgrade wizard.
Make sure that the vCenter Server upgrade completes successfully and you are able to login to vCenter Server.
Stop vCenter Server on Node1, the primary node.
Bring Node2 up in case it was shut down.
Copy the SSL folder from “All Users\Application Data\Virtual Center\SSL” from Node1 and paste it in the second node. (Create the folder if it does not exist)
Create the DSN with same name on the secondary node pointing to the primary VC's database
Make sure that all the prerequisites are met and start the installation of vCenter Server on this machine.
Start installer and enter the username, organization and license key in the customer information page and click Next.
Select the option to use the existing database and select the DSN that we just created and click Next.
Enter the username and password for the vCenter Server database and click Next.
On the "Database re-initialization warning” page, select the option "not to overwrite the data". This is the default option.
Enter vCenter Server service account information and click Next.
Select the destination folder and click Next.
Verify the port number and start the installation.
After completing the installation make sure that the service is running.
Shutdown node2
Login to Node1 as domain administrator.
Make sure that vCenter Server is running and you are able to login to it.
Open Start > All Programs> Administrator Tools > Cluster Administrator.
Select and right-click on the "cluster group" > New > Resource.

Enter "VCMSDS" as the name, and select resource type as "Generic Service".

Add both the nodes in the possible owners list and click Next.
Add "Cluster IP Address", "Cluster Name" and Quorum disk as dependencies for this and click Next.

Finish the operation and make sure that the resource is created successfully. Since we already have the VC Service as a cluster resource in the legacy setup, we don’t have to do anything to that.
Perform the same steps for VMware Web services.
Make sure that you select vCenter resource as a dependency service.
Enter the service name as "vctomcat" and finish the operation.

Select and right-click on each service and select Bring Online. The vCenter Service is now clustered with MSCS.
Power on Node2.
Login to Node2 as domain administrator.
Stop vCenter Server and Web Access services.
Run the following command on Node2: <vc-install-dir>\jointool.bat rawReplica --remoteHost <failover primary cluster node FQDN> --remotePort <failover primary cluster node adam-port>

Start vCenter Server and Web Access services on the cluster.
This completes the upgrade of a vCenter Server setup on MSCS.
The following are additional links to some documents that can provide additional information and alternatives, such as physical-to-virtual and cluster-across-box configurations.
Setup for Failover Clustering and Microsoft Cluster Service:
http://www.vmware.com/pdf/vsphere4/r40/vsp_40_mscs.pdf
Using MSCS to Cluster VirtualCenter (VirtualCenter 2.0.1 Patch 2): http://www.vmware.com/pdf/VC_MSCS.pdf
Reference Implementation: Clustering VirtualCenter 2.5 Using Microsoft Cluster Services http://viops.vmware.com/home/docs/DOC-1111
Guide to Creating and Configuring a Server Clusterunder Windows 2003:[http://www.vmware.com/pdf/VC_MSCS.pdf][http://www.microsoft.com/downloads/details.aspx?familyid=96F76ED7-9634-4300-9159 -89638F4B4EF7&displaylang=en|http://www.vmware.com/pdf/VC_MSCS.pdf%5D%5Bhttp://www.microsoft.com/downloads/de tails.aspx?familyid=96F76ED7-9634-4300-9159%20-89638F4B4EF7&displaylang=en]
Technical Overview of Windows Server 2003 Clustering Services:
http://www.microsoft.com/windowsserver2003/techinfo/overview/clustering.mspx
There is a KB article that modifies the above procedure slightly: http://kb.vmware.com/kb/1010550