In Texiwill’s recent vSphere post, he came to the conclusion he would have to retire his HP DL380 G3 hardware in order to upgrade to vSphere. There is an interesting question as to whether his development environment could be saved by the judicious application of some Open Source technology. I too have some hardware of that vintage (an ML350 G3) so I thought I’d have a go, and to add a little spice I thought I’d try and do it using free Open Source software. After all ESXi 3.5i is free, and that works pretty darn well on a ML350 G3.
So, I install Linux Ubuntu 8.0.4 LTS with a built-in KVM and we’re done? Well, actually that proves a little disappointing, since KVM suffers from what, I surmise, is the problem with vSphere, the lack of INTEL-VT (or for AMD chips AMD-V) support in the processor. As it turns out this also means that Xen isn’t going to work either, at least if it does work it will not support a Windows guest. So it seems we have drawn a blank.
However, there is one non-obvious answer in the form of Sun’s VirtualBox, a type 2 hypervisor that runs in Windows, Linux, OpenSolaris and Mac, and continues to support processors without virtualization support.
OpenBox is fairly unusual in that it is triple-licenced. There is a standard commercial licence where you pay Sun per Desktop or per Server CPU, which is likely to work out a little cheaper than VMware or Parallels. There are reported to have been around 15 Million downloads. However, it’s unclear how big the paid user base is because there is also a Personal Use and Evaluation Licence (PUEL) that allows evaluation and academic use, as well as commercial use of a copy that you personally have installed, as long as you access its guests from a single computer at a time. Then there is a GPL-2.0 licenced version called VirtualBox OSE (you can install this using apt-get on an Ubuntu Server). It obviously does not have these restrictions but is “nobbled” in two key ways:
- USB Support (designed to limit usefulness in Desktop Virtualization).
- Remote Desktop Access (Designed to limit usefulness in Servers).
The Remote Desktop Access issue requires more explanation. All guest operating systems will have a console or screen. In Desktop Virtualization this is probably the thing you really care about, so it is good to see it on your desktop. Server side, however, it’s not really terribly interesting. Most of the time you use RDP or SSH or whatever to get into the guest.
In the free Infrastructure Client that comes with VMWare ESXi, you can connect to this console remotely as and when you choose. In the non-GPL version of VirtualBox there is a built in RDP Server through which you connect to each of the consoles of the guests on the Server. VirtualBox OSE, however, requires you to maintain the console in a window at all times. In our Ubuntu/VirtualBox solution this is an X Window which you can fire up remotely, perhaps over an ssh tunnel, but if you close the window on your local machine or if connectivity is interrupted, the guest goes down. Alternatively you can run an X Server on your Server, and show the guest’s consoles in that, but then you can’t see the consoles, at least not without some other software.
So in this way VirtualBox OSE is much less viable than ESXi, but ESXi is also nobbled. There’s no command line any more (well, not officially). Users of ESXi don’t exactly find it easy to, for example, clone a VM, or set up a firewall and router. Whilst the API is not as locked down as VMWare would probably like, your ESXi licence precludes use of third-party tools (including Open Source tools) that “bypass” these limitations. In VirtualBox OSE the command line interface is still there, all the APIs are public, and you can build use and sell tools that access them, adding back the nobbled features if you choose.
However, despite the installed base there isn’t much of a market in VirtualBox add-ons. Oracle bought Sun and seems committed to Xen. Maybe the death of the old hardware (and the dominance of KVM and or Xen) will be the end of the story for VirtualBox on Linux. Perhaps this simple Open Source hypervisor will fade away. That would be a shame, but perhaps its future is different, perhaps it is the Open Source hypervisor for non-Open Source platforms. Chrome OS and Mac OS on Windows? Who knows what the future holds? In any case it’s probably time for Oracle to drop the triple-licencing and put all of the features in the open source, and let the community decide its direction.