The Ubuntu Plunge – Day 1: VM Madness!

analysis
Nov 6, 20073 mins

I've just survived my first full 24 hours under Ubuntu. I say “24 hours” and not “day” because the term “day” infers that there was a following “night” during which I actually rested. On the contrary, I'm finding that Ubuntu, like most Linux distributions, is the ultimate cure for narcolepsy. You get so wound up trying to fix the damn thing that you forget about sleeping...or eating...or bathing. “Just one more

I’ve just survived my first full 24 hours under Ubuntu. I say “24 hours” and not “day” because the term “day” infers that there was a following “night” during which I actually rested. On the contrary, I’m finding that Ubuntu, like most Linux distributions, is the ultimate cure for narcolepsy. You get so wound up trying to fix the damn thing that you forget about sleeping…or eating…or bathing. “Just one more tweak and I’ve got it for sure this time!”

Case in point: Virtualization. One of Ubuntu’s major draws for me is the promise of a better host environment for running OS virtualization. KVM, QEMU, VirtualBox – all those “cool” sounding open-source VM solutions had me drooling at the prospect of lighting-quick virtual machines juggling my myriad prototyping the testing configurations.

KVM, in particular, had me intrigued. It’s supposed to be so close to the “bare metal” that you can barely tell the difference between VM and native. I like fast! And KVM is supposed to be, like, wicked fast! Cool!

Unfortunately, it’s also broken. For starters, none of the QEMU-derived VM managers – QEMU, KQEMU or KVM – will boot Vista. As a Windows developer, that’s a huge deal-breaker. It’s also much slower than I expected, even with kvm compiled into the kernel. In fact, VirtualBox runs circles around it in virtually every test I conducted. Add to this the lack of a stable GUI front-end and it was curtains for this open source “darling.”

Note: If I had dug around the web some more I might have figured out why KVM was so slow. However, after spending so many hours fiddling with it and its various buggy, half-baked front ends (QEMU Launcher, QEMUlator) – only to find out it would never support Vista as a guest OS – I had little incentive to continue. That, plus VirtualBox refuses to run when KVM is installed, so there would be no mixing an matching of VM solutions.

Next-up was VirtualBox. I’d had limited success with it in the past, especially under Windows. However, one of the product’s weak spots – Host Interface Networking – was entirely dysfunctional under “Gutsy.” It may have been my wireless connection (though it worked fine under Windows with a static bridge). In the end, my only recourse was to configure two NICs for each VM, one attached to the “Internal” network (to allow inter-VM communication) and the other attached to the outside world via NAT.

Of course, this configuration wasn’t entirely stable (VirtualBox Shared Folders still cause XP to blue screen every time I access them), and it took quite a bit of trial and error (not to mention a few reboots of the Host after VirtualBox got all “zombie” on me) to get the VMs to boot reliably. Still, it worked better than QEMU/KVM, and after some effort I had three working virtual machines running Windows Server 2003, Windows XP SP2 and Windows Vista, respectively.

The next step will be to try to recreate my development environment under VirtualBox. And maybe to sleep…sometime…this week… 🙁