dcsimg

What’s GNU in Virtualization

What's better than virtualization? How about free virtualization?

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.

KVM

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

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

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

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.

Xen

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.

Comments on "What’s GNU in Virtualization"

typhoidmary

I have used Sun\’s Virtual Box with great success. I have a Linux laptop. I occasionally need to attend a GoToMeeting, which is not Linux friendly. The solution was to install a Virtual Box VM with Windows XP on it. Even though my machine is a little older (1.4 GHz processor) this solution performed well. As a test I also tried the DimDim meeting software and was able to see the presenters webcam as well as the presentation. (This was just an exercise though since DimDim is Linux friendly.)

Reply
kfries6

Wow, in the march toward brevity, you really missed out on many of the coolest features of several packages.

I for one have given up on all but two products, both mentioned above.

On the desktop: VirtualBox. Why is based upon many of the types of features that you did not even mention above. Such as an integrated desktop. I rarely need Windows apps any more, but when I do, I don\’t like trying to have my desktop in a window. So, instead, I use seemless desktop feature that causes my windows desktop to disappear except for the bar at the bottom. Now I have a Windows startbar on my Linux desktop. Couple that with the share folders, and it is as if my Windows apps are running on my Linux desktop… Wanta freak out your favorite Linux hater / Windows fanboy? Share your desktop, then run MS Word right from you Linux system, and open files on your desktop. Watch them freak! ah, good times, good times.

For the server: ProxMoxVE. This is not the same as your standard, free version of VMWare, or the open version of Xen. This is closer to the enterprise version of both of these products, neither of which is free. Live migration and failover between virtual servers. Hello! How did this little gem get missed in a side by side comparison? And unlike so many other products (like VMWare), there is no goofy client to remote the desktop. Instead, it uses a built-in version of VNC. So, you can use standard tools from you desktop to remote it.

Virtual machines have come a long way in the past few years. It would be interesting to see the same article written five years from now.

Reply
jedmeister

+1 for ProxmoxVE – its awesome! Gives you OpenVZ for excellent performance of Linux OSs and KVM for when you want other OSs. Very neat web-based interface that gives you plenty of control.

As for the desktop, VirtualBox sounds like its come a long way. Once they get 3D fully sorted out (for games etc) I\’ll be able to ditch Win all together! Yay!

Reply
khess

@kfries6

You\’re right, it is brief but in future posts, I\’ll do more in-depth analysis of each technology individually. And, I hope I\’m still around doing this column five years from now to repeat this entry. Thanks for your feedback.

Reply
apexwm

I can testify that VirtualBox is an awesome piece of software. I run an XP virtual machine on my Fedora 10 workstation, and in seamless mode it\’s just like running Windoze directly on the machine. Seamless mode gives you the Windoze task bar at the bottom, and allows the apps to open in their own windows to take advantage of the full resolution while giving you access to your Linux desktop at the same time. It is very similar to running apps in Wine, except that they run in their native XP environment. I even hooked up my USB scanner and other devices and they show right up in the VM and work perfectly, even with proprietary XP drivers. Performance is very good, too. I would definitely recommend VirtualBox to anybody needing desktop emulation.

On the server end, KVM seems the way to go. Having everything integrated into the kernel has its advantages, too. In fact the negative feedback seems to be recently coming from those using Windoze and running into licensing issues and costs. While those of us using Linux for the host/guest can upgrade without those pesky licensing woes.

http://members.apex-internet.com/sa/windowslinux

Reply
kimkhan

A colleague of mine with his new desktop running windows XP 64bit was having compatibility issue with his years old palm desktop software. He needed a 32bit environment to run his decades old palm software to access all his contacts. So I installed virtualbox for him and he couldn\’t be any happier.

A buddy of mine running Vista (hates vista) but wanted to try out windows 7 to make sure he likes it before making the switch (I tried to convince to ditch vista but he wanted to make sure he does not make the same mistake again !). So virtualBox with seamless mode was the answer.

For all my testings with (PBX, ERP, CRM, ECM, CMS) opensource stuff, I am using Xenserver. I also used OpenVZ for a little bit. You need a little bit of tweaking knowledge with dynamic resource management when using OpenVZ. For newbies who has lots of RAM, powerful CPU and does not care and just want to dedicate resources to a few virtual machines (VMs), xenserver would be the way to go.

Reply