Virtualization: Xen and KVM
We use virtualization *a lot* in our infrastructure. The advantages are numerous but for sure it saves costs, makes management easier and improves security by isolating services on their own virtual machines (and you can make a very specific configuration for the service).
Putting that aside we were moderately happy about Xen. We have been using Xen since 3.0 and lets say the battle for the optimal configuration was not an easy one. Xen has regularly given us bad magic in the past. In the end it the magic mostly disappeared but it still does have a nasty side (i hate the xen network scripts, even though we disable them nowadays) and many bugs. The latest version 3.2 is definitely the best till now and Xen is stable nowadays, at least in our "optimal configuration".
The most unpractical things with Xen after you get rid of the bad magic effect are the limited available choice of kernels (a pain with new hardware support and security). We sticked to paravirtualization till now because of its performance advantages. Which brings another pain with Xen: upgrading to new versions or migrating guests between Xen servers running different version (you can copy new kernel modules in the guest everytime).
A curse here and there is definitely on its place.
Then meet KVM. If your used to Xen (open source version) then it seems like virtualization like god intented. We tested KVM for a while now and everything is just like you expect and no nasty scripts everywhere (at least I didn't see them yet).
Virsch is quite handy too (although you also seem to able to use it with Xen, we never did). Although I must curse shortly about virt-install for its bugs and ubuntu-vm-builder for the lack of support for installing debian (which are both not part of kvm, but can be used to "easy install" guests).
In any case we are giving kvm a proper testing now (for at least a month) and it looks something that might replace Xen entirely in our infrastructure on the long term. It is just sweet.
One reason to blog about this is the following:
- What are you experiences with running kvm in production?
I am also very interested in experiences with running a windows *server* guest with continuous reasonable load. Notes about any quirks or limitations encountered by experience are very welcome as well.
KVM: Kernel-based Virtual Machine for Linux
Seems like a much more natural implementation than Xen (which has a lot of black voodoo). Its not complete finished yet but it seems to be very promising, definitely something to keep an eye on.
Link: http://kvm.sourceforge.net/
