Top Free Virtualization Solutions
In the current market there are a number of different virtualization solutions available, some of which are open source and some of which are not.
This article looks at three of the most popular open source solutions: OpenVZ, Oracle’s Virtualbox and Citrix’s Xen.
The first thing that must be understood is that each of these products takes a slightly different approach to virtualization. OpenVZ utilizes what is referred to as Operating System (OS) virtualization, Virtualbox utilizes hardware virtualization and Xen utilizes paravirtualization and virtualization.
So the first question that we’ll tackle today is: What is the difference between these types of virtualization solutions?
With OS virtualization, a special kernel is run which includes support for what OpenVZ calls containers (VPS’s). Inside each of the containers runs another copy of the host operating system. OpenVZ is limited to running both host and guest OS’s; however the guest can be running a different flavor, but must be able to share the same special kernel.
What these containers essentially resemble are a highly evolved version of chrooting, with each of the host and guest operating systems isolated from each other but able to share the same physical resources. This type of implementation while limited by its support of only Linux also has a performance advantage (debatable by some) because the amount of virtualization overhead it very limited (1 – 3%).
Now paravirtualization (Xen) and full (hardware) virtualization (Virtualbox) are similar in that the purpose is to allow total guest isolation and “almost complete” to “complete” hardware emulation.
With paravirtualization, the guest operating systems are able to communicate with the hardware via a hypervisor; this hypervisor manages the guest access to the hardware and emulates hardware in software when required. Paravirtualization’s disadvantage over full virtualization is that it does require that the guest operating system have a modified kernel that is aware of its relationship with the hypervisor.
With full virtualization the guest operating system can run with pre-built unmodified kernels. It should be noted however that many operating systems which are popular have modified kernels available which allows them to be run.
Having used OpenVZ, I believe that it is an excellent, solid product which is very easy to manage once it is up and running. However, one of its best advantages is also one of its biggest problems; that being operating system virtualization. The host operating system must be supported and run a modified OpenVZ supported kernel, if this kernel has not been previously compiled for the operating system requested then the kernel must be compiled with support for OpenVZ.
Now the efficiency is worth the trouble that installation can be, but only if you are skilled in Linux. Once up and running however, OpenVZ runs very stable and supports a very large number of overall containers. OpenVZ also has another ability which makes it a good selection for certain implementations, that being that resources can be easily shared. This includes the ability to easily oversubscribe both the CPU and the memory of the host computer. Now as long as the host computer has enough hardware to support the requested resources (Live requests, not on creation) you will be fine.
One thing that can be hard to find with OpenVZ is a good stable feature rich management GUI, there are several available but none which ever lived up to my expectations.
If you’re interested in giving OpenVZ a try, here’s where you can get more information: wiki.openvz.org.
Xen is a very popular virtualization solution which works on a number of different platforms including Redhat RHEL 5 and Fedora 7, Sun Solaris and Debian Etch, Lenny and above. Citrix also has a Xenserver platform which is targeted at the enterprise space. As stated above, Xen mainly has worked through the use of a hypervisor which emulates a hardware platform which is used by the guest operating systems.
This paravirtualization technique is able to achieve high performance on a number of different architectures including Linux and Solaris and support an even larger number of guest operating systems including Windows. This technique does require that the guest operating system be aware of the hypervisor and thus requires a modified kernel on most hardware. The exception to this is with newer systems running Intel’s VT-x and AMD’s AMD-V architectures; with the host hardware supporting these extensions, many guest operating systems are able to be run unmodified and Xen becomes more of a full virtualization solution.
There are several management tools which are available for Xen, most of which this author has not used so their complete feature support and ease of use is unknown.
If you’re interested in giving Xen a try, here’s where you can get more information: citrix.com
Virtualbox is a newer solution which has only been around a couple of years. Virtualbox differs from the other two solutions because it is a full virtualization solution. What this means is that the guest operating system sees a copy of the hardware which the host system is running on. At this time the only supported hardware platforms are x86 and x86-64.
At the time of this writing, Virtualbox supports a large number of host operating systems including Linux, Mac OS X, Windows XP, Windows Vista, Windows 7 and Solaris. Along with this large list of host operating systems comes a larger list of guest operating systems including all the host operating systems and includes FreeBSD, OS/2 Warp, Haiku, Syllable, ReactOS and SkyOS additionally. Virtualbox also has support for the virtual hard drive formats from VMWare (VMDK) and Microsoft (VHD) as well as their own proprietary Virtual Desktop Image (VDI) format.
Virtualbox’s limitations include no support for 64-bit guest operating systems without virtualization hardware (VT-x or AMD-V) as well as very limited support for oversubscription compared with OpenVZ.
If you’re interested in giving VirtualBox a try, here’s where you can get more information: Virtualbox.org
Give Virtualization a Shot
Each of these solutions has their specific segment of the market which works very well for each of them. Each of them provides solutions which can be overlapping and selection greatly depends on the knowledge of the installer and the feature requirements of the end solution.
OpenVZ is a great ISP VPS solution as it provides isolation and great oversubscription while also supporting most Linux features. Both Xen and Virtualbox are great solutions and which one to use depends on the specific features required.
Xen and Virtualbox both compete with VMware as well, and each has their own advantages and disadvantages. Xen is a proven solution and has been around for quite a while, this longevity makes its support wide ranging and support for it equally as wide. Virtualbox is a newer solution but is supported by a large company (Oracle) which means that at the very least the basic support should be available.
At the time of this writing, Xen and Virtualbox can be quite easy to install and configure both with CLI and web based tools. And since all three are open source products, there’s plenty of free tutorials, help and community support for these virtualization solutions.