Rian's Really Good Technoblog!

VirtualBox: Great Thing… or… nevermind…

by rian on Nov.17, 2009, under Infrastructure

Let me start by saying that I hate Windows. The Microsoft product. I don’t hate Microsoft. I don’t hate Bill Gates, but I hate, hate, hate Windows. This is not a religious thing, either. I have had that operating system break my spirit more times than I care to think about (and I’ve been at it since… Windows 3.0?). Between the blue screens of death, weird distrustful activation schemes, arbitrary proprietary methodologies, and horrible security record, I just can’t stand the operating system itself. And I’m staring at two copies of Vista on my shelf that I can’t use because they suck. That’s about $600 sitting there. Sucking.

Having said that, I also know that I can’t run everything that I’d like to run in Linux. And as much as I love my MacBook, I don’t think I care to buy all my software over again for the Mac, thank you very much.

No, for better or worse, I’m a Linux guy. Note that I am NOT recommending that ANYONE in their right mind switch to Linux for their desktop. I have a propeller on my beanie the size of a helicopter blade. If you’re starting out and can afford it, go Mac. If you can’t afford that, go Windows 7. If you’re a total geek who sits in his (or her) underwear until three in the morning trying to get a cron job to be able to get a custom kernel to build so you can hook up your old radio-controlled light-switch-remote to your machine… Linux is for you. Now, go take a shower and go to bed.

So, what’s a guy to do? I have clients who run Fedora, and I run Ubuntu. I have apps that *only* run on Windows, and the Linux “equivalent” is… let’s say, lacking. (I’m talking to you, GnuCash).

Welcome to virtualization. With virtualization, you can run nearly any (I haven’t tried hacking OSX, though I hear it’s possible) OS on nearly any other OS. It amounts to a PC within a PC. You install the virtualization software (e.g., Sun’s VirtualBox, VMWare, xen, kvm), create a virtual disk, and boot this virtual machine into your installation media. Just like that (in some cases) you’ve got a window with Windows on your desktop. No dual-booting. No second machine. Sweet.

Well, kind of. VMWare is probably the granddaddy of commercial virtualization solutions, and it can be pricey. It’s also, apparently, not the best performer on the block. The open source solutions, specifically kvm, are… well, again, if you’ve got a lot of crumbs in your beard and a Jolt-cola-gut, you might have the patience for all the obtuse, esoteric incantations needed to get the thing set up. (I can just hear him saying “well, if you can’t handle the command line… and I do NOT have crumbs in my beard…”)

Anyway, enter VirtualBox. The VirtualBox project (now owned by Sun… or somethinged by Sun… who knows…) is a super-easy-to-install virtualization solution that will even work if your processor doesn’t have the virtualization extensions (not well, but it’ll work).

I’ve installed VBox on Linux, Windows, and Mac, and it has worked great each time. Performance is, I think, quite remarkable given the situation. The interface, after installing the guest utilities that come on an ISO disk image, can be resized or run fullscreen, and except for a couple things I’ll get to, you nearly can’t tell it’s not running on the “bare metal”.

It’s not perfect, of course (but nothing is). For one thing, the relationship between things like virtual processor allocation (you can assign as many as you have to the guest OS) and performance is unintuitive. In my case, assigning two (after having run on one) caused a significant performance degradation in Windows. There are issues with APIC extensions having the same problem.

Also, I see very strange performance problems with some applications wherein they bring the guest OS (and the host, if you’re not careful) to a standstill. I can’t elaborate too much, because I haven’t seen much of a pattern, but for some reason, Dreamweaver, for instance, can barely operate if I view “Design/Code” mode, but “Design” by itself is fine, and “Code” by itself is fine.

Still, my instances of Fedora and BSDixes run great, and since the UI is much less of a concern, they can be run in console mode for the most part.

My latest experiment, having successfully converted my physical XP installation into a VirtualBox guest (called P2V, “physical to virtual” conversion) is to go the other way. I’m going to configure a client’s mail server on a virtual instance and then burn that image to a hard drive to install into the currently active hardware. If all goes well, we’ll skip all the iffy upgrades that we’d need to do otherwise, and only need to be down for the time required to burn the image and reboot.

So, if you’re a Windows person wanting to learn Linux, a Linux person needing to run Windows apps, or a Mac user wanting either… check out VirtualBox. There’s an open source version (OSE) and a personal use and evaluation version (PUEL). I recommend the PUEL version unless you have a good reason to go with the OSE. There are a few things, such as USB support, that the PUEL provides that the OSE does not.  In either case, though, it’s easy enough that you needn’t be a total geek to get it running.  And just because I am one doesn’t mean I don’t appreciate that.

:, ,

2 Trackbacks / Pingbacks for this entry

Leave a Reply

Looking for something?

Use the form below to search the site:

Still not finding what you're looking for? Drop a comment on a post or contact us so we can take care of it!

Visit our friends!

A few highly recommended friends...