Windows Server

SolutionBase: Introduction to Virtual Host Clustering with Virtual Server 2005 R2

Virtual Server 2005 R2 can be a powerful tool, but it's not very useful if your virtual server crashes. You can improve availability and reliability by creating a virtual server cluster. Here's how.
This article is also available as a TechRepublic download.

Clustering is a technology used when you want to increase the availability of a server, service or application so it doesn't become a single point of failure. For example, if you have a critical server running on your network, it can be placed in a cluster with another server that is standing by to take over in the event of failure.

Windows Server 2003 Enterprise and Datacenter Editions both include a technology known as Cluster Service that is designed to increase the availability of your critical components. By combining this Cluster Service technology included with Virtual Server 2005 R2 (VS2005 R2), you can even increase the availability of your guest OSs running on a host.

Author's note

In this article, I will provide an overview of virtual server host clustering and the prerequisites that must be met for it to work. The article assumes you are familiar with the Cluster Service technology included with Windows Server 2003.

Overview

There are numerous ways you can cluster your servers. The scenario or configuration you choose to use will depend on what outcomes you want to achieve. If you want to increase the availability of the hosts supporting your guest OSs, then virtual server host clustering is a solution to consider.

What is host clustering?

With virtual server host clustering, you combine the clustering technology in Windows Server 2003 with VS2005 R2. The hosts, running VS2005 R2 on Windows Server 2003, are set up in a cluster configuration. A minimum of two hosts are required. The number of hosts that can be supported in a single cluster will depend on which version of Windows Server 2003 is installed.

The guest OSs are installed on a host in the usual fashion. Should a node in the cluster fail, one of the other nodes in the cluster will automatically take over support of the guest OSs. An example of what this might look like is shown in Figure A. Both Server A and Server B are nodes within the same cluster. Server A is running two guestOSs. Should Server A fail, the guest OSs will fail over to Server B.

Figure A

If a host in the cluster fails, the guest OSs will fail over to the second node.

Note: It is important to keep in mind that this does not increase the availability of applications running within a guest OS. Any problems with specific applications running within a virtual machine will not initiate the fail over process.

Benefits

One of the obvious benefits to host clustering is that it increases the availability of a guest OS, should the host on which it is running fail. Along with this, clustering also provides additional benefits:

  • It allows for scheduled downtime for maintenance with minimal interruption. Guest OSs can be run on another node in the cluster while the original host is taken offline for maintenance.
  • Applying software updates can be applied to a host without having to take the guest OSs offline. Again, the guest OSs can be moved to another physical server while software updates are applied to the original host.
  • It allows you to cluster OSs and applications that are not cluster-aware. Such components are clustered within the context of a guest OS. Availability of the guests is increased, regardless of the OS and applications running within them.

Prerequisites

One of the downsides of implementing virtual server host clustering is the many prerequisites that must first be met -- this includes both hardware and software. Make sure that all hosts in the cluster meet the requirements for Windows Server 2003 and VS2005 R2. Cluster Service also has specific requirements. I recommend doing some additional research so you fully understand the requirements of Cluster Service and how it is set up.

Note: Microsoft provides a step-by-step guide on how to set up Cluster Service in Windows Server 2003.

Hardware requirements

Each host requires two network adapters (this does not include any adapters required for iSCSI). One network adapter is used to connect a node to the public network (client-to-cluster communication). The second adapter is used to connect a cluster node to the private network (node-to-node communication).

One of the requirements of Cluster Service is a shared disk that all nodes in a cluster are connected to. Cluster Service cannot use the storage device and controller that services the Windows installation. Therefore, each host must meet one of the following two requirements:

  • If using SCSI or Fibre Channel, each node in the cluster requires a minimum of two disk controllers. One of the controllers must be dedicated to the cluster storage.
  • If using iSCSI, each host requires a network adapter or host bus adapter to be dedicated to the cluster storage.

Each node in the cluster requires a private disk for the installation of Windows. Between the cluster nodes, there must also be at least one shared disk. If this disk is not present, the installation of Cluster Service will fail. The shared disk will host the virtual disks, thereby increasing their availability. If one node fails, the other node can take control of the shared disk and continue to run the guest OSs.

It is recommended that the shared disk have at least two volumes -- one for the Quorum resource, another for the virtual disk. If possible, though, the Quorum resource should be placed on a separate shared disk.

Software requirements

Not all versions of Windows Server 2003 include Cluster Service. If you plan to use virtual host clustering, you will need to install one of the following versions of Windows Server 2003 on your hosts:

  • Windows Server 2003 SP1, Enterprise Edition
  • Windows Server 2003 SP1, Datacenter Edition
  • Windows Server 2003 R2, Enterprise Edition
  • Windows Server 2003 R2, Datacenter Edition

Be sure to install Internet Information Services (IIS) on the computer from which you plan to manage your virtual servers. This component is required to install the Virtual Server management tool.

Each host in the cluster must also be running VS2005 R2. This version of Virtual Server supports iSCSI for use in a server cluster. There is also a script you can run to ensure your guest OSs function correctly within a cluster environment.

If you decide to use iSCSI technology, you need to install the Microsoft iSCSI Software Initiator 2.0 or higher. This is available as a free download on the Microsoft Web site.

As I mentioned earlier, a script is available from Microsoft that ensures your guest OSs function correctly within a clustered environment. To use the script, copy the script text (available on Microsoft’s Web site) into Notepad and save it as Havm.vbs. The script must be copied and executed on each host.

Network and account requirements

TCP/IP is the only network protocol supported by Cluster Service, so you will need to consider IP addressing requirements. A single IP address will be assigned to the entire cluster. Each network adapter in a node also requires an IP address. This can be done dynamically using a DHCP server, although it is recommended you assign all nodes static IP addresses.

There are also specific account requirements that must be met:

  • A user account for managing the nodes. This account must be a member of the local administrators group on each node.
  • A user account under which the Cluster Service will run. This account will be assigned all the necessary permissions during the installation of Cluster Service.
  • A computer account for each node.

Finally, as you will see when you perform the installation of Cluster Service, you must assign a unique name to the cluster. All nodes are grouped under a shared name that can be used when connecting to the cluster.

Not a simple task

As you can see, quite a few requirements must be met before implementing virtual host clustering. However, the overall benefits achieved in the end far outweigh the effort of the initial setup.

If you have met all the hardware and software requirements outlined above, you are ready to move on to the actual setup. My next article will describe the steps involved in setting up virtual host clustering.

2 comments

Editor's Picks