Archive for August 13th, 2009
vSphere over Hyper-V: Prioritization of Virtual Machine Restart
Business Continuity is a Highly Valued Virtualization Function
Among the primary reasons why companies virtualize their applications is to improve business continuity – or in other words to make all applications as available as possible, as often as possible. Actually, we are now seeing a lot of customers value this virtualization capability even more than server consolidation. With vSphere, there are several established methods available to improve application availability; it all depends on the type of failure you want to protect against and the amount of downtime one can tolerate. For this post however, we’re going to examine VMware vSphere High Availability and a very helpful, vSphere exclusive, feature that enables an organization to prioritize which VMs restart first in the event of a hardware failure – pretty interesting stuff.
VMware HA Enables Unheard of Levels of Application Availability
As we all probably know by now, VMware HA has been a widely adopted solution to minimize application downtime in case of server failure. Once HA has been enabled on a vSphere cluster (directly from vSphere Client with just a few clicks), vSphere will continuously monitor the status of all VMs running in a specific cluster. Should a host failure occur, vSphere will then automatically restart the affected VMs on a different host, greatly reducing application Recovery Time Objective (RTO). With vSphere 4 we have extended the capabilities of VMware HA to enable automatic VM restart in the case of a guest operating system failure. So now, even if the hardware is fine, but a single virtual machine’s operating system fails, that application will restart. That is pretty good!
vSphere Exclusive Feature – Prioritize which Applications Restart First
That’s a cool advancement, but in terms of HA triggered by a server failure, we still felt that we needed to do better, because all applications on a host aren’t equal are they? The ability to prioritize mission critical apps to recover first, before tier-2 applications, could result in a lot of benefits to an organization. That ability could save a lot of money, could limit revenue loss, and could even protect a company’s reputation. Consequently, a primary objective of HA should be to further minimize the cost of downtime by prioritizing the restart of mission critical applications. Well, vSphere 4 has a solution for that – with vSphere, one can easily configure a failover restart prioritization level of a VM. It only takes a mouse click – or three.
By setting the failover restart priority level of a VM to “High”, vSphere will make sure the VM is restarted before those with a “Medium” or “Low” priority. Even better, the failover restart prioritization is a VM attribute, independent from the host, and will follow the VM even if you migrate it or restart it on a different host in the cluster.
This Feature Does Not Exist in Hyper-V R2
Even with Windows Server 2008 R2, it appears that Hyper-V won’t provide failover restart prioritization capabilities. Yes, with Microsoft Clustering Services, one could make a VM highly available – but when it comes to prioritizing VMs for restart, the user is really left with three insufficient alternatives:
1) Forget about automated VM restart and go back to manual restart – sounds fun…others have already written on this limitation
2) Spend time and effort creating and maintaining scripts for prioritized restart – this option sounds like a management nightmare considering that scripts would have to be updated every time a new VM is created or migrated to a different host
3) Run fewer apps per server so that you reduce the risk of extending the RTO of mission critical apps – but that increases the overall TCO of your virtualization infrastructure as you are then using more physical servers.
Or you could challenge Murphy’s Law and hope for the best. Yes, I am biased, but I think you’d agree that 1) The ability to prioritize VM restart in the event of failure is an important, valuable capability and 2) A single click in the vSphere console to prioritize VM restart beats any of these Hyper-V alternatives.