A look at the good, the bad, and the not-so-ugly of Oracle's latest incarnation of VirtualBox.
It might seem strange to post a “first impressions” article an entire month after developers release a new version but the original wasn’t stable and first impressions weren’t positive. To give VirtualBox and its developers a fair shake, the release of 4.02 is a good starting point. There are still some bugs* in the software but overall first impression are positive. While you shouldn’t use it for production just yet, the 4.x line has potential.
VirtualBox is still free and licensed under the GPL. You can download it from the VirtualBox Downloads page for Windows, OS X, Solaris, and Linux. You should also grab the VirtualBox Extension Pack while you’re there. The Extension Pack provides support for USB 2.0 devices, RDP, and PXE boot for Intel cards. There is a tutorial later in this article that explains how to install the Extensions Pack.
Note:The system used in the demonstrations for this article is a 64-bit, dual core, 4GB RAM, Ubuntu 10.10 Desktop installation with updates and VirtualBox 4.02. It is a fresh installation of the operating system and VirtualBox. The system contains no other software.
Either download VirtualBox from the website and install with your package manager or add VirtualBox to your list of repository sources. For Debian-based systems, you’d add the following line to /etc/apt/sources.list.
deb http://download.virtualbox.org/virtualbox/debian maverick contrib
For Red Hat-based systems, such as Fedora, add the following to your /etc/yum.repos.d.
name=Fedora $releasever - $basearch - VirtualBox
Debian-based systems will complain about the key file, so you’ll have to perform the following prior to installation:
wget -q http://download.virtualbox.org/virtualbox/debian/oracle_vbox.asc -O- | sudo apt-key add -
Complete the installation of VirtualBox via the repository or download.
A Virtual Tour
To find the graphical VirtualBox application, navigate to Applications->System Tools->Oracle VM VirtualBox. You’ll notice that the interface has changed a bit from the 3.x versions. Although not necessary, we’ve come to expect some cosmetic changes with major software releases. On first glance, VirtualBox resembles Microsoft’s Virtual PC with its VM preview pane. But, don’t worry, the basic VirtualBox look and feel hasn’t changed as you can see in Figure 1.
Figure 1: VirtualBox 4 GUI and the New VM Preview.
The one advantage to a preview pane is that you’re able to see what’s currently happening on a VM’s console.
Other new and interesting additions to the VirtualBox graphical interface include scaled guest display, VM desktop shortcut creation, and sortable VM list. From a user perspective, the scaled guest display is most impressive of all the improvements.
Ordinarily, your VM appears on your system according to the display resolution (autoscale mode) that you’ve set on the VM, which is the default mode in 4.x. Switch easily between autoscale display mode and Scale Mode (Dynamically adjustable) by using RightCtrl-c. The RightCtrl key is your Host key in VirtualBox parlance.
Switching to Scale Mode allows you to change the size of the guest window dynamically by clicking and dragging one of the guest display corners or edges. This feature is very handy for those who manage several VMs and need access to the consoles on screen. By adjustting the size of the display, you’re able to place several VMs on a single display in side-by-side or cascaded fashion. Scale Mode is especially compelling for the lucky among you who have multiple monitors.
Extras, Trouble Spots, and Bugs
As mentioned earlier, VirtualBox 4.x has a new feature known as Extensions. These are extra software support modules that the developers should have included in the main code but didn’t. Perhaps they did it to demonstrate VirtualBox’s new extensible nature so that third-party vendors will contribute to the cause.
In either case, if you downloaded the Extensions, here’s how to install them. In the VirtualBox main window, select File->Preferences->Extensions, click the Add Package icon, browse to where you downloaded the Extensions Pack, select the Extensions Pack file, click Open and you’ll receive the warning shown in Figure 2.
Figure 2: VirtualBox 4 Extension Pack Installation Warning.
Click Install and the Extensions Pack will install and appear in the Extensions Packages list as shown in Figure 3.
Figure 3: Extension Pack Added to the Extension Packages List.
One of the most annoying trouble spots in the current version of the software is that some things that work locally in the VirtualBox GUI don’t work remotely. For example, starting a VM failed for both the Ubuntu and the Windows VMs that you saw in Figure 1. They both started locally without issue.
Another particularly troubling aspect of this version is that exporting and importing VMs is a function that fails randomly. Out of 13 fully functioning VMs, only the two listed would successfully export from the original host, import to the new host, and run on the new host. The exporting host system also has the latest version of VirtualBox installed. A major bug (Not related to VirtualBox code) that you might see during an import of a guest system from another host, shown in Figure 4, is the warning you’ll see about your VMs running with I/O cache disabled on an /ext4 partition.
Figure 4: VirtualBox 4 Warning: I/O Cache, /ext4 and a Linux Kernel Bug.
Change the I/O cache settings for your virtual disks to “enabled” as a workaround or use an /ext3 filesystem, as suggested. This is a big “wait for another major update” flag before you move VirtualBox 4.x into a production environment. See the Sidebar: “Export, Import, Run Failures for a list of VMs that had trouble in the transition from one VirtualBox 4.02 system to the new one. Note: The CentOS 5.5 System never booted on the new system.
For all the problems encountered with VirtualBox 4.x, it does have tremendous potential as a replacement for your 3.x hosts. The developers have come up with some ambitious improvements that, once the bugs are fixed, will be worth the wait. If you like to tinker and deal with what should be considered beta software, go for it, otherwise, stick with VirtualBox 3.x until Spring.
* Unfortunately, I think I found most of them during the writing of this article.