Using KVM for virtualisation, why?

A month ago I wrote already in my previous post that hosthuis.nl is using KVM for there servers. Now that we moved our first server as well to a new datacentre, we are currently installing KVM on that server as well. A lot people think KVM is something complete else as virtualisation, and actually they are both correct as wrong. They are thinking its a KVM Switch, what means you can control serveral server/PC s with 1 keyboard or mouse (Locally, or with a special device via internet). However, this KVM stands for Kernel-based Virtual Machine, something complete else 🙂

But a different question I got from some people was why I was using KVM for the virtualisation, and not XEN or VMWare or something. Both XEN and VMWare are a much used software package by hosters to create virtual servers. KVM is the same kind of software, however it requires the CPU in the server to support hardware virtualisation (XEN only requires this for windows VMs, no idea if VMWare actually requires or uses it, I never tried VMWare for a server.).

In first case we wanted to use XEN on our servers for the virtualisation. However, at the install fase of XEN it did go wrong already. Both debian as ubuntu had instructions on how to setup XEN, however both didnt work correctly out of the box. Not something that isnt fixable, however its a bit frustrating :). After XEN was installed at the server, it needed some more configuration, things for the network, etc. Installations of a new VM however was very easy after that. Just the correct parameters and the correct settings, and you was basily done. But the installed distro after that was a very very basic installation. Even a set of most used packages wasnt installed, what did give several problem due to this.
All of this is something I can give still my ok with. Configuration is a one time job mostly, installations isnt done that many. So I can just work around it. But why I didnt choose XEN? It was actually pretty easy. It wasnt stable at all. Even at my tests at home both the DOM0 as some of the VMs crashed with some network traffic. When I was testing apache on a basic HTML page, and so generating around 40MBIT of traffic, the VM just crashed, with random errors in the DOM0’s error log. Not good, for just testing. After that, I decided that it was time to look for a different method to do the virtualisation, and then I discovered KVM.

Installing KVM was a very easy job. It was just installing a few debian packages, and after that modifing the network config to add a network bridge. After that you was basicly done with installing KVM. No need to change any KVM config files, its just working out of the box :).
After that, you need to start a installation of the required OS. In my case debian. For this, you will need to download a ISO of the CD/DVD to install, and call 1 command. After you have this done, you only will need to connect to VNC for that server, and run a normal debian install. And you are done. You have a brand new VM, with a plain debian. And you can work with. Lots easier as with XEN (To compare, installing and getting XEN to work took me 3 full days. To get KVM work took me 1.5 hour).
After that some testing began, and all was looking very good. It was able to handle 100mbit of network traffic, without getting unstable. Lots better as with XEN.

After this, it was a pretty easy chooise to decide on what software I was going to use for virtualisation. Iam currently having 2 servers running with KVM, and its still working. However, KVM also has his problems. Hosthuis is currently still having some freeze on random times with a VM, what means the VM needs to be rebooted. A solution for this is badly enough not found yet, but its probarly a debian bug. Hopefully it will starts to work sooner a bit better. We will see. We are however still happy we did choose for KVM instead of XEN.

2 thoughts on “Using KVM for virtualisation, why?

Leave a Reply

Your email address will not be published. Required fields are marked *