2009’s Virtualization Techniques Compared
VirtualBox + Free + Open-source (mostly) + Easy to use + LVM storage + Many supported guest OSs + Runs on Windows, Linux, Mac OS or Solaris - Desktop oriented - Depends on many desktop libs - Not well manageable without GUI
VMware Server + Free + Easy to use + Many supported guest OSs ○ Runs on Windows or Linux - Not open-source - No LVM storage - Only web-interface
VMware ESXi + Free + Very small - Not open-source - Runs directly on hardware - Runs only on selected hardware
Xen + Free + Open-source + LVM storage + PCI pass-through + Many supported guest OSs + Easy installation of Linux guests (xen-tools) ○ Runs Linux, Solaris or NetBSD as Dom0 - Hard to setup - Not yet in mainstream linux kernel - Host looses some privileges - Many distributions favor KVM
KVM + Free + Open-source + LVM storage + In mainstream linux kernel + Wide distribution support + Many supported guest OSs - Linux host only - Slower than Xen
Microsoft Hyper-V + Easy to use - Not free - Not open-source (lol) - Not in mainstream kernel (kidding) - Requires Windows Server 2008
VirtualBox, VMware Server and KVM sit on top of the host OS, whereas VMware ESXi is the host OS and Xen is somewhere in between.
VirtualBox is desktop oriented, VMware Server only has a crappy web-interface, VMware ESXi doesn’t run on much hardware and Microsoft Hyper-V isn’t free and requires Windows Server.
That brings it down to KVM or Xen. Although Xen is a bit tricky at the moment, because it hasn’t made it into the mainstream kernel I really like it. Mostly because it ran very well for me for the last year. The latest official Linux Xen kernel is 2.6.18, but everyone is looking towards pv_ops in the mainstream kernel. In the meantime you’ll either have to run 2.6.18 or an inofficial but more recent kernel with the patches backported that comes with your distro. Sadly there currently aren’t any up-to-date Debian based distros with a recent Xen kernel.
Lenny only has Xen 3.2, Ubuntu as of Intrepid doesn’t ship with a Xen kernel at all.
Fedora is the only free and up-to-date dist that ships with a recent Xen kernel I have found so far… but if you don’t mind running OpenSolaris (or NetBSD) as the Dom0, Xen is your tool.
By the way, Xen (aka Sun xVM) and VirtualBox are supported by Sun (which has recently been bought by Oracle).
Now that you know the pros and cons of biggest free virtualization software it’s time to think about storage. A physical device is faster than an image stored on one of your filesystems.
I use LVM because you can easily split many guests over many different hard disks. xVM with ZFS on OpenSolaris does the same. LVM or ZFS also give you the ability to create snapshots…
…which brings me to another important topic: Backups! Snapshots with LVM or ZFS are the easiest way of backing up your VMs. If you want to save space, you can backup from inside your hosts using rsnapshot or dirvish or something like that.
The last thing I messed about with is the management of the VMs.
With Xen you have the ‘xm’ command, with KVM you have the ‘kvm’ command. Both allow you to do simple tasks like creating, starting or stopping the VMs. I only used the ‘xm’ command to manage my DomUs, but if you run KVM (Xen, VirtualBox and some more are also supported) libvirt is a more feature-rich way to manage your VMs. Libvirt supports management of the virtual machines, virtual networks, storage and remote access. You can run virt-manager on one of your Linux workstations or use the web-interface oVirt from anywhere you want.
I am almost done, but in the entire virtualization hype created by the big companies I want to add that virtualization adds complexity, it adds code and therefore decreases security. On the other hand there are lowered maintenance, hardware and power costs, you can create complex networks with very few machines, you can migrate a VM from one server to another at the other side of the world without having to shut the VM down and much more cool stuff.
But for me virtualization is just a way to separate the few services on my small home server…
Hope I got all the important things into this post. Whatever I’ll choose the next days (for me it’s still KVM vs Xen)… I’ll post an update and will document my installation.
Thanks to debian-user-german for the hints.
8 Comments › Leave yours
2 Trackbacks
- Chris’ World » How-To: Run Xen in Ubuntu Intrepid without compiling a Kernel by yourself - [...] Update: Also read my Article about current Virtualization Techniques [...]
- Chris’ World » How-To: Run Xen in Ubuntu Intrepid without compiling a Kernel by yourself - [...] Update: Also read my Article about current Virtualization Techniques [...]
Hi, my name is Chris. I am a wannabe photog, traveler & geek that is again a student and lives in Hesse, Germany. 

Well written. But you forgot to mention that Citrix XenServer is now freely available.
Well written. But you forgot to mention that Citrix XenServer is now freely available.
Yes, very interesting. I’m wondering too, why there is no dom0 support for Ubuntu right now…
By the way: you mentioned Sun with XEN based xVM. Is this the same as the Oracle VM tool?
As a beginner in Virtualizatiion: Is it recommendable to use one of these Oracle, Sun, Citrix or whatever XENs to handle the dom0 using the domu’s with whatever-you-like-OS? Maybe to make administration easier?
Thanks alot
Reinhard
Ubuntu doesn’t have Xen because they focus on KVM and don’t have the manpower to backport the 2.6.18 patches to recent kernels. (But fedora does)
I don’t know Oracle VM, but if you don’t need the extra performance of a Dom0 (virtualized DomUs are slower than Dom0) for one of your applications (I have my fileserver on Dom0) go with one of the Xen distros with better administration like Citrix. But if you don’t mind reading some docs go with Debian/Fedora or even OpenSolaris. If you really don’t mind learning a lot go with OpenSolaris, their docs are good and it has an up-to-date Xen. I’m currently running OpenSolaris as a DomU to get into it and maybe run it as Dom0 later on.
Hope that helped.
Yes, very interesting. I’m wondering too, why there is no dom0 support for Ubuntu right now…
By the way: you mentioned Sun with XEN based xVM. Is this the same as the Oracle VM tool?
As a beginner in Virtualizatiion: Is it recommendable to use one of these Oracle, Sun, Citrix or whatever XENs to handle the dom0 using the domu’s with whatever-you-like-OS? Maybe to make administration easier?
Thanks alot
Reinhard
Ubuntu doesn’t have Xen because they focus on KVM and don’t have the manpower to backport the 2.6.18 patches to recent kernels. (But fedora does)
I don’t know Oracle VM, but if you don’t need the extra performance of a Dom0 (virtualized DomUs are slower than Dom0) for one of your applications (I have my fileserver on Dom0) go with one of the Xen distros with better administration like Citrix. But if you don’t mind reading some docs go with Debian/Fedora or even OpenSolaris. If you really don’t mind learning a lot go with OpenSolaris, their docs are good and it has an up-to-date Xen. I’m currently running OpenSolaris as a DomU to get into it and maybe run it as Dom0 later on.
Hope that helped.
Hi, thanks for posting this article. Do you know where I can find more information on this. Thanks
Hi, thanks for posting this article. Do you know where I can find more information on this. Thanks