Everyone knows that Hyper-V is a great platform for running your Linux workloads — as long as the distribution you need just happens to be the ONE that Hyper-V supports. Yes, someday there will be two… patience, patience.
You have probably also heard over and over about Hyper-V and High Availability (HA) virtual machines. And please, don’t forget — HA is free!
Should one conclude that a supported Linux VM on Hyper-V would be fully functional in an HA configuration?
No, one should not.
Hyper-V HA is based on Microsoft’s general purpose Failover Clustering — originally designed for applications like Exchange and SQL Server. If you can say one thing about MSCS, it tries very hard to keep managed services online. Sometimes too hard.
In fact, without tight integration between Clustering and the protected services, it’s especially difficult to stop things in an orderly fashion. System Center Virtual Machine Manger 2008 has this integration, and stopping an HA VM with the SCVMM Administrator Console will normally initiate a proper shutdown. But, in order to do that, guest operating systems need to have integration components that offer the “Operating system shutdown” service .
Linux integration components for Hyper-V do not offer this service, and the following error is seen when attempting to shut down a Linux VM via SCVMM:
The next thing to try is shutting down the Linux VM from the Failover Cluster Manager UI — one of the many other “single panes of glass” needed to manage your Microsoft virtualization infrastructure.
Evidently, this approach does not perform the same validation as the SCVMM interface — there is no error and the guest OS actually does not shut down cleanly — the VM is simply stopped. It turns out that, like physical machines, virtual machines don’t really enjoy being abruptly powered off. Here you can see this poor filesystem being repaired during the next boot:
It appears that the only option for shutting down a Linux VM on Hyper-V is through the guest interface itself.
Unfortunately, when the VM shuts down, Failover Clustering notices immediately and assumes there has been a failure. One restart, coming up…
With Hyper-V you can run HA virtual machines and you can run Linux virtual machines, but you can’t run HA Linux virtual machines.
The only hypervisor that offers full functionality for both Windows and Linux guest operating systems is VMware ESX.
Hi Eric,
Yes, this is a sore point that we have heard about from customers today. In Windows Server 2008 R2 we will be making changes to how clustered virtual machines are managed, so that at least the third option will work. Unfortunately the first two approaches will continue to fail in the manner you have outlined (for now).
Cheers,
Ben
Ben, that’s good to know, thanks for the information.
Congratulations on your new son.
Eric
Pingback: Hyper-V: Do you want to run HA OR Linux? | VMGuru.nl - I choose (a virtual) life!
Microsoft is still not ready for real world virtualization. For now, it’s good to do a homelab with Hyper-V, do some testing, but the system itself it seems to be more “heavy” then VMware. The density of VM’s is not great either…
I’m slowly discovering ESX 4 and I can clearly see that vSphere 4 is more “light” than ESX 3…. and much more “mature” than Hyper-V…
Great read Eric,
Cheers,
Vladan
To not mention Linux guests supports only 1 vCPU. Which is huge shown-stopper for many companies.
I guess MS will not work hard to make Linux guest to shine on Hyper-V. Don’t need to mention the reasons 😀
Great info! I really feel for those that will be fooled by Microsoft’s woefully inadequate virtualization product billed as “Free”.
In my environment, we have to have a mature and lean V-platform that supports both MS and Linux flavors with the full suite of benefits provided, regardless of OS.
ESX 3.5 and 4 is now leaps and bounds ahead of where Softzilla is and I see no credible evidence of that gap closing.
Aubrey, glad you found it useful thanks for the affirmation.
Simple temporary solution – just put bootable CD in the Linux VM. Cheers.
Well, Boris, that is a very interesting suggestion.