Tuesday Dec 08, 2009

VirtualBox 3.1 released (last week)!

(A little late, I know but last week was kinda busy...)

Even though the version number only moved from 3.0 to 3.1, last week's VirtualBox release was a significant one with lots of very cool, but also very useful, new features:


Teleportation is Live Migration++. It is the ability to move currently running virtual machines across different physical machines with no interruption as you do it. And whereas with Live Migration/vMotion the virtualization platforms have to be near identical to work, teleportation is powerful enough to cope with:

  • different host operating systems, such as Windows to Linux
  • different classes of computer, such as server to laptop; and even
  • different CPU architectures, such as Intel to AMD (yes, the manual has a bug here) 

This means greater choice of platforms for customers, and interesting solution opportunities for our partners.

VirtualBox exposes the teleportation primitives via APIs which higher level logic can call to direct the teleportation process. For people looking to exercise these APIs you can use the VBoxManage command line tool, such as:

VBoxManage modifyvm <vm name> --teleporter on --teleporterport 1234 \\ 
  --teleporterpassword password --teleporteraddress <dns name/ip address>

VBoxManage controlvm <vm name> teleport --port 1234 \\
 --host <dns name/ip address> --password password

(I promise to do a dedicated posting on this real soon now.)

Snapshots 2.0 

Taking snapshots is a great way of saving the state of a virtual machine at various points in its lifecycle. Until this release, VirtualBox only allowed you to revert to the last snapshot state but with 3.1, the Snapshot feature in VirtualBox has been given an overhaul and you can now:

  • Take any number of snapshots of a vm;
  • Revert to any arbitrary snapshot state;
  • Take further snapshots from that point.

This means that you can create sophisticated multi-generational snapshot trees, ideal for testing your software on previous generations of operating systems or Service Packs for example. Or put another way, you can go backward or forward in time to exactly the state of the snapshot that interests you.

For example, here is a snapshot tree where we can revert to whichever Windows XP Service Pack and IE version we need to:

Performance Improvements

This time there are improvements in:

  • execution speed - paging optimizations which in our tests produced a 30% increase when compiling the Linux kernel;
  • network performance - newly introduced support for guests with VirtIO drivers;
  • display performance - new 2D video acceleration for Windows guests which uses the host video acceleration hardware.

Dynamic Network Configuration

Say you're using a Host-only network setup with a couple of vm's talking to each other, but then you need to do a Software Update of one of the vm's. This requires that you need Internet access. You can now switch to a networking mode, say NAT, on the fly without needing to close down the vm.

Multiple concurrent CD/DVDs

Storage handling changed in 3.1 with the most obvious benefit now being that you can have multiple CDs attached to a guest. This meant quite some changes in the GUI and command line.

Support for Parallels disks

For people defecting to VirtualBox but wanting to bring all their worldly goods with them, we now support Parallels .hdd virtual disk format files.

Solaris Host USB

Using a Solaris notebook or PC? Then we're now using the later Nevada (124+) build USB features.

EFI Firmware

Some operating systems (e.g. Fedora) are moving to using the Extensible Firmware Interface (EFI) in place of a more traditional BIOS firmware. VirtualBox 3.1 introduces experimental support for this.

These are just some of the headline features. You can get a fuller list from the ChangeLog, but all-in-all a pretty good crop of features and consistent with the mission to make VirtualBox the best hypervisor out there.


Friday Nov 27, 2009

ACPI Shutdown and Windows 7 or Vista

A little something that had me scratching my head for a while and may save others some time....

When you try to close the window of a VirtualBox virtual machine session, a dialog pops up thus:

In the past, the "Send the Shutdown signal" has sent a Powerdown message which caused Windows XP vm's to gracefully shutdown.

But on Windows 7 vm's, the default Power Options when installed on a laptop are undefined:

So to get the previous behaviour you need to change the Power Options as follows:

Hope this saves someone some time.


Tuesday Nov 17, 2009

Sun VirtualBox 3.0.12 released!

In the spirit of, "Hey we fixed a bunch of bugs, why hold on to them?" VirtualBox 3.0.12 was released today.

You could read about the fixes or just go get the new version


Friday Oct 30, 2009

Sun VirtualBox 3.0.10 released!

VirtualBox 3.0.10 just released!

Among other things this maintenance release:

  • fixes a memory leak on Mac hosts;
  • solves a few SMP issues; 
  • detects other active hypervisors (e.g. XP-mode); and
  • fixes a bug with Solaris host DVD support;
  • check the full list

It is available to download from the Usual Places .


Tuesday Oct 06, 2009

Sun VirtualBox 3.0.8 released!

VirtualBox 3.0.8 was released today. This aims to increase stability and provides support for very large disks too.

The 3.0.8 maintenance release was made available to download from the Usual Places earlier today.

For a fuller list of fixes check out the ChangeLog


Wednesday Sep 23, 2009

VirtualBox Virtual Disk formats

The hard-drive(s) of your virtual machines are simply files which are stored typically on the host's filesystem. On my Mac they're in 


VirtualBox understands several disk formats including:

  • .vdi or "Virtual Disk Image", the native format for VirtualBox
  • .vmdk - VMware's format
  • .vhd - Microsoft's format

This means that if you have an existing hard drive from another virtualization platform, you can plug it into a VirtualBox vm by telling the system about it using the Virtual Media Manager...

Sun VirtualBox

Virtual Media Manager

 And then configuring it in the vm's Storage configuration dialog (or via the command line):

Android - Storage

Given that VirtualBox not only understands, but can also create, these different formats, one obvious question is "what is the difference?" or "which one is best?" 

One of the VirtualBox team (thanks Klaus) explained:

"The major difference is that VDI uses relatively large blocks (1MB) when growing an image, and thus has less overhead for block pointers etc. but isn't ultimately space efficient in the sense that if a single byte is non-zero in such a 1MB block the entire space is used.
VMDK in contrast uses 64K blocks, and thus has more management overhead and generally a bit less disk space consumption
What offsets this is that VDI is more efficient when it comes to snapshots."

So now you know!

- FB 

Thursday Sep 10, 2009

Sun VirtualBox 3.0.6 released!

VirtualBox marches on with the new version 3.0.6 maintenance release focused on performance and stability. If you use AMD, then this is Christmas morning ;-) And a few Snow Leopard wrinkles were ironed out too. 

Version 3.0.6 also has a few changes in support of the embryonic VirtualBox Web Console project. 

The 3.0.6 maintenance release was made available to download from the Usual Places earlier today.

For a fuller list of fixes check out the ChangeLog


Friday Aug 14, 2009

Growing your Virtual Disks

When I create new Virtual Machines, or guests, in VirtualBox I tend to skimp a little on the size of the virtual hard disk I create because I'm trying to save on host disk space. And this tends to come back and bite me when the guest quickly fills the disk and I run out of disk space in the guest. So you think, "wait a minute, this hard disk is just a file, so why can't I make the file bigger?".

The problem here is that, yes, to the host system it is just a file, but to the guest it is a hard disk and they're not expected to suddenly grow. So if or when they do, you need to tell the guest OS about this, by modifying the partition table too.

So here are a few options that you can use to deal with lack of disk space in the guest:

1. Compact the disk

One option is to not grow the disk at all but reorganize the data on it. Achim told us "How to Compact your Virtual Disks" last month. Note that you don't need to mess around with disk partitions with this option. 

2. Create a new bigger disk 

You could simply create a new bigger disk and copy over the old data  but you still need to tell the guest that the new hard disk has bigger partitions. Here's a step by step guide to doing this.

3. Create a bigger disk to start with but with a smaller root partition

One of the VirtualBox team (thanks Frank!) gave me this tip to creating large virtual disks while controlling host disk space at the same time.

"Instead of creating a dynamically growing disk image with, for instance 20GB, the user should create a large disk image, say, 100GB, but he should only partition the first 20GB by the guest. (ed - you typically get the chance to do this during OS install). Doing so, the disk image will never occupy more than 20GB (plus some maintenance information) as long as the guest doesn't need more. Once the guest is short in disk space, simply increase the guest partition using some common tool, for instance boot the guest with a Ubuntu Jaunty LiveCD and use the Partition Manager to increase the guest partition to your needs (that application can handle NTFS partitions as well). "

4. Using a networked storage server.

If you are using VirtualBox's built-in iSCSI support to a networked storage server such as Sun's Storage 7000 systems, or maybe simply a Solaris server running as an iSCSI target with ZFS, then you can resize the disk easily using:

# zfs set volsize=10G poolname/volname

But you still need to repartition this disk, as you need to do in 2 and 3 above too.

Hope one of these works for you.

- FB 

Wednesday Aug 05, 2009

Sun VirtualBox 3.0.4 released!

The 3.0.4 maintenance release was made available to download from the UsualPlaces earlier today.

The myriad of fixes attempt to squash bugs in areas including SMP, 3D and NAT.

For a fuller list of fixes check out the ChangeLog.

- FB 

Friday Jul 10, 2009

Sun VirtualBox 3.0.2 released!

Just a quick note to say that the 3.0.2 maintenance release is now available to download from the Usual Places.

This release fixes a few problems with the 3.0.0 release including networking hangs, SMP performance and "Solaris-as-a-guest" issues. For a fuller list of fixes check out the ChangeLog.

- FB 

Tuesday Jun 30, 2009

VirtualBox 3.0 is released!

Good news! VirtualBox 3.0 is released. This is the  release where guests went SMP (multiple vCPUs).  And to show what that means here's a screenshot of a MacBook Pro (Intel Core 2 Duo) running:

  • Windows Server 2008 with 4 vCPUs (left hand side);
  • Ubuntu Server with 2 vCPUs (right hand side);

...on a host which has 2 physical CPUs, as can be seen from the Mac's Activity Monitor window bottom of picture. (Click on the image to zoom in).

6 vCPUs from 2

For the interested amongst you, each virtual machine is a separate process on the host. And each process consists of several threads, where some of those host threads represent virtual CPUs, and others represent helper threads that deal with stuff like device access.

Configuring your guest for SMP is a piece of cake. The VirtualBox 3.0 UI has been modified to hopefully be easier to use and we've introduced a simple slider control to determine how many vCPUs you want to assign to your guest.

32 vCPUs

One point to note is that if you assign many more vCPUs than you have physical CPUs the system may run slower because the host spends more time scheduling threads than actually running them. So VirtualBox limits the CPUs you can assign to a guest to twice the number of physical CPUs. i.e. in the example above, 4 vCPUs was the limit of a 2 CPU system in a single guest (you can have several concurrent guests BTW). And on larger server platforms VirtualBox can go to a maximum of 32.

For a full list of what's new see the ChangeLog and download it now from the Usual Places.


Friday Jun 19, 2009

VirtualBox 3.0 Beta Program

If you know what you are doing and you like to live dangerously, you might want to read about the VirtualBox 3.0 Beta which was made available this week.


Tuesday Jun 09, 2009

Sun VirtualBox and Sun VDI Power JavaOne

Even though you may be away from the office attending a conference, the rest of the world moves on and you quite often need to keep up with your day job. At JavaOne this year, Sun provisioned 21,000 Virtual Desktops for the attendees to use to stay on top of things. This blog entry describes briefly how this was done using VirtualBox and Sun VDI...

User's experience

Dotted around the Moscone Center were hundreds of Sun Rays. These were in the Lobby Areas,

Underpass between North and South Halls, 

and Cyber Lounge areas in the Pavilion.

Every JavaOne attendee was given a smartcard as part of their Welcome Kit on registration. And all you needed to do to get your Virtual Desktop was insert this into the nearest free Sun Ray.

The user can then choose which type of Virtual Desktop they want from:

  • Windows 7 
  • Ubuntu 8.10
  • OpenSolaris 2009.06 

Under the hood:

The first time you make this choice your Virtual Desktop virtual machine (vm) is created based on a template in Sun VDI. The virtual machine configuration is held in a MySQL database and the virtual disk image is quickly cloned from the template using a feature of ZFS which underpins the Sun Storage 7000 servers that were in use. Then Sun VDI chooses a VirtualBox server (based on load) and launches the new vm on that server, with the configuration and iSCSI target id that uniquely identifies the new virtual disk.

When you pull your card out the vm suspends after a short period which means resources can be freed up for other users.

When you re-insert your card and launch a previously created Virtual Desktop, the vm is restored from disk (note that this can be to a different VirtualBox server than the original session ) and you are good to go.

Here is my Windows 7 Virtual Desktop.

Administrator Experience 

To manage the 21,000 virtual desktops we had 2 guys (admittedly smart guys).

And the whole thing was powered by a single rack:

The rack consisted of:

  • 4 VDI servers - 4 Sun Fire X4450, each with 4 CPUs and 64 GB memory.
  • 5 VirtualBox servers - 5 Sun Fire X4450 servers, each 4 CPUs, 6 cores per CPU and 64 GB of memory.
  • 3 Storage servers - 3 \* 7210 Unified Storage servers.

This was vastly over-spec'ed as we could see using the Analytics of the storage servers:

Thanks to Christian and Thomas (our architects and admins for the week) and kudos to Dirk's and Achim's teams.

- FB 

Saturday May 30, 2009

Sun VirtualBox 2.2.4 released!

Quick one: Version 2.2.4 was made available for download last night from the Usual Places.

What got fixed is listed here.

- FB 

Thursday May 21, 2009

Virtual Appliances

One of the really cool and really powerful features introduced in version 2.2 is the ability to export and import virtual appliances. A Virtual Appliance consists of:

  • description of one of more virtual machines in an OVF file;
  • a set of one or more virtual disk images.

 With VirtualBox you can now easily create virtual appliances by simply exporting your vm's directly from the VirtualBox GUI or on the command line. 

And of course you can import just as easily as you would expect.

For details of how it works and why you might want to do this here's a 9 minute movie. There are chapter markers for Import and Export sections if you want to skip thru it.



Fat Bloke


« June 2016