Clustering Software in a VMware environment

Clustering Software in a VMware environment

It is possible to combine virtualization technology with "traditional" cluster technology to increase the availability or the performance of some services.

-


Cluster type

There a lot of cluster type and technologies, for example:

  • Failover cluster -> increase services availability

  • Load balancing cluster -> increase services scalability

  • HPC cluster

The most common cluster is the Failover solution, but for some services also the load balacing solution could be used.

As is physical case, guest failover clustering usually require shared storage.

Shared storage does not mean shared filesyste

Although with SAN and/or VMware is easy to setup two (or more) machine that shares the same LUNs or vmdks, this does not mean that it easy share also the filesystem.

To be shared the filesystem must be cluster aware, but none NTFS (on Windows) and ext2/ext3/ext4/reiserfs/xfs/jsf (on Linux) are designed for this.

Note that ESX can share LUNs cause VMFS is cluster aware.

A fail-over cluster usually resolv this issue by grant the disk access at only one node at one time.

Some cluster aware filesystem:

Sanbolics Melio File System for Windows: http://www.sanbolic.com/melioFS.htm

Global File System (GFS) for Linux: http://www.redhat.com/gfs/

Cluster Shared Volume (CSV) for Windows Server 2008 R2 and only for Hyper-V VMs

-


Guest Failover Cluster type

Guest Cluster can be created in 3 different schema:

  • Cluster in a box: two VM inside the same ESX (can also work without shared storage)

  • Cluster across box: two VM in different ESX

  • Cluster physical-virtual: one physical node and one VM

A different approach could be use a software iSCSI initiator inside the guests: in this case the cluster's nodes are "normal" VM with only their own local disks. The shared disks are visible only inside the VM so from VMware side you do not have any limitation, from guest side the OS and the vendor must only support a configuration with software iSCSI.

Micorosfot FAQ on iSCSI support for clusters with Windows 2003:

http://www.microsoft.com/windowsserver2003/technologies/storage/iscsi/iscsicluster.mspx

There is a link to Microsoft's SVVP wizard where you can put in your specific configuration and verify support:

http://www.windowsservercatalog.com/svvp.aspx?svvppage=svvpwizard.htm

Also a lot of useful information are available on this thread:

-


MSCS vs VMware HA

Note that application/guest clustering is different from VMware HA (and also from 😞

VMware HA Vs Microsoft Cluster Server: http://it20.info/blogs/main/archive/2008/03/26/102.aspx

-


Windows NLB

This is a Load balancing Clustering solution and could be common also in a virtual environment.

http://www.vmware.com/files/pdf/implmenting_ms_network_load_balancing.pdf

http://vi-tips.blogspot.com/2009/04/nlb-in-vmware.html

-


Windows 2003 MSCS

Actually the only supported cluster environment in ESX 3.x is MSCS (Microsoft Cluster Service) 2003 in a 2 node configuration using FC SAN (for cluster across boxes and cluster physical-virtual):

http://www.vmware.com/pdf/GuestOS_guide.pdf

http://www.vmware.com/pdf/vi3_35/esx_3/r35u2/vi3_35_25_u2_mscs.pdf

This does not mean that is not possible to have a working Guest Cluster with iSCSI storage (and it can work fine also with iSCSI RDM disks, but is not officially supported by VMware...).

To configure VMware for a cluster in a box there is a good step-by-step guide:

http://exchangeexchange.com/blogs/bkeane/archive/2007/07/30/mscs-clustering-in-vmware.aspx

To configure the Microsoft part, just use the Technet Guide:

For 2003: Microsoft Windows Server 2003 Server Clusters Quick Start Guide

To setup a MSCS Cluster, could also be usefull this document:

http://www.boche.net/blog/index.php/2009/04/01/setup-for-microsoft-cluster-service/

-


Windows 2008 Fail-over Cluster

Windows 2008 fail-over cluster will work only in ESX4 (due to lack of SCSI3 reservation in ESX 3.x).

For more info of MSCS configuration in vSphere:

http://www.vmware.com/pdf/vsphere4/r40/vsp_40_mscs.pdf

http://vmguy.com/wordpress/?p=1019

To configure the Microsoft part, just use the Technet Guide:

For 2008: Failover Cluster Step-by-Step Guide: Configuring a Two-Node File Server Failover Cluster

-


Other informations about Microsoft Faiolver Cluster

For a complete list of Microsoft Cluster Service (MSCS) support on ESX Server 3:

Microsoft Cluster Service (MSCS) support on ESX - http://kb.vmware.com/kb/1004617

For specific Microsoft cluster solutions:

SQL 2008:

Exchange 2007:

Exchange 2010: http://kennethvanditmarsch.wordpress.com/2009/11/20/vmotion-and-exchange-2010/

To using VMware Converter to convert Microsoft Cluster (MSCS) nodes to virtual machines there is a specific KB:

http://kb.vmware.com/kb/1002661

For some information with iSCSI cluster:

-


Other type of Guest Failover Cluster

Other cluster technology could work, but usually are Linux based and Linux is not Windows, and Windows is not Linux :).

For Veritas Cluster Server (VCS) and VMware:

http://symantec.dciginc.com/2008/10/veritas-cluster-server-vcs-and.html

For RedHat Cluster and VMware:

http://sources.redhat.com/cluster/wiki/VMware_FencingConfig

For Oracle 10g RAC Configuration on VMware ESX Server:

http://www.itsallvirtual.com/images/Oracle_10g_RAC_on_VMware_ESX_v1.0.pdf

-


Guest Failover Cluster limitations

Note the application cluster configuration will have several limitations and restrictions (http://communities.vmware.com/message/1099039#1099039):

  • no shapshot on the VM

  • no vMotion

  • no VCB

One workaround could be use guest iSCSI initiator (in this case, from VMware point of view, the nodes are "normal" VMs).

Or there is also another workaround suggest by :

Snapshot, vMotion, vRanger and vDR backup is working in my SQL Cluster across the box. LUNs are RDM, and SCSI Controller is set to None instead of Virtual or Physical. And all the above options works fine.

Comments

Hello,

Re-check those points;

  • no shapshot on the VM

  • no vMotion

  • no VCB

Snapshot, vMotion, vRanger and vDR backup is working in my SQL Cluster across the box. LUNs are RDM, and SCSI Controller is set to None instead of Virtual or Physical. And all the above options works fine.

Best Regards,

Hussain Al Sayed

If you find this information useful, please award points for "correct" or "helpful".

Thanks for sharing your interesting solution.

Andre

Hi,

this is not working for me. If i set the controller to "none" only one vm can start because other vms complaining a locked file. If i set it to virtual/physical i loose snapshot and vmotion abilities.

This is on vsphere, fc san, rdm in virtual mode. I think i tried every combination now possible with rdm and controller modes but i can not get it all work together.

Best Regards,

Mike

Hi Andre,

got a question regarding SCSI-3 reservation support in vSphere, espescially when virtualizing W2K8 Clusters.

Is it possible to release a SCSI3 persistent reservation set by a virtualized W2K8 Cluster node by a different vSphere Server?

Reason why I ask is in case of a HA incident /VM unresponding it might be required to release an active SCSI3 reservation to allow the affected W2K8 cluster node to be restarted on a different vSphere Server.

The vmkfstools command does have an option to release a reservation, but for me it looks like this does only work with SCSI2 reservations.

Would really appreciate some further infos regarding SCSI3 implimentation in vSphere.

Kind regards from good old germany

Did you (anyone) ever get this working first hand? If so, can you post some tips? Thanks.

I got this working for SQL Server using Workstation for testing.

http://tsells.wordpress.com/2011/04/22/how-to-setup-a-sql-failover-cluster-with-vmware-workstation/

Version history
Revision #:
1 of 1
Last update:
‎05-23-2009 08:42 AM
Updated by: