Already for a while now, Microsoft supports host clustering for Virtual Server 2005 R2. This article tries to compare these features to VMware ESX 3.0 high availability and VMotion. More and more, Microsoft is using these features in pre-sales talks with customers. If you, as a potential customer, are not aware of some of the details, you might end up thinking that Microsoft’s offering is equal to VMware’s. This article will show it is not. Of course, you have to match what is offered to your needs. Depending on those needs, Virtual Server 2005 R2 might be a good fit.
To be fair, VMware provides high availability out of the box only with ESX 3.0 and its HA feature. At the time of this writing (June 22nd 2006), ESX 3.0 is only just available. ESX 2.x did not provide such a feature although some third party offerings were available.
The components you need to create a basic cluster for Virtual Server 2005 R2 are:
- Two servers running Windows Server 2003 Enterprise or higher to create a cluster (MSCS).
- SAN or iSCSI LUNs to provide some form of shared storage.
- Virtual Server 2005 R2 (free)
- The host clustering whitepaper that includes a script to implement virtual machines as cluster resources. This whitepaper can be downloaded from the Microsoft site.
After installation, you create cluster groups containing one or more physical disk resources and one or more virtual machines. You need to use the provided script from the whitepaper because the virtual machine resource is implemented with a script.
Before delving into some of the details, you should know that you can do the same thing with VMware GSX and soon VMware Server. A company called VM6 has a product called Virtual Machine EX. The price is low so it will fit in any budget, especially when you consider that you already need to spend quite a lot on Windows Server 2003 Enterprise, iSCSI or SAN solution, etc...
When you implement Virtual Server 2005 R2 in a cluster (maximum 8 nodes), you basically get two additional features:
- Automatic restart of virtual machines in case of host failure.
- "Hot" migration of virtual machines from one host to another.
Automatic restart is fairly simple. When a host in the cluster goes down, another host will detect it and restart the virtual machines of the failed host. Microsoft provides only the basic features here. You can specify a host preference and that is basically it.
ESX 3.0 and its HA feature (high availability) provides extra controls to fine-tune the whole process. With admission control, ESX checks that enough resources are available depending on the failover capacity that has been set. Depending on your settings, you can disallow starting a virtual machine if that means that ESX cannot guarantee restart in case of failure. You can also allow startup but that could mean that performance might suffer in case a host goes down (cluster turns red). Together with DRS (distributed resource scheduler), the cluster also determines which host can best start the failed virtual machine. The cluster can also be provided with rules about machines that should run together on one host or machines that should not run together on the same host. Basically, these added features help in ensuring the overall health of the cluster and make sure that enough capacity is left to restart virtual machines in case of failure. This is important to meet performance requirements and SLAs.
The whole setup process of an ESX cluster is remarkably simple. After your ESX boxes have been setup, you create the cluster in VirtualCenter 2.0. Creating a cluster is then merely a process of dropping ESX nodes on the cluster and specifying HA and DRS settings.
Next to restarting virtual machines in case of failure, hot migration is the second feature that host clustering with Virtual Server brings to the table. Hot migration works by saving the state of a virtual machine to disk, moving the cluster resources to the host you specified, and resuming the virtual machine from the saved state. The virtual machine is down for a few moments during the transfer.
Although this type of “hot” migration basically works, you cannot guarantee uptime in all cases. Depending on the load of the virtual machine, its memory, load of the host and other factors, there could be a downtime of several seconds. Depending on the client application or action, this means timeouts or failure to complete an action. This system simply does not provide the best guarantees for transparency to the end user or application.
VMotion with VMware ESX provides much better guarantees for transparency because the virtual machine is not turned off. While the virtual machine’s state is being transferred, the virtual machine stays online. Clients connected to the virtual machine might notice a drop in performance (e.g. file copy that slows down a bit).
Another drawback of Virtual Server 2005 R2 host clustering is the amount of LUNs you need, to support “hot” migration for each virtual machine. In essence, when you want to migrate a virtual machine independently of the others, it needs its own LUN. If you put more than one virtual machine on the same LUN, all of them need to be “hot” migrated together. This can provide management headaches when all of a sudden you need to manage hundreds of small LUNs to support your virtual machines in a large cluster. You also need to manage drive letter mappings or mount points for all those LUNs.
With ESX you can put many virtual machines together on a larger LUN and still VMotion those machines independently. This is because VMFS is a clustered file system that multiple ESX servers can access at the same time. During VMotion, the source server just releases its lock on the virtual machine’s files in order for the target to take over.
Conclusion
Although Virtual Server 2005 R2 provides a basic feature set with regards to host failover and hot migration, there are several drawbacks related to how these features are implemented. As always, as a potential customer, detailed analysis of product features together with a proof of concept is an absolute necessity. Don’t take the pre-sales rep’s word for it!



