Kernel-based virtual machine

from Wikipedia, the free encyclopedia
Kernel-based virtual machine

Logo of the kernel-based virtual machine
Kvm running various guests.png
Basic data

Maintainer Open Virtualization Alliance (OVA)
developer Qumranet
Current  version 1.2
operating system Linux kernel
programming language C.
category Hypervisor
License GNU General Public License
GNU Lesser General Public License
linux-kvm.org

The kernel-based virtual machine ( KVM ; German  " operating system kernel-based virtual machine " ) is an infrastructure of the Linux kernel for virtualization that is equipped with hardware virtualization technologies from Intel ( VT ) or AMD ( AMD-V ) x86 processors as well as on the System z architecture. KVM was published in October 2006 and is included in Linux kernel version 2.6.20 and higher. It was developed under the leadership of Avi Kivity at the Israeli company Qumranet . Qumranet was bought by Red Hat in September 2008 . There are also ports from KVM to FreeBSD and illumos in the form of kernel modules.

overview

overview

KVM was initially developed for the x86 platform and consists of the kvm.ko kernel module and the hardware-specific modules kvm-intel.ko (for Intel processors) or kvm-amd.ko (for AMD processors). KVM is now also available for other platforms such as PowerPC , System z and ARM . KVM itself does not emulate, it only provides the infrastructure for it; QEMU is currently the only way to use this. For this purpose, QEMU provides the necessary devices such as hard drives, network, sound and graphics cards for virtualized guest systems. After loading the module, the Linux kernel itself works as a hypervisor for virtual machines. KVM supports Linux (32 and 64 bit), Windows (32 and 64 bit), Haiku , AROS , ReactOS , FreeDOS , Solaris and various BSD derivatives as guest systems . KVM also runs on SMP host systems, SMP guest systems are also possible. Support for paravirtualization is now available in KVM and is made available under Linux by means of the paravirtualization interface Virtio (included in the kernel since kernel 2.6.25) for hard disk and network device drivers. There are also para-virtualized device drivers for Windows. The advantages are lower overhead and increased performance, since the guest system “knows” that it is running on virtualized hardware and that it is working with the hypervisor. Since Kernel 3.1, KVM supports nested virtualization on Intel CPUs. For AMD CPUs this is already available from version 2.6.30. Nested virtualization enables host systems to make the virtualization support of the CPU available to the guest systems, which in turn can virtualize "sub" guests.

Components

The components of KVM are open source software and are available under different variants of the GPL license:

  • KVM kernel module: GPL v2
  • KVM user module: LGPL v2
  • QEMU system emulation (for x86: PC emulator): GPL v2
  • Linux user mode from QEMU: GPL v2
  • BIOS files (bios.bin, vgabios.bin and vgabios-cirrus.bin): LGPL v2 or newer

meaning

In May 2011, BMC Software, Eucalyptus Systems, HP, IBM, Intel, Red Hat and SUSE founded the Open Virtualization Alliance (OVA) to establish KVM for virtualization and cloud-based solutions on the market. This organization, which was disbanded in 2016 after the goal was achieved, had over 200 members from all over the world. The major distributors Ubuntu , Red Hat and SUSE Linux have switched from Xen to the newcomer KVM for some time in their preferred virtualization solution.

KVM is an essential component of the OpenStack cloud computing software .

In addition to commercial providers, public providers such as the bwCloud of Baden-Württemberg's colleges and universities also rely on KVM. In 2017, the Federal Office for Information Security carried out a security analysis for KVM and stated that "the components examined - above all KVM, QEMU and libvirt - are suitable for implementing a technically mature and secure virtualization environment".

administrative tools

Kernel-based virtual machine is supported by libvirt .

Several control programs are possible for KVM. So it is possible to create virtual machines with the help of command line programs like qemu / kvm or virsh. However, this is more convenient and clearer with graphical front ends such as the Virtual Machine Manager (VMM), AQemu or the UCS Virtual Machine Manager . There are also solutions that enable management via web interfaces and thus the distribution of a virtual infrastructure in companies. The oVirt project and the commercial Redhat Enterprise Virtualization based on it should be mentioned here, or the FOSS Cloud, which is available as a pure open source solution, and Kimchi, an administration tool written in HTML5. Furthermore, the open source virtualization solution Proxmox VE serves as a management platform for KVM and LXC containers.

There are other commercial solutions for building virtual desktop and server infrastructures, such as VERDE from Virtual Bridges. However, these solutions have so far not been particularly widespread.

particularities

KVM is formally a type 2 hypervisor . This means that it is running in the non-privileged ring 3. There is a historical debate about whether KVM is really a pure type 2 hypervisor, since parts also run in ring 0, which speaks in favor of a type 1 hypervisor.

See also

literature

  • Christoph Arnold, Michel Rode, Jan Sperling, Andreas Steil: KVM Best Practices. Virtualization solutions for the enterprise sector . dpunkt-Verlag, Heidelberg 2012, ISBN 978-3-89864-737-3 .

Web links

Individual evidence

  1. Die Woche: Xen let KVM go by Article in Heise open , from June 16, 2011
  2. Red Hat invests in virtualization Article at Heise open , September 4, 2008
  3. FreeBSD Quarterly Status Report: Porting Linux KVM to FreeBSD . Retrieved September 5, 2014.
  4. KVM on illumos . Retrieved September 5, 2014.
  5. KVM runs on POWER computers (ADMIN magazine)
  6. Article at ordix.de Retrieved on April 22, 2012
  7. wiki.libvirt.org Accessed April 22, 2012
  8. Article at golem.de Accessed on April 22, 2012
  9. Article at heise.de.Retrieved on April 22, 2012
  10. official website of the OVA ( Memento of the original from October 29, 2016 in the Internet Archive ) Info: The archive link was automatically inserted and not yet checked. Please check the original and archive link according to the instructions and then remove this notice. @1@ 2Template: Webachiv / IABot / www.openvirtualizationalliance.org
  11. Article on Golem Retrieved April 23, 2012
  12. Article on derstandard.de Retrieved on April 23, 2012
  13. Security analysis KVM (Kernel-based Virtual Machine). BSI, accessed on October 13, 2017 .
  14. linux-kvm.org: Very detailed listing of the existing administration tools for KVM
  15. official website of KVM
  16. ^ Page of the FOSS cloud
  17. Article on Admin-Magazin.de Retrieved on June 8, 2017
  18. ^ Page of Virtual Bridges
  19. Article on datacenter-insider.de Accessed on April 22, 2012
  20. ^ "Cockpit - Univention Corporate Server for virtual infrastructures". In: ADMIN magazine. Linux New Media, May 2011, accessed May 27, 2011 .