I've been trying to set up a pair of servers utilising KVM on Ubuntu 9.10 to host 8 virtual machines between them and ended up with various issues from the VMs freezing, to not powering on.

I had one virtual server set up and running and was setting up a second, when any operation involving OpenSSL would cause the VM to lock up in a weird way - all network traffic would cease, it wouldn't process logins on the console, but it wasn't taking any CPU time off the host. The first virtual server was identical and worked perfectly.

Another VM I tried to setup had installed Ubuntu fine then refused to reboot, throwing kernel exceptions to do with XFS.

I've now installed Citrix XenServer 5.5 on both hosts, and am now setting up my third VM with absolutely no issues. I also had the same experience when I tried VMware, but I preferred Xen as it appears to give more features on the free license.

My question is am I just unlucky with KVM, or is KVM as unstable as it appears? Are you using, or planning on using, KVM in production, and how successful have you been?

EDIT:

Thanks for all the answers. I have recently upgraded our two physical servers to Ubuntu 10.04 LTS which uses KVM 0.12.3. I'm now installing my sixth virtual machine on KVM and haven't had even a hint of the issues I experienced previously, so I'm now sticking with KVM :)

This question exists because it has historical significance, but it is not considered a good, on-topic question for this site, so please do not use it as evidence that you can ask similar questions here. This question and its answers are frozen and cannot be changed. More info: help center.

9 Answers
9

We've had several KVM hosts up and running on Ubuntu 9.04 and 9.10 for the last 6+ months with some minor issues while initially setting up guests, but none since. Our hosts average 3 guests each and the guests do lots of different things, from multi-homed VPN servers to NAS systems with direct access to hard disks. The performance and ease of setup (once the learning curve was out of the way) has been transformative for our network.

Migration has been very easy through VNC connections over ssh via a virt-manager client; cloning has not been as smooth, as new instances have had a tendency towards flaky network errors.

The only other ongoing complaint I have is that it would be nice to have support for QEMU VLANs as an option in virt-install so we could avoid having to use the more tedious KVM commands directly. Other than that, we've been extremely happy, and most of the manangement tools are shared with Xen so I'd say use whichever one works best for you.

Talking of giving KVM commands directly, how did you do that? I wrote a shell script wrapper but libvirt just complained saying it couldn't parse the version number from the output. One command I wanted to pass along was to --enable-hvm - the CPUs in my guests were showing up as Pentium IIs which apparently is a sign that hardware acceleration wasn't being used (but was if I started KVM directly as opposed to going through libvirt.)
–
Andy ShellamMar 17 '10 at 22:12

Why not just use the --hvm option in virt-install? (linux.die.net/man/1/virt-install) The best suggestion I've seen for passing unsupported switches to libvirt is at serverfault.com/questions/111794/…, but damned if I can get it to work without problems either. Using kvm directly (qemu-kvm in rhel) is what I was describing, like: kvm -M pc -m 2048 -name newguest -smp 1 -monitor stdio -boot n -drive file=~/vms/newguest,if=ide,index=0 -net nic,vlan=0 -net tap,script=no,vlan=0,ifname=tap0 -nographic -incoming tcp:0:1234
–
nedmMar 17 '10 at 23:34

Can't remember offhand if that last example requires a MAC address to be specified as well, like '-net nic,macaddr=54:52:00:53:xx:xx,vlan=0' Thank god for libvirt.
–
nedmMar 17 '10 at 23:39

I've experienced some pretty nasty bugs -- for example, loss of network connectivity with virtio-net [1], kvm-clock going haywire and taking VM with it [2]. There were others (guest filesystem corruption due to bad arithmetic [3]). Plus, for a long time libvirtd did not offer a way to do clean shutdown of all running VMs [4]. YMMV :-)

I am currently using KVM in production with 3 host nodes. Each is connected via 20Gbit Infiniband to a pair of NFS servers synchronized using DRBD and pacemaker clustering tools for automatic failover.

I run a small hosting and development company, and most of our network is virtualized now. Our virtual machines are mostly web, smtp, and dns servers. A total of about 250 domains are hosted, some of which are heavily trafficked, as well as a number of development sites.

I recently converted about 15 Vmware machines which were running on Esxi hosts. Vmware was good for us, but far too expensive when you factor in live-migration, high-availability, etc, and Esxi support for Infiniband is also very limited. Infiniband solves some important issues that arise when your storage is centralized. Currently my NFS servers are twin 8TB RAID 6 arrays with descent I/O throughput. In the future, I'll be able to add additional RAID arrays to the same two servers, export multiple NFS shares, and still have abundant bandwidth to the host nodes.

Our setup is vanilla, keeping things as simple as possible. We run Debian 7.0 on the host machines, Debian 6.07 on the NFS servers, and I manage the VM's with an Ubuntu 13.04 desktop setup running virt-manager.

Now, KVM and libvirt are fantastic, but still a bit immature compared to Vmware, however the setup is far simpler once the kinks are all ironed out, and I really enjoy having a fully functional Debian system running on the host machines in contrast to the very proprietary Esxi bare-metal systems. SSH, rsync backups, apt-get updates, etc. are all a snap.

If you have some spare time to research, test, and work out some issues, then I'd say go KVM all the way. It's absolutely free, and even more important it's open source.

I don't currently run KVM in production but I do use it on my laptop under Ubuntu 9.10 as my test lab. I haven't run into any stability issues in my dealings with it. IBM also just announced their cloud services which is based on KVM.

But having said that in production at work we currently run Xen on multiple CentOS boxes and haven't had any stability issues with it. And I do believe that at some point we will migrate over to KVM for our virtualization needs but at the moment that would just be moving for the sake of moving and we are happy with Xen. But I believe that KVM is the future for Linux based virtualization.

Yeah that's what I thought when Redhat adopted KVM in 5.4, and the fact that KVM is in the kernel whereas Xen has been unsuccessful in this regard, but most hosting providers seem to run Xen or something horrible like OpenVZ, I've not seen any advertising KVM.
–
Andy ShellamMar 17 '10 at 22:14

1

What's so horrible about OpenVZ? It isn't a true virtual machine in the sense that KVM and Xen are, but it's plenty good when all you really want is isolation.
–
OphidianMar 18 '10 at 15:46

Whilst this may theoretically answer the question, it would be preferable to include the essential parts of the answer here, and provide the link for reference.
–
Mark Henderson♦Jul 12 '12 at 22:24

The question was "is anyone running KVM in production", and my answer was "IBM run KVM in production". With a prooflink. I could provide many more links and company names, since I'm pretty close to the source, but the answer to "anyone" with at least one is usually proof enough, isn't it?
–
dyasnyJul 13 '12 at 5:28

It doesn't really provide much depth to the answer, that's the primary reason we flag these link-only answers. If that link goes dead, then the op has no knowledge of what's on the page. Which gives the answer of "IBM". Which might be good enough for them, but I suspect they were digging for more than just single-word answers. Anyway don't take it personally, we get a lot of flags on link-only answers every day. (fwiw, generally a copy/paste of a key paragraph or something generally suffices)
–
Mark Henderson♦Jul 13 '12 at 5:30

I could provide a link to Red Hat's website with KVM stories, but again, that would also be a link. Thing is, if I simply write a list of large companies that are using KVM in production, without links, that, in the internet nowadays, means nothing. And links are, well, also not favoured. I'm not taking it personally, just trying to think how to answer such questions in a better way :)
–
dyasnyJul 13 '12 at 5:46

We've been using KVM for 6+ months and haven't had any problems. I've used other virtualization technologies such as OpenVZ, VMware, and Virtualbox.

VMware is a mixed bag, especially if you aren't willing to pay for
the Enterprise variety.

Virtualbox is pretty good, not sure how well it fits as a solution for running server type installations. It works great on a laptop as far as making other OSes available w/o all the fuss of setting up additional hardware.

OpenVZ, I've used for 2+ years and works pretty flawlessly. The only exception with OpenVZ is that you can only run guests that are the same OS as the host OS. I've used it with CentOS 5.x and it just works.

KVM, using it directly from the command line can be a bit of a learning curve, I'd recommend using virt-manager to start.

Here are some resources that I found useful to get you started with KVM.