As you might expect, the first thing IT managers notice about virtualization is the way it lowers costs. Systems administrators, however, are usually more interested in how it can save on downtime.
If you are considering Microsoft Hyper-V for your production environment, you’ll want to know how to take advantage of its high availability option. To that end, let’s take a look at some of the best practices for high availability with Hyper-V.
1. Build your cluster servers identically
Bringing high availability to Hyper-V means setting up a Windows Failover Cluster. This configuration requires at least two servers, and up to 16 nodes can participate in a single cluster. This is not the time to brush off a couple of old servers; you’ll want to take advantage of processor technology that brings forth fast virtual machine performance and components that allow you to know when a server is failing.
You also want to ensure these servers are built identically. From the processors, network adapters and memory down to the driver revisions and patch levels, you need to have hosts that are running the same for predictability. This will help ensure you can pass the tests put to your systems by the cluster setup wizard when you go to setup for high availability.
2. Understand the N+1 strategy
When setting up your cluster, think about how you plan on handling a potential failure. One option is to set up your cluster as a pure failover cluster and have half of your capacity at the ready to take over if a server fails. This is a classic setup, especially if you have two servers and are looking for availability from your configuration.
You could also setup an active cluster, which involves sharing the load between multiple machines. This configuration is fully supported with Windows Server 2008 R2. An active cluster requires that the host has enough resources to handle its normal load plus the load of the other host when machines failover to it.
Remember how important memory is. You may plan to run your virtual servers in a balanced scenario by spreading your VMs out amongst your hosts, but it only takes a hiccup of one component to cause all of your VMs to fail over. You’ll want enough memory and processor power to handle that load.
3. Have the right storage
Finding the right kind of storage is tricky. Many admins begin to deploy Hyper-V on single hosts with local storage, but the cluster setup requires you to run your virtual machines on shared storage. If you have a proper storage area network (SAN), only use it if it’s compatible with Windows 2008 R2 failover clustering. Not every SAN storage solution, including HBAs and various firmware revisions, are compatible with the latest version of Windows Server. Of course you can run the Validate a Configuration Wizard, but by then you may have devoted quite a bit of time to standing up a configuration that is incompatible.
If you need to use an iSCSI solution, it’s important to have enough I/O bandwidth to handle your virtual machines. You must have at least Gigabit speed on a dedicated network and you should utilize jumbo frames. If you are deploying I/O-intensive apps like Microsoft SQL Server, you’ll want to do some testing and verify that your storage solution can take the load along with so many other virtual machines. You should also always run dedicated NICs on dedicated switches for storage only, and don’t share your iSCSI bandwidth with your regular server traffic.
You can deploy your cluster storage using the Clustered Shared Volume (CSV) option introduced with Windows Server 2008 R2. This allows you to bypass the old requirement that one node owns your storage. The CSV option allows any node to access storage presented to the cluster and lets you store more than a single VM on a single LUN. It also allows the machines to failover independently, which was not the case with the first version of Hyper-V.
This doesn’t mean you should put scores of virtual machine files on a single LUN, however. When you place your virtual machines on storage, you should still consider I/O performance of a single LUN and know when it’s time to move machines to different storage. It’s also important that your storage is not presented to any node that is not part of the cluster. Finally, stay away from dynamic disks, as only basic disks are supported.
4. Use the right management tools
You should consider utilizing real Hyper-V management tools, even in a small cluster. For example, Microsoft System Center Virtual Machine Manager (SCVMM) Workgroup Edition will manage up to five nodes in a cluster at a discounted price of the standard edition. This gives you the advantage of health information and monitoring, physical to virtual machine conversions, and the ability to easily implement Live Migration. After all, why implement the cluster if you can’t easily take advantage of the features?
These are just a few tips to get you started on the road to hosting your Hyper-V virtual machines with the latest Windows clustering technology. Clustering is highly recommended when deploying Microsoft Hyper-V in production, and while its main benefit is availability, it will also help you sleep at night.
For more Hyper-V management tips, check out our Server Virtualization with Microsoft Hyper-V topic page.
ABOUT THE AUTHOR
Eric Beehler has been working in the IT industry since the mid-90's, and has been playing with computer technology well before that. He currently provides consulting and training through his co-ownership in Consortio Services, LLC.