Just when you thought you can start a new month without some new software, Sun has blessed the world with a ray of VirtualBox 3.1 goodness on us all! All hail the Sun. I’ve been using the Betas and trying out the spanking awesome Teleportation feature in VirtualBox 3.1. So lets take a bit of a look at the new grub.
Beam me up Scotty!
Teleportation or ‘Live Migration‘ in Xen/KVM or vMotion in VMWare allows you to move a running virtual machine to another host without any downtime. Sun brings us this ‘Enterprise’ feature to VirtualBox. Whats even cooler, is that you can teleport your running VM on different host platforms (Windows -> OpenSolaris or Linux, vice versa) but not from one hardware set (Intel) to another (AMD) unless they both have the same instruction-sets. The transport layer for the teleportation is TCP/IP, so as long as the agreed port is open and accessible you can even teleport it through the tubes! (assuming you have a fast link like those pesky Dutch)
There are a few conditions and caveats as I’ve found. Firstly you must ensure (as you’d expect) the target VM has to have the exact same configuration as the source VM (same RAM, graphics memory, storage, CD/DVD images etc) the other thing is to be weary of the CPUs the host computer has. As long as its between the same generations (different clock speeds are OK) it should work (I tried between a QX6850 -> E6600 but QX6850->AMD X2 4600+ wasn’t so pretty!).
Once you’ve configured the target host to match the source host, time to ask VirtualBox to keep its eyes open for an incoming beam.
VBoxManage modifyvm [VirtualMachineName] --teleporter on --teleporterport [Port]
Then on the source host, send out the beams to initiate the teleportation:
VBoxManage controlvm [VirtualMachineName] teleport --host [TargetIP] --port [Port]
Give it some time to think and if you tried a localhost migration, it should migrate seamlessly 🙂
Scotty doesn’t know
Scotty doesn’t know about the other little changes, but you will. The new VirtualBox has lots of refinements in the UI. For one, new icons for all the Guest operating systems. The settings window has had a make over and includes ‘optimal settings’ detection.
Here its telling me my Windows 2003 VM should have atleast 20Mb Video Memory assigned to it to work well in full-screen mode. Heading over to the Display options in VirtualBox 3.1 we find that the Video Memory selectors have got little indicators now, as well as the inclusion of 2D Video Acceleration.
Depending how ever many cores you have, it will highlight what you should set as the maximum number of cores available for your VirtualMachine as well as the recommended RAM allocation. This is what I see in my Intel QX6850 development workstation.
VirtualBox now also has experimental support for Extensible Firmware Interface (EFI) which will eventually replace the aging BIOS bootstrap (which is the default). Well known operating systems that boot via EFI include Windows Vista and Windows 7, Apple OS X and Fedora 11+.
The Storage controls in VirtualBox GUI has also had a bit of a make over. The options to select a disk and a controller have changed, CD/DVD drives can be attached to an arbitrary IDE controller too now!
The networking settings GUI in the new VirtualBox has change too, not only that but you can now configure the network interfaces whilst the guest is running – YAY!
Snapshots are a lot more flexible in this release (much like VMWare’s snapshot feature). Previously you can only restore from the last created snapshot, now any arbitrary snapshot can be restored too or branched off.
For those who use OpenSolaris (like yours truely!) the rewritten USB support (still experimental btw!) should mean we can interact with our USB devices in Solaris Nevada 124 or higher now – I’m running 127 and have USB devices appearing in my VMs.
If those don’t give you any indication on to the pure awesomeness of this release, there was a significant performance improvement for APE & AMD64 guests (VT-x/AMD-V) which will be quite noticeable from what I’ve been told by a college.
As Barack Obama said, tis time for a change..log.
VirtualBox 3.1.0 (released 2009-11-30)
This version is a major update. The following major new features were added:
- Teleportation (aka live migration); migrate a live VM session from one host to another (see the manual for more information)
- VM states can now be restored from arbitrary snapshots instead of only the last one, and new snapshots can be taken from other snapshots as well (“branched snapshots”; see the manual for more information)
- 2D video acceleration for Windows guests; use the host video hardware for overlay stretching and color conversion (see the manual for more information)
- More flexible storage attachments: CD/DVD drives can be attached to an arbitrary IDE controller, and there can be more than one such drive (the manual for more information)
- The network attachment type can be changed while a VM is running
- Complete rewrite of experimental USB support for OpenSolaris hosts making use of the latest USB enhancements in Solaris Nevada 124 and higher
- Significant performance improvements for PAE and AMD64 guests (VT-x and AMD-V only; normal (non-nested) paging)
- Experimental support for EFI (Extensible Firmware Interface; see the manual for more information)
- Support for paravirtualized network adapters (virtio-net; see the manual for more information)
In addition, the following items were fixed and/or added:
- VMM: guest SMP fixes for certain rare cases
- GUI: snapshots include a screenshot
- GUI: locked storage media can be unmounted by force
- GUI: the a log window grabbed all key events from other GUI windows (bug #5291)
- GUI: allow to disable USB filters (bug #5426)
- GUI: improved memory slider in the VM settings
- GUI: the VirtualBox website couldn’t be opened from the help menu (bug #4559)
- 3D support: major performance improvement in VBO processing
- 3D support: added GL_EXT_framebuffer_object, GL_EXT_compiled_vertex_array support
- 3D support: fixed crashes in FarCry, SecondLife, Call of Duty, Unreal Tournament, Eve Online (bugs #2801, #2791)
- 3D support: fixed graphics corruption in World of Warcraft (#2816)
- 3D support: fixed Final frame of Compiz animation not updated to the screen (#4653)
- 3D support: fixed incorrect rendering of non ARGB textures under compiz
- iSCSI: support iSCSI targets with more than 2TiB capacity
- VRDP: fixed occasional VRDP server crash (bug #5424)
- Network: fixed the E1000 emulation for QNX (and probably other) guests (bug #3206)
- NAT: added host resolver DNS proxy (see the manual for more information)
- VMDK: fixed incorrectly rejected big images split into 2G pieces (bug #5523, #2787)
- VMDK: fixed compatibility issue with fixed or raw disk VMDK files (bug #2723)
- VHD: fixed incompatibility with Hyper-V
- Support for Parallels version 2 disk image (HDD) files; see the manual for more information
- OVF: create manifest files on export and verify the content of an optional manifest file on import
- OVF: fixed memory setting during import (bug #4188)
- Mouse device: now five buttons are passed to the guest (bug #3773)
- VBoxHeadless: fixed loss of saved state when VM fails to start
- VBoxSDL: fixed crash during shutdown (Windows hosts only)
- X11 based hosts: allow the user to specify their own scan code layout (bug #2302)
- Mac OS X hosts: don’t auto show the menu and dock in fullscreen (bug #4866)
- Mac OS X hosts (64 bit): don’t interpret mouse wheel events as left click (bug #5049)
- Mac OS X hosts: fixed a VM abort during shutdown under certain conditions
- Solaris hosts: combined the kernel interface package into the VirtualBox main package
- Solaris hosts: support for OpenSolaris Boomer architecture (with OSS audio backend).
- Shared folders: VBOXSVR is visible in Network folder (Windows guests, bug #4842)
- Shared folders: performance improvements (Windows guests, bug #1728)
- Windows, Linux and Solaris Additions: added balloon tip notifier if VirtualBox host version was updated and Additions are out of date
- Solaris guests: fixed keyboard emulation (bug #1589)
- Solaris Additions: fixed as_pagelock() failed errors affecting guest properties (bug #5337)
- Windows Additions: added automatic logon support for Windows Vista and Windows 7
- Windows Additions: improved file version lookup for guest OS information
- Windows Additions: fixed runtime OS detection on Windows 7 for session information
- Windows Additions: fixed crash in seamless mode (contributed by Huihong Luo)
- Linux Additions: added support for uninstalling the Linux Guest Additions (bug #4039)
- Linux guest shared folders: allow mounting a shared folder if a file of the same name as the folder exists in the current directory (bug #928)
- SDK: added object-oriented web service bindings for PHP5
Overall this is a solid new release from Sun – unsure about its stability as I’ve only been running a few VMs (Windows 2003, CentOS and Fedora 12) for about 10-12hrs. Nothing bad as yet.
Download from the VirtualBox site:
- VirtualBox 3.1.0 for Windows hosts x86/amd64
- VirtualBox 3.1.0 for OS X hosts Intel Macs
- VirtualBox 3.1.0 for Solaris and OpenSolaris hosts x86/amd64