Ubuntu LTS on Hyper-V: Experiences and what’s to come

Prologue

At my workplace (besides study) we've been into virtualization for more than 3 years starting then with a mere 3 GB in the metal - squeezing 2-3 VMs onto a W2k3 + Virtual Server 2005 on it. It worked but it was rather slow, yet enough for Active directory, print server, DNS etc.

Hyper-V & *nix: Love and hate

In end 2008  VMware was out of price tag for the features we needed, KVM not ready enough for necessary Windows virtualization performance and Xen was an utter beast for all those of us who had no UNIX/Linux experience nor did integrate 100% well for Windows guests. - Therefore we were quite early adopters of Hyper-V. It was not a heart's choice but a rather a rational one: It worked not best but in was best for our needs. While it's not offering all the things VMware has and had some rough edges, it worked quite well with Windows guests.

The bad thing (was): Due to the paravirtualization nature of Hyper-V the guest OS needs to be aware of its virtualization. - It needs integration drivers or the little magic that Microsoft calls "enlightenment". The bad news was that the these extra Linux components were proprietary and restricted to SUSE Enterprise.

Other OS were restricted to Emulated ATA Disks + Networking and only 1 vCPU which  limited non-Windows guests to not-so ciritical services as Hyper-V guests. Ubuntu LTS 8.04 was our first production experience on Hyper-V. While it was (and still is) rock-solid, we can't use the full power.

Time has changed and MS released Hyper-V drivers under Dual BSD and GPL license. My early testings (thanks to IT from all angles' Blog) showed how much performance gain was possible by just switching to the paravirtualized NICs. SCSI drivers were sometimes a bit unreliable with 2.6.33, leaving randomly the VM with a read-only EXT3 FS. This was all still using Hyper-V v1.

Now Ubuntu LTS 10.04 itself does not have a 2.6.35 readily available but a backport is planned and already maintaned in PPA by Ubuntu using the next Maverick (10.10) kernel. Yet with this Kernel you have (still yet staging) integration drivers but they do work now reasonably well and you don't need to recompile your own kernel.

I'm quite happy that we can now use Linux VMs without significant performance restrictions on Hyper-V.

Yet just one warning:
My personal experience is that Linux Integration Components (Linux IC) do work with the first release of Hyper-V but are less optimized to it and appear less stable thant on a Hyper-V V2 machines. It's also quite interesting that starting with Hyper-V v2 Microsoft expanded "official" support for Linux guests to Red Hat Enterprise Linux while limiting RHEL's compatibility to the V2 release.

I'm looking forward to post 2.6.35 development in hope the "hv"-Code in the tree matures even more. Guest OS choice makes life easier - and I personally like the fact Hyper-V got better compatibility with non-Windows guests.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.