16:18 Friday, October 10 2008

VirtualBox, you suck

I've started working on a new project for work, where I need to setup several centralized build environments for testing purposes. I decided that it would be potentially most efficient if I got one very beefy server, and then used a virtualized environment to setup the operating systems. My original plan was to install Fedora9 for the host, and then use Xen for each of the operating systems. That plan failed early on when I discovered that Fedora9 doesn't have any dom0 kernel support. After chatting with Ian a bit, he suggested trying Sun's VirtualBox instead, as it works fine in Fedora9. Normally, I try to avoid Sun products like the plague, as they look nice & shiny on the surface, and then thoroughly disappoint after being used. But, I figured this was worth a try, as the other alternatives would be more work up front.
VirtualBox installed rather easily, and the documentation looked decent enough. However, my attempts to install Vista64 inside was a complete disaster. At first the Vista install DVD kept crashing exactly when it was supposed to switch over to the GUI (early on). I worked around that by kicking the available VRAM inside of VirtualBox up from the default of 8MB to 128MB. The host system was a 4way-Xeon with 4GB RAM, so it was certainly beefy enough for the task, however the Vista install took nearly 16 hours to complete. It was as if the emulated disk controller was working in PIO mode, and only writing about 1MB/s. I was hoping that maybe it was just an installer fluke, and the actual OS would run ok, but no such luck. It was glacially slow. Just trying to drag the mouse across the desktop took about 30 seconds, as it would move a few millimeters, then freeze for 3-5 seconds. After fighting this battle for about an hour, the host OS kernel experienced a kernel Oops, and crashed, bringing vista down with it. So much for Sun's claims of VirtualBox being "an extremely feature rich, high performance product for enterprise customers".
I still had a lingering doubt that maybe it was just the host system that was flaky, so I blew away Fedora9, and installed RHEL5 instead. I wasn't in the mood for another VB trainwreck, so I went with RHEL5's native, shipping Xen implementation. I did have to manually install a bunch of Xen related RPMs that the RHEL5 installer refused to provide, but that was 5 minutes of trivial effort, and then I fired up virt-manager. While it wasn't nearly as slick & pretty as VirtualBox, it was functional enough to get the ball rolling. More importantly, Vista64 installed smoothly, and quickly, and was up & running in less than an hour. I have to give Redhat credit. They've done a good job making Xen easy & accessible.
Admittedly, this wasn't exactly a fair comparison, as I never tried to run VirtualBox inside of RHEL5, and this might have been some Fedora9 kernel bug. However, as my original preference was to just use Xen anyway, I'm satisfied.