Choose any two: Hyper-V, HA, Linux

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:

Cannot shut down Linux VM from 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.

Shut down VM from Failover Cluster Manager

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:

filesystem_not_clean

It appears that the only option for shutting down a Linux VM on Hyper-V is through the guest interface itself.

guest_shutdown

Unfortunately, when the VM shuts down, Failover Clustering notices immediately and assumes there has been a failure.  One restart, coming up…

false_vm_failure

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.

Tags: , , , , ,

9 comments

  1. Ben Armstrong’s avatar

    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

  2. Eric Gray’s avatar

    Ben, that’s good to know, thanks for the information.

    Congratulations on your new son.

    Eric

  3. Vladan’s avatar

    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

  4. Fernando’s avatar

    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 :-D

  5. Aubrey Vman Williams’s avatar

    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.

    1. Eric Gray’s avatar

      Aubrey, glad you found it useful thanks for the affirmation.

    2. Boris Sirotin’s avatar

      Simple temporary solution – just put bootable CD in the Linux VM. Cheers.

    3. Eric Gray’s avatar

      Well, Boris, that is a very interesting suggestion.

Comments are now closed.