Kernel-based Virtual Machine

aus Wikipedia, der freien Enzyklopädie
Wechseln zu: Navigation, Suche
Kernel-based Virtual Machine
Logo der Kernel-based Virtual Machine
Kvm running various guests.png
Basisdaten
Maintainer Open Virtualization Alliance (OVA)
Entwickler Qumranet
Betriebssystem Linux-Kernel
Programmier­sprache C
Kategorie Hypervisor
Lizenz GNU General Public License
GNU Lesser General Public License
linux-kvm.org

Die Kernel-based Virtual Machine (KVM) ist eine Linux-Kernel-Infrastruktur für Virtualisierung und läuft auf x86-Hardware mit den Hardware-Virtualisierungstechniken von Intel (VT) oder AMD (AMD-V) und auf der System-z-Architektur. KVM wurde im Oktober 2006 veröffentlicht und ist ab Version 2.6.20[1] des Linux-Kernels in diesem enthalten. Entwickelt wurde es von dem israelischen Unternehmen Qumranet und stand dort unter Beaufsichtigung von Avi Kivity. Qumranet wurde im September 2008 von Red Hat gekauft.[2]

Überblick[Bearbeiten]

KVM wurde zunächst für die x86-Plattform entwickelt und besteht für diese aus dem Kernel-Modul kvm.ko sowie aus den hardwarespezifischen Modulen kvm-intel.ko (für Intel-Prozessoren) oder kvm-amd.ko (für AMD-Prozessoren). Inzwischen gibt es KVM auch für weitere Plattformen wie PowerPC[3], S/390 und ARM. KVM selbst nimmt keine Emulation vor, sondern stellt nur die Infrastruktur dazu bereit; QEMU ist derzeit die einzige Möglichkeit, diese zu nutzen. Dazu stellt QEMU für virtualisierte Gastsysteme die notwendigen Geräte wie Festplatten, Netzwerk-, Sound- und Grafikkarten zur Verfügung.[4] Nach dem Laden des Moduls arbeitet der Linux-Kernel selbst als Hypervisor für virtuelle Maschinen. Als Gastsysteme unterstützt KVM Linux (32 und 64 Bit), Windows (32 und 64 Bit), Haiku, AROS, ReactOS, FreeDOS, Solaris und diverse BSD-Derivate. KVM läuft auch auf SMP-Hostsystemen, SMP-Gastsysteme sind ebenfalls möglich. Die Unterstützung für Paravirtualisierung ist mittlerweile in KVM vorhanden und wird unter Linux mittels der Paravirtualisierungsschnittstelle Virtio (seit Kernel 2.6.25 im Kernel enthalten) für Festplatten- und Netzwerkgerätetreiber zur Verfügung gestellt. Für Windows existieren ebenfalls paravirtualisierte Gerätetreiber. Vorteile sind ein geringerer Overhead sowie erhöhte Performance, da das Gastsystem "weiß", dass es auf virtualisierter Hardware läuft und mit dem Hypervisor zusammenarbeitet.[5] Seit Kernel 3.1 unterstützt KVM nested Virtualization auf Intel-CPUs.[6] Für AMD-CPUs ist dies bereits seit Version 2.6.30 verfügbar. Nested Virtualization ermöglicht es Hostsystemen, die Virtualisierungsunterstützung der CPU für die Gastsysteme verfügbar zu machen, welche so weitere Gäste virtualisieren können.[7]

Bestandteile[Bearbeiten]

Die Bestandteile von KVM sind Open-Source-Software und stehen unter verschiedenen Varianten der GPL-Lizenz zur Verfügung:

  • KVM-Kernel-Modul: GPL v2
  • KVM-Benutzer-Modul: LGPL v2
  • QEMU Systememulation (für x86: PC-Emulator): GPL v2
  • Linux-Usermode von QEMU: GPL v2
  • BIOS-Dateien (bios.bin, vgabios.bin und vgabios-cirrus.bin): LGPL v2 oder neuer

Bedeutung[Bearbeiten]

KVM führte bislang eher ein Nischendasein. Im Vergleich zu den Produkten von VMware (VMware ESXi), Microsoft (Hyper-V) oder Citrix (XenServer) besaß KVM keinen nennenswerten Marktanteil. Der freie Hypervisor wurde jedoch mit Kernelversion 2.6.20 in den Linux-Kernel fest integriert und wird so mit jeder aktuellen Version mitgeliefert.[8] Im Mai 2011 gründeten BMC Software, Eucalyptus Systems, HP, IBM, Intel, Red Hat und SUSE die Open Virtualization Alliance (OVA) um KVM für Virtualisierung und cloudbasierte Lösungen auf den Markt zu etablieren. Mittlerweile gehören über 200 Mitglieder aus der ganzen Welt zur Open Virtualization Alliance.[9] Die großen Distributoren Ubuntu,[10] Red Hat und SUSE Linux[11] haben bei der präferierten Virtualisierungslösung schon seit einiger Zeit von Xen auf den Neuling KVM gewechselt.

Management Tools[Bearbeiten]

Kernel-based Virtual Machine wird von libvirt unterstützt.

Für KVM sind mehrere Programme zur Steuerung möglich.[12] So ist es möglich, Virtuelle Maschinen mit Hilfe von Kommandozeilenprogrammen wie qemu/kvm oder virsh zu erstellen. Angenehmer und übersichtlicher gelingt dies jedoch mit grafischen Frontends wie dem Virtual Machine Manager (VMM; virt-manager), AQemu oder dem UCS Virtual Machine Manager. Es existieren auch Lösungen, die das Management über Weboberflächen und somit das Ausrollen einer Virtuellen Infrastruktur in Firmen ermöglichen. Hier ist das oVirt-Projekt und das darauf aufbauende kommerzielle Redhat Enterprise Virtualization zu nennen[13] oder die FOSS-Cloud, welche als reine Open Source Lösung zur Verfügung steht.[14]

Es bestehen auch andere kommerzielle Lösungen für das Aufbauen von virtuellen Desktop- und Serverinfrastrukten wie beispielsweise VERDE von Virtual Bridges. Diese Lösungen sind jedoch bisher nicht sonderlich weit verbreitet.[15]

Besonderheiten[Bearbeiten]

KVM ist formal ein Typ2-Hypervisor. Dies bedeutet, dass er im nicht privilegierten Ring 3 läuft. Hierzu besteht eine historische Debatte, ob KVM wirklich ein reiner Typ2-Hypervisor ist, da auch Teile in Ring 0 laufen, was für einen Typ1-Hypervisor spricht.[16]

Siehe auch[Bearbeiten]

Literatur[Bearbeiten]

  •  Christoph Arnold, Michel Rode, Jan Sperling, Andreas Steil: KVM Best Practices. Virtualisierungslösungen für den Enterprise-Bereich. dpunkt-Verlag, Heidelberg 2012, ISBN 978-3-89864-737-3.
  •  Robert Warnke, Thomas Ritzau: qemu-kvm & libvirt. 2010. Books on Demand, Norderstedt 2010, ISBN 978-3-8370-0876-0.

Weblinks[Bearbeiten]

Einzelnachweise[Bearbeiten]

  1. Die Woche: Xen hat KVM vorbeiziehen lassen Artikel bei Heise open, vom 16. Juni 2011
  2. Red Hat investiert in Virtualisierung Artikel bei Heise open, vom 4. September 2008
  3. KVM läuft auf POWER-Rechnern (ADMIN-Magazin)
  4. Artikel bei ordix.de Abgerufen am 22. April 2012
  5. wiki.libvirt.org Aufgerufen am 22. April 2012
  6. Artikel bei golem.de Aufgerufen am 22. April 2012
  7. Artikel bei heise.de Abgerufen am 22. April 2012
  8. Artikel von ordix.de Abgerufen am 22. April 2012
  9. offizielle Seite der OVA
  10. Artikel auf Golem Abgerufen am 23. April 2012
  11. Artikel auf derstandard.de Abgerufen am 23. April 2012
  12. linux-kvm.org: Sehr detaillierte Auflistung der vorhandenen Management Tools für KVM
  13. offizielle Seite von KVM
  14. Seite der FOSS-Cloud
  15. Seite von Virtual Bridges
  16. Artikel auf datacenter-insider.de Aufgerufen am 22. April 2012
  17. Vorlage:Internetquelle/Wartung/Datum nicht im ISO-Format"Cockpit - Univention Corporate Server für virtuelle Infrastrukturen". In: ADMIN Magazin. Linux New Media, Mai 2011, abgerufen am 27. Mai 2011.