Virtualisation (aka virtualization) software has been around for a long time. This software allows you to host one or more guest operating systems on top of the one you’re already running at near full speed. For example you could run Linux as a guest on Windows or OpenSolaris as a guest on Mac OS X. Some of the reasons you might wish to do this are:
- Testing: Check a web application in browsers only available for particular operating systems.
- Development: Create software for a different target operating system. E.g. You might be developing software for a Linux based device but use Windows on your desktop.
- Security: You can run software in a restricted environment, separate from the host and have the ability to roll back to snapshots taken at a known-good point in time.
- Convenience: Whilst it might be possible to install multiple operating systems on one host you must reboot to use each one. You can use multiple operating systems simultaneously with virtualisation.
- Utilisation: You can take one server and turn it into several. You could run a Solaris database server, Linux webserver and Microsoft Exchange server all from the one (well specced) host.
There’s quite a few different virtualisation software options out there but a relative newcomer is Sun Microsystems’ VirtualBox. Originally developed by innotek it was acquired by Sun in February 2008. As well as being very capable in its own right VirtualBox is also free and open source.
VirtualBox runs on Mac OS X, Linux and Windows. It can host Windows, Linux, BSD, Solaris, OS/2 and probably many more guest OS’s. It features a seamless windows feature for Linux and Windows guests to integrate the guest windows into the host, is extensively controllable and configurable from the command line and has a built in RDP server so you can access the GUI of a guest remotely amongst many other features. It also includes “additions” that you install in the guest to get better integration with the host. Currently there are additions for Linux, Windows, Solaris and OS/2.
One particularly nifty feature if you’re on a Windows PC without Administrator privileges is VirtualBox will install and run as an unprivileged user. This means if you’re forced to use Windows at work you might be able to install Linux via VirtualBox and become a bit more productive.
In some future posts I plan to cover some ways you can put VirtualBox to use. The first of these will cover setting up a Linux guest to mirror the deployment environment of a web application.