Thinking Inside the VirtualBox

Sun Microsystems used to be a major player in the computer world; and I guess since Java belongs to Sun they are still a a fairly major force…

There’s a number of open source or free projects that Sun sponsors:

And, of course, it’s VirtualBox that has inspired this post.

VirtualBox 2.0.4 released on 24 October 2008, and from my initial experiences with it, it’s a contender.

A fairly mature x86/x64 virtualization framework for x86/x64 platforms.  VirtualBox runs on Windows, OS-X, Linux, and of course Solaris.

What sets it apart — well it’s to my knowledge the only fairly mature cross-platform virtualization framework that’s FREE on all platforms.

In general it doesn’t require hardware virtualization support with the exception that to run a x64 guest you must be on an x64 host with hardware virtualization.

Going through the list of features and playing with it there’s really nothing I couldn’t find that it didn’t do (and in playing with it, it seemed to work well)… the one feature that VirtualBox supports that none of it’s competitors had last time I looked (and that Hyper-V is sorely missing) is SATA (AHCI – Advanced Host Controller Interface) support… that provides much more efficient emulation of disk channel connections to the guest (and thus much better performance — and if you recall from my post on Hyper-V the fact that Microsoft doesn’t have SCSI boot support or AHCI support at all is what prevents me from moving to Hyper-V).

VirtualBox does apparently support VMWare virtual disks, but not Microsoft virtual disks (both of them provide open specifications, so my only conclusion is that Sun’s anti-Microsoft bias is at play which is sad since VirtualPC, Virtual Server, and Hyper-V account for a fairly substantial segment of the market, and a growing segment).

Like any product, you really need to carefully evaluate it based on your needs, but my feeling is that certainly for Mac users this might be the choice if you don’t want to by Parallels Desktop… and for Windows desktops this looks to be a very good.

NOTES:

On Windows if you want to use this on a server host machine (ie one that doesn’t require users to control the virtual machine) VirtualBox doesn’t really provide any interface for controlling machines in this manner; however, you can launch a VirtualBox machine from the command line, so you can have your server start up VirtualBox sessions at boot… though there are no tools provided by VirtualBox for managing running instances started this way.  My recommendation is that the VirtualBox team add a tool to manage and launch instances in a server environment.

On Windows (and other OSs) the way VirtualBox handles host networking (the default is a NAT’d network through the host… which could have some performance impact) is buy using the TUN/TAP driver.  Certainly they way Microsoft handles virtualization of the network adapter is far slicker, and I found that using host networking is not as reliable as NAT; hopefully this is an area where there will be some improvement.

Lastly, I haven’t run any actual performance tests head-to-head with  Parallels, VMWare, VirtualPC, and Virtual Server… but I can tell you that guests “feel” substantially faster running under VirtualBox (I was quite impressed — and surprised).


VirtualBox

Originally posted 2008-12-08 12:00:55.