SQL Server 2012 High Availability on VMware

high-availabilitysql serversql-server-2012vmware

We're going to host a large SQL Server 2012 under a VMware virtualization and we need it to be highly available.

These are the three options I found supported, but couldn't find a lot of info and comparison on who's better and why (and mostly – what's the disadvantages):

  1. VMware HA – pro: cheap and easy to use and configure, just let the VM team deal with it. con: no HA for system upgrades, e.g. SQL upgrades, Windows services-packs\KBs etc.
  2. SQL Server Failover Cluster (FCS) – pro: well known, supported, saves space (compared to AlwaysOn Availability Group), HA for system upgrades. con: I haven't heard of successful clusters over VM, or at least good ones. Heard it's a mess and to "stay away from it". A bit harder to admin, some problems may take days to figure out (no-one with a lot of knowledge).
  3. SQL Server AlwaysOn Availability Group – pro: HA for everything! system, DB etc. con: New, added administering and hard to confiugre, new problems to deal with, double the space(!), "no strings attached" (to other servers).

That's pretty much it.

I would appreciate any info you may have about this, and would appreciate even more recommendations (hopefully based on test cases).

~Thanks.

Best Answer

It really depends on what you are trying to protect from and what your SLAs are. If your goal is to protect against hardware failure and you can handle a few minutes of downtime in the event of a hardware failure then stick with the native VMware options.

If you need to protect yourself from blue screens then clustering on AlwaysOn AGs will be the way to go. If you are just trying to protect yourself from hardware failures but you can't afford to have even a few minutes of downtime then clustering of AlwaysOn AGs will again be the way to go.

Choosing between FCI (Fully Clustered Instance) and AG will depend on what you are trying to do. If you need to scale out reads for reporting then AG. If storage costs are not an issue then AG. Keep in mind that FCI will require RDMs if you are using fiber channel or iSCSI. If you use RDMs then you have to deal with not having vMotion while the VMs are online. With AGs you don't need RDMs so you don't have this issue.

There are lots of options available to you, it just depends on which way to go.

As for clustering under VMware, it works just fine. I've got lots of clients who have virtualized most or all of their SQL Servers and have plenty of Windows clusters inside of VMware.