There are almost more virtualization tools out there today than even Wikipedia can count. KVM, however, stands out among them as perhaps the only free, non-commercial and open source hypervisor designed for enterprise-grade performance. And it’s come far in its (comparatively) short life — so far, in fact, that it may be time to consider it as a virtualization solution for the desktop as well as the server.

KVM, which stands for Kernel-based Virtual Machine and has nothing to do with KVM switches, is a somewhat younger project than most of its major competitors including VMware’s hypervisors, VirtualBox and Xen. It’s also different from many other virtualization tools because it focuses on deep integration with the kernel itself, theoretically providing performance advantages over hypervisors that exist mainly in userspace.

KVM certainly isn’t the only free or open source virtualization platform in existence, but it’s the open source ecosystem’s only major hypervisor that’s not associated with specific commercial interests. Xen is also free and open source, but it’s owned by Citrix; much of the VirtualBox code is open, but some of it is proprietary and belongs to Oracle; and VMware is essentially closed source.

KVM Today

For much of its history, KVM was playing catch-up to older and more mature virtualization products. But it’s gradually come into its own over the last few years, and now supports a variety of advanced features, including but not limited to:

  • CPU virtualization extensions
  • “Live migration” of running virtual machines
  • USB device passthrough
  • CPU and PCI hotplugging

Desktop KVM

KVM developers typically have focused squarely on optimizing the product for servers and large-scale deployments, which makes sense in the age of the cloud. Given the maturity that the product has reached, however, it’s perhaps time to consider it a viable choice as a desktop virtualization platform as well.

On its own, KVM is not especially user-friendly.  On most Linux distributions the tools that ship with it by default work only on the command line, and configuring KVM guests by hand is complex and less than intuitive.

With the assistance of tools such as virt-manager, however, setting up a KVM virtual machine to run Windows, Linux or a variety of other operating systems as guests is pretty quick and simple.  Here are a few screenshots to prove it:

virt-manager create virtual machine

virt-manager create virtual machine

Running KVM virtual machine in virt-manager

Granted, by most measures tools such as VirtualBox are simpler to use than virt-manager and make it easier to configure advanced features. Nonetheless, setting up a KVM guest in virt-manager is not beyond the realm of possibility for a reasonably determined desktop user. (I won’t say for a non-geek, because non-geeks generally don’t run virtual machines in the first place, at least not that they know about.)

And KVM’s viability as a virtualization infrastructure for desktop Linux users is important, precisely because KVM is the only open source, full-featured, independent hypervisor out there. If distributions decided to take it seriously as a tool for the desktop as well as the server, it would mean they could offer out-of-the-box virtualization solutions as part of their standard packages, which would be pretty monumental, since currently no mainstream desktop operating system — whether open or closed source — comes with a complete virtualization tool built-in.

Regardless of whether KVM gains momentum on the desktop, its main role, of course, will almost certainly remain on the server.  But that doesn’t mean its significance for the desktop world should be written off.

Read More About This Topic

Share This Post

12 Comments on “KVM Virtualization: Ready for the Desktop?”

  1. Lawrence D’Oliveiro Says:

    Who says it’s “non-commercial”? It’s part of the Linux kernel, which has loads of commercial contributors and commercial users. Free Software is very much commercial.

  2. Christopher Tozzi Says:

    Lawrence D’Oliveiro: you’re absolutely right–the implication wasn’t intended to be that Free software can’t be commercial. But I see KVM in a somewhat different light than VMware, VirtualBox and Xen because those projects and their code, whether free or proprietary, are all owned by commercial organizations. KVM is sponsored by Red Hat but I think the dimension there is not the same as Citrix and Xen.

  3. Christian Page Says:

    I was just thinking along similar lines lastnight. I would be quite impressed if KVM (Kernel Virtual machine) had an integrated KVM (Keyboard, Video, Monitor) daemon that allowed you to “Alt+Tab” between running virtual machines. My thoughts are that you would have a very bare bones OS, al la VMware ESXi that allowed you to seamlessly run guests as your workstation. and a simple way to switch between guests. Similar to how Virtual Desktops work now on Linux.

  4. peerx Says:

    I use proxmox to host a number of linux and Windows VMs.
    It is very userfriendly and it offers besides KVM Openvz.
    No need for the commandline or for virtmanager
    Peerx

  5. Jo-Erlend Schinstad Says:

    It is a bit too early to consider KVM for a desktop virtualization thing, I think. Not because it’s any less suitable than the others, but because they all are quite unsuitable. However, KVM supports SPICE and new versions of virt-manager does too. Once good QXL drivers are easily, or even automatically, installed for all guests, then KVM certainly is a very cool tool.

    Christian Page: that’s not up to KVM. That’s for clients to decide. It’s perfectly possible to not forward certain keystrokes.

  6. christian page Says:

    I simply mean an alt+tab-like feature to switch between running vm’s, I think some consumer Kvm switches use something like ctrl+alt+page up or page down. But your other point is accurate, perhaps this is a feature for libvirt not Kvm. Though it would be way cool to alt+tab different operating systems in real time.

  7. christian page Says:

    I simply mean an alt+tab-like feature to switch between running vm’s, I think some consumer Kvm switches use something like ctrl+alt+page up or page down. But your other point is accurate, perhaps this is a feature for libvirt not Kvm.

  8. Scott Dowdle Says:

    There are a number of commercial interests behind KVM. A company named Qumranet sponsored the initial development of KVM and was able to get it into the mainline kernel. They had a commercial Desktop Virtualization product based on KVM named SolidICE. A couple of years ago Red Hat bought Qumranet and after a year or so of development SolidICE became Red Hat Enterprise Virtualization for Servers. About a year after that they released the “for Desktops” part of it and also open sourced the SPICE protocol.

    Also don’t forget that Red Hat added KVM to Red Hat Enterprise Linux with the release of RHEL 5.4 and KVM completely replaced Xen in RHEL 6.

    Another commercial virtual desktop vendor that relies on KVM is Virtual Bridges with their VERDE product.

    Fedora and RHEL have been shipping with virt-manager for years now… yes years. virt-manager works quite well for me for both desktop virtualization and server virtualization. I use cases are simple enough where I don’t need many of the advanced features you’d find in an enterprise level virtualization management application. virt-manager might be a little clunky but it grows on you and they are constantly updating it with enhancements.

    I’m a Red Hat fan and do recommend using RHEL, a RHEL clone, or Fedora since Red Hat sponsors most of the development on libvirt, virt-manager and KVM.

  9. The VAR Guy Says:

    Scott: The VAR Guy thanks you for sharing some of the background on KVM, etc. Yes, The VAR Guy is familiar with Red Hat’s buyout of Qumranet, and he also tracks Virtual Bridges (a close IBM partner, by the way…).

    Our resident blogger is watching closely to see if Red Hat Enterprise Virtualization/KVM can gain ground on VMware…
    -TVG

  10. Rob Says:

    After spending a couple of days trying to get KVM networking to work, I think that this article is pretty optimistic. The toolset is not mature, is poorly documented, and common use cases (setting up a Ubuntu Karmic web server on top of an Ubuntu Lucid host on a laptop using a wireless connection) are very hard to do, hell to debug, and far too hard.

    On the other hand: I set up a bridge to connect to wlan0, and VirtualBox worked with very little prodding in less than a half hour.

    There’s lots of high quality open source software you can use with Ubuntu. But I think that the KVM team needs to take a serious look at usability. The tool set may work for the typical server set up (static IP addresses on ethernet hardware), but it’s far too complex for anything else. In particular: the virt-install script needs to go back to formula.

    -Rob

  11. Christopher Tozzi Says:

    Rob: VirtualBox (and VMware) certainly remains more user-friendly than KVM, but I could see KVM providing the basis for a built-in virtualization solution preconfigured by the distribution. The KVM command line interface is way too difficult for non-geeks to run, however.

  12. Jo-Erlend Schinstad Says:

    Rob: I suppose you’re talking about virt-manager? Lucid has a very old version of it. Lots of things have been fixed any improved in the last 16 months. KVM itself works well. libvirt and virt-manager are just tools to configure it, and it’s wrong to say KVM isn’t mature because of other tools. It would be comparable to saying Firefox is bad because some websites are ugly. :)

Leave a Comment

 

Blog-Powered Site By ContentRobot