I am pretty sure the term guest clustering is not a standard industry term nor is it official Microsoft speak, so what do I mean by it? I mean the business of creating a cluster out of a group of virtual machines – you might call this a virtual cluster but that might confuse it with clustering physical machines to run virtual machines on them so that no physical machine is a single point of failure.
Clustering of any kind is about improving availability and if your physical servers are clustered why would then cluster the virtual machines running on them?
The answer is to improve the availability of the application in the virtual machine. A physical cluster will fail over if there’s a hardware or physical operating system problem, but can’t respond to a dead service like SQL Server, while a guest cluster will do this and allow you take nodes off line for maintenance patching upgrade etc. while keeping the rest of the cluster running.
Windows clustering of any kind has traditionally been seen as difficult and for me this all changed in 2008 with the dramatic changes to clustering both in Windows Server 2008 and in SQL Server 2008:
- Windows Server clustering is supported on any platform capable of running Windows Server itself as per the Hardware Compatibility List. When you configure clustering in Windows it will run a series of checks to confirm it will work, and you’ll need to run this check if you want support as it’s the first thing the Microsoft engineers will ask for. With SQL Server the resources you assign to an instance in the cluster must be available on each node to support automatic failover (cpu, memory storage etc.) .
- SQL Server went back to its roots in 2008 as far as clustering was concerned – each node is maintained individually rather than trying to patch the whole cluster as was the case for SQL Server2005. In practice you take a node offline, patch it, upgrade etc. and than bring it on line and repeat for the next node.
I understand implementing guest clusters places a lot of restrictions on Vmware like:
- Only being able to use a 2 node cluster,
- Only using fiber channel for shared storage,
- No Vmotion,
- No memory over commit
note: I am not a Vmware expert so please check the Vmware resources and forums for the definitive word on this, and please correct me if I am wrong.
I do know that in Hyper-V a cluster behaves exactly like a real cluster and there isn’t this loss of functionality so virtual machines can be live migrated and moved between physical servers as required. In other words you so you have the power of clustering and the added flexibility of virtualisation and this shouldn’t affect your performance , licensing etc. compared with a physical cluster running on the same spec of machine.
Try it yourself:
- The iscsi target software we have used internally some time to emulate shared storage is now available as a free download. Note the other end of iscsi, the initiator is included in Windows Server 2008 and later.
- Using iscsi in Windows Server 2008 (applies to R2 and later)
- Edge video on Windows Clustering
- Installing SQL Server clustering