Hi,
Is it possible to use VMware Clustering technology to cluster SQL Server 2005 Instances?
If so, how does it handle Microsoft's Shared-Nothing storage, particularly during failover?
Is this a better option than clustering SQL Server VMs via Microsoft Clustering?
Thanks for your help.
Tim Knoob
Senior DBA
Rockwell Collins
You might be interested in this post:
Massimo.
The following steps by steps would allow you to configure SQL 2005 cluster within ESX 3.x. You can also use HA features which provides great redundancy on your guest OS.
If you found this information useful, please consider awarding points for "Correct" or "Helpful". Thanks!!!
Regards,
Stefan Nguyen
iGeek Systems Inc.
VMware, Citrix, Microsoft Consultant
Stefan - Thanks for your reply.
But, what about using the VMware Cluster technology? Is anyone using this to cluster SQL Server?
Thanks.
Tim Knoob
Senior DBA
Rockwell Collins
You should use combination of both VMware HA and MSCS because HA only protect you from ESX host failured, in that case your virtual machines (SQL 2005) will be automatically restarted to other available ESX hosts in a cluster. But it doesn't detect or do anything if your SAN is disconnected. In this case, your SQL 2005 machine will show as "Blue Screen of Death". MCSC does protect you from the virtual machine standpoint, if Node A failed, it kicked over with Node B and that's configured through Raw Device Mappings using Physical Mode.
We use all features from VMware HA, DRS and VMotion as the #1 redundancy and availability for our virtualization solution. At some cases like SQL 2005, we want extra protection by configuring MCSC and it does fine as well.
If you found this information useful, please consider awarding points for "Correct" or "Helpful". Thanks!!!
Regards,
Stefan Nguyen
iGeek Systems Inc.
VMware, Citrix, Microsoft Consultant
Do you know of any White Papers of someone who has deployed this configuration?
Thanks.
not necessary, latest version of esx 3.5 update 2, it does have the features to monitor the VM heartbeat. In case your VM is hang, the ESX will force to restart the VM automatically, is depend how you configure that.
thats a great post Massimo , but another thought occurs to me about why people would use MSCS. In the same way that vmotion isn't a failover solution , but it allows you to patch hosts with zero downtime , MSCS allows you to patch the underlying operating system of a SQL server while minimising uptime - it would also give you the opportunity to roll back a node if the services are not happy post patching ( you could argue that you can do this with ESX snapshots , but that would be snapshotting the whole server , rather than just the OS )
With HA you coudl potentially have a few minutes outtage in a guest failover situation , but MSCS that should be 10-20 seconds ?
Chris,
I agree. And in fact that is what I meant (between the lines) when I said:
*****************
In the case of VMware HA there is a single instance of the virtual machine (with the application) to be protected. The VM is being started on a given node of the cluster given the status of the others (availability and resource utilization). Many people still think that the software stack loaded in the virtual machine is a Single Point Of Failure (imagine a Service Pack upgrade that goes wrong for example and you will have an unplanned downtime of the VM and in turn of the application). On the other hand a "virtual" MSCS solution requires two independent Windows nodes (virtual nodes in this case) so that should any problem occur within the software stack of a node it won't affect the availability of the application that can be restarted on the other virtual node.
*****************
and below in the "table":
*Characteristics **HA Cluster within the VM *HA Cluster at the virtual infrastructure level
...........
SW stack redundancy True / Can be achieved Not True / Can't be achieved
...........
Will this be enough for HA within the guest to survive <the revolution>? This is an open question ..... my take is: I don't think so.
Massimo.
For patching I would use Stage Manager. Both VMware HA and MS MSCS are not solutions for fault tolerance.
Maybe read this thread
http://communities.vmware.com/message/845282#84528
2
Massimo,
Thanks for your help. I've read your blog and want to clarify something.
In order to achieve High Availability, your recommendation is to use VMware Clustering rather than MSCS Clustering? Would this mean that in order to "cluster" SQL Server using VMware Clustering, there would be just one SQL Server VM, which would failover to any ESX Server in the Cluster?
Thanks.
In essence, yes, that is the idea.
Massimo.
BTW, I just want to point out that I wouldn't say this is my "reccomendation". It's more an analysis of what's happening if you will.
Then, if you ask me, I do believe what's happening makes a lot of sense.
Massimo.
Massimo/Chris/meistermn/timw18/malaysiavm/Stefan,
Thanks for your help.
I am in the same situation.
But only having 1 VM with SQL 2005 and there is a windows2003 dll or OS error, then there would be downtime?
How about patching as well?
Is there is only 1 VM SQL 2005 box, then I would have to schedule downtime for patching?
Currently on physical cluster passive node can be patched, failed over and other node can be patched.