I will actually switch from VirtualBox to KVM.
VirtualBox is good as a desktop virtualization. It is fairly easy to install and to use. However, I would stick with KVM for server virtualization.
Since Debian Lenny came out, I have been using VirtualBox 1.6.6 to run 5 virtual servers and I have found that every now and then my servers hang. The 4 servers with little traffic have only hung once or twice and they stayed up for more than 6 months. However, my most frequently used server is typically hanging once every month. This does not mean that the problem is with VirtualBox, I have actually never found any real conclusive reason in log files why the servers hang, yet I have a suspicion that VirtualBox is not stable enough to run production servers. This may have improved in later versions though.
KVM uses paravirtualization, whereas VirtualBox uses full virtualization. Paravirtualization means that the guest knows it is running as a virtual machine, whereas in full virtualization it appears that the guest is running on a real physical machine. Conceptually, full virtualization is cleaner, yet it is also less efficient. KVM would theoretically be faster than VirtualBox (although the overhead of full virtualization can be reduced to only a couple of % of execution time) and also does not require you to explicitly install drivers in the guest operating system to achieve optimal performance. In VirtualBox, you have to install the guest additions for optimal performance. On the other hand, KVM can only be used if your host operating system is Linux, VirtualBox can run on any operating system.
KVM is fully open source and integrated in the Linux kernel. VirtualBox is mostly open source, yet some parts are proprietary.
I am prefering KVM over VirtualBox for the following reasons:
- it would be more stable
- it would be more efficient
- I do not have to install guest additions for guest servers
- I do not mind having that my host operating system has to be Linux (I am using Debian anyway)
- I prefer a full open source license over a mostly open source license.