Hypervisors

KVM – full virtualization solution

KVM (for Kernel-based Virtual Machine) is a full, open source, virtualization solution for Linux on x86 hardware containing virtualization extensions (Intel VT or AMD-V). It consists of a loadable kernel module, kvm.ko, that provides the core virtualization infrastructure and a processor specific module, kvm-intel.ko or kvm-amd.ko. KVM also requires a modified QEMU although work is underway to get the required changes upstream.

Using KVM, one can run multiple virtual machines running unmodified Linux or Windows images. Each virtual machine has private virtualized hardware: a network card, disk, graphics adapter, etc.

The kernel component of KVM is included in mainline Linux, as of 2.6.20.

Key Features

  • QMP – Qemu Monitor Protocol; a JSON-based protocol which allows applications to communicate with a QEMU instance.
  • KSM – Kernel Samepage Merging – lets the hypervisor system share identical memory pages amongst different processes or virtualized guests.
  • Kvm Paravirtual Clock – a Paravirtual timesource for KVM which alleviates the problem where CPUs do not have a constant Time Stamp Counter.
  • CPU Hotplug support – add CPUs on the fly. CPU hotplug is a controverse feature.
  • PCI Hotplug support – add PCI devices on the fly.
  • vmchannel – communication channel between the host and guests.
  • migration – migrating Virtual Machines.
  • SCSI disk emulation.
  • Virtio Devices – Paravirtualized drivers to give a common framework for hypervisors for IO virtualization. Virtio was chosen to be the main platform for IO virtualization in KVM. This supports a paravirtual Ethernet card, a paravirtual disk I/O controller, a balloon device for adjusting guest memory usage, and a VGA graphics interface using SPICE or VMware driver.
  • CPU clustering.
  • High Precision Event Timer.
  • device assignment.
  • pxe boot.
  • iscsi boot.
  • x2apic – an x86 feature that improves performance, especially on large systems.
  • floppy.
  • cdrom.
  • USB.
  • USB host device passthrough.
  • sound.
  • Userspace Irqchip emulation.
  • Userspace Pit emulation.
  • Balloon memory driver.
  • Large pages support.
  • Stable Guest ABI.
  • VMCS shadow support.
  • APIC virtualization and posted interrupt hardware support for x86 virtualization.
  • VMCS shadowing, where non-root VMREAD/VMWRITE will not trigger VM-Exit.

Website: www.linux-kvm.org
Support: Mailing Lists
Developer: Red Hat, Inc
License: Various


Related Software

Hypervisors
ProxmoxVirtualization management platform
Xen HypervisorFastest and most secure infrastructure virtualization solution
KVMFull virtualization solution for x86 hardware
oVirtVirtualization solution for your entire enterprise
FirecrackerCreate and run lightweight microVMs
XCP-ngHigh performance enterprise level virtualization platform
LguestLittle hypervisor designed for experimentation with virtualization

Read our verdict in the software roundup.


Best Free and Open Source Software Explore our comprehensive directory of recommended free and open source software. Our carefully curated collection spans every major software category.

This directory is part of our ongoing series of informative articles for Linux enthusiasts. It features hundreds of detailed reviews, along with open source alternatives to proprietary solutions from major corporations such as Google, Microsoft, Apple, Adobe, IBM, Cisco, Oracle, and Autodesk.

You’ll also find interesting projects to try, hardware coverage, free programming books and tutorials, and much more.

Discovered a useful open source Linux program that we haven’t covered yet? Let us know by completing this form.
Subscribe
Notify of
guest
0 Comments
Oldest
Newest Most Voted