Taking a new operating system for a spin is easier than ever before with virtualization software but when that software is free, it’s even better. There are virtualization choices for all tastes listed here. For those of you who prefer hypervisor-based virtualization, I urge you to try Xen or Proxmox. If you’re into high performance, container-based OpenVZ wins the prize. Red Hat’s enterprise-level virtualization solution, KVM, delivers incredible performance for a full virtualization solution. And, for you desktop-level virtualization converts, VirtualBox dishes out performance and a gaggle of high-end features.
All virtualization software in this week’s article is released under the GPL-specifically GPL version 2. Software released under the GPL is free. Free, under the GPL, means that you have the freedom to use, examine, change, redistribute and even sell the software as your own.
The Kernel Virtual Machine is a full virtual machine (VM) solution for Linux-based hosts. Using it, you can run Linux, Windows and other operating systems as guests without modification. KVM is “traditional” virtualization in that each VM receives its own set of virtual hardware (CPU, RAM, disk, NIC, video). As of Linux kernel version 2.6.20, KVM’s kernel component is included as part of the core Linux code.
KVM offers a low-overhead virtualization solution that only requires the kernel component, CPU(s) with Intel VT or AMD-V extensions enabled, a modified version of QEMU, a processor-specific module (kvm-intel.ko or kvm-amd.ko) and a kernel loadable module: kvm.ko.
Virtually GNU Choices
OpenVZ is container-based virtualization, which is analogous to BSD jails or chroot environments. Virtual containers are powerful and performance is native but the major drawback is that you’re limited to a shared kernel for all VMs. A shared kernel means that if you run Linux, your VMs will also all be Linux VMs because they share the single running Linux kernel. Container-based virtualization is easy to implement, easy to maintain and is the least expensive form of virtualization currently available.
You might ask, “Why are containers so great when you share a single kernel — why wouldn’t you just install a new service on the original server system?” The answer is isolation. Containers are secure chrooted environments that are secure and isolated from one another.
For example, if you want to run multiple copies or versions of the Apache web server on your system, consider using containers to separate the different versions from one another. Or, if you run a required service that has a history of security problems (Certain versions of BIND, for example); a container is the perfect isolated and secure solution.
Proxmox Virtual Environment (VE) is a clever combination of KVM and OpenVZ in one server. It serves the best of both worlds: Full virtual machines and container-based virtualization. In case you didn’t see it, I did a review article on Proxmox VE 1.2 back in May.
VirtualBox is Sun’s (Now Oracle’s) entry into desktop-level virtualization’s fray. Now at version 3.0.10, VirtualBox competes favorably with Microsoft’s Virtual PC, VMware Workstation, Parallels Workstation and QEMU. Available for Windows, Linux, Mac OS X and Solaris hosts; VirtualBox brings you a rich desktop virtualization environment including such amenities as host/guest shared folders, USB, serial ports, sound, adjustable graphics memory and a snapshot feature.
Perhaps the winner of the cool feature of the day is the import and export appliance wizard. Create a virtual machine with your application in VirtualBox and then export it as an appliance. The results give you an open virtualization format (OVF) file descriptor and a VMDK (VMware) disk file. You can also import from OVF files. Yes, VirtualBox is all that and a bag of computer chips.
Always the last word in virtualization (Alphabetically, that is), Citrix-sponsored xen.org is the free software version of Citrix XenServer. You can download it, run it and use as many copies as you need without ever paying a penny to Citrix or anyone else. There are also several free management applications available for handling multiple Xen hosts and their VMs.
Xen Note: Don’t confuse the fact that Citrix XenServer 5.5 is free of charge with xen.org’s Xen product, which is free software as defined by the GPL.
You also have the option of downloading a live Xen CD complete with four pre-configured virtual machines for testing. Download the Xen Live CD v2.0 and give it a try.
If you’re looking for real freedom with your choice of virtualization software, you have it. All levels. All types. All free. Write back and let me know how you like these options for your virtualization solutions.
Kenneth Hess is a Linux evangelist and freelance technical writer on a variety of open source topics including Linux, SQL, databases, and web services. Ken can be reached via his website at http://www.kenhess.com
. Practical Virtualization Solutions by Kenneth Hess and Amy Newman is available now.