Xen or KVM? Please help me decide and implement the one which is better

I have been doing research for implementing virtualization for a server running 3 guests - two linux based and one windows. After trying my hands on Xenserver, I am impressed with the architecture and wanted to use the opensource XEN, which is when I am hearing a lot more about KVM, about how good it is and it's the future etc. So, could anyone here please help me answer some of my queries, between KVM and XEN.

  1. Based on my requirement of three VMs on one server, which is better for performance - KVM or XEN, considering one the linux vm's will works a file-server, one as a mailserver and the third one a Windows server?

  2. Is KVM stable? What about upgrades.. What about XEN, I cannot find support for it Ubuntu?

  3. Are there any published benchmarks on both Xen and KVM? I cannot seem to find any.

  4. If I go with Xen, will it possible to move to KVM later or vice versa?

In summary, I am looking for real answers on which one I should use.. Xen or KVM?


Red Hat is moving from Xen to KVM. That's certainly swaying my choice for running it under an existing Linux install. On the other hand, there isn't anything like XenServer for KVM.

Converting between the two is possible but not easy.


Xen is a technological deadend, a point which has been discussed many times in all sorts of forums. That is why all the major players are leaving it behind.

If you want a supported and manageable setup with KVM under the hood, look at RHEV. There are also alternatives - libvirt, proxmox etc.


I find XEN's handling of mapping block devices to domU vm's far easier to manage, and far more flexable than KVM's. specifically, I manage + create LV's (w/ LVM2) in the dom0, and map them directly to the '/dev/sda1' in the domU.

With KVM, (As far as I know) I have to export whole partitioned disks. Which means, I have to use partx on the dom0 to 'attach' and 'detach' them.

I also like, that for lower performance requirements, XEN works on older hardware that doesn't have the VT bit. As far as I know, KVM requires special processor support.

Unfortunately, I have seen the writing on the wall: RedHat + Ubuntu seem to favor KVM @ this point. W/o Xen in the main kernel tree, and Citrix shipping their own Xenserver product, there doesn't seem to be much momentum behind getting it back into the tree.