Kernel-based Virtual Machine
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[http://www.heise.de/open/artikel/Die-Woche-Xen-hat-KVM-vorbeiziehen-lassen-1261765.html Die Woche: Xen hat KVM vorbeiziehen lassen] – Artikel bei Heise open, vom 16. Juni 2011 des Linux-Kernels enthalten. Entwickelt wird es von dem israelischen Unternehmen Qumranet und steht dort unter Beaufsichtigung von Avi Kivity. Qumranet wurde im September 2008 von Red Hat gekauft.[http://www.heise.de/open/Red-Hat-investiert-in-Virtualisierung-Update--/news/meldung/115452 Red Hat investiert in Virtualisierung] – Artikel bei Heise open, vom 4. September 2008
Überblick
Bestandteile der KVM sind die Kernel-Module kvm.ko (das auch unter älteren Linux-Versionen laufen soll) sowie die hardwarespezifischen Module kvm-intel.ko oder kvm-amd.ko. KVM selbst nimmt keine Emulation vor, sondern stellt nur die Infrastruktur dazu bereit; ein modifiziertes QEMU ist derzeit die einzige Möglichkeit, diese zu nutzen. QEMU stellt für virtualisierte Gastsysteme die notwendigen Geräte wie Festplatten, Netzwerk-, Sound- und Grafikkarten zur Verfügung.[http://www.ordix.de/ORDIXNews/4_2009/Betriebssysteme/linux_kernel_based_virtual_machine.html] - Artikel bei ordix.de, abgerufen am 22. April 2012 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.[http://wiki.libvirt.org/page/Virtio] - wiki.libvirt.org, aufgerufen am 22. April 2012 Seit Kernel 3.1 unterstützt KVM nested Virtualization auf Intel-CPUs.[http://www.golem.de/1109/86538.html] - Artikel bei golem.de, aufgerufen am 22. April 2012 Für AMD-CPUs ist dies bereits seit Version 2.6.30 verfügbar. Nested Virtualization ermöglicht es Gastsystemen die Virtualisierungsunterstüzung der CPU für die Gastsysteme verfügbar zu machen, welche so weitere Gäste virtualisieren können.[http://www.heise.de/open/artikel/Power-Management-und-PCI-Tuz-und-Schnellstart-224620.html?artikelseite=2] - Artikel bei heise.de, abgerufen am 22. April 2012
Bestandteile
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 CPU-Bibliothek (libqemu.a) und QEMU-PC-Emulator: LGPL
* Linux-Usermode von QEMU: GPL
* BIOS-Dateien (bios.bin, vgabios.bin und vgabios-cirrus.bin): LGPL v2 oder neuer
Bedeutung
KVM führt bislang eher ein Nischendasein. Im Vergleich zu den Produkten von VMware (VMware ESXi), Microsoft (Hyper-V) oder Citrix (XenServer) besitzt KVM keinen nennenswerten Marktanteil. Der freie Hypervisor wurde jedoch mit Kernelversion 2.6.20 in den Linuxkernel fest integriert und wird so mit jeder aktuellen Version mitgeliefert. [http://www.ordix.de/ORDIXNews/4_2009/Betriebssysteme/linux_kernel_based_virtual_machine.html] - Artikel von ordix.de, abgerufen am 22. April 2012 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. [http://www.openvirtualizationalliance.org] - offizielle Seite der OVA Die großen Distributoren Ubuntu[http://www.golem.de/0802/57652.html] - Artikel auf Golem, abgerufen am 23. April 2012 , Red Hat und SUSE Linux [http://derstandard.at/1271377020504/Update-SUSE-Linux-Enterprise-SP1-mit-voller-KVM-Unterstuetzung]- Artikel auf derstandard.de, abgerufen am 23. April 2012 haben bei der präferierten Virtualisierungslösung schon seit einiger Zeit von Xen auf den Neuling KVM gewechselt.
Management Tools
Für KVM sind mehrere Programme zur Steuerung möglich. So ist möglich mittels Kommandozeilenprogrammen wie qemu/kvm, virsh zu erstellen. Angenehmer und übersichtlicher gelingt dies jedoch mit grafischen Frontends wie dem Virtual Machine Manager (VMM) oder AQemu. Es existieren auch Lösungen, die das Management über Weboberflächen ermöglichen und somit für das Ausrollen einer Virtuellen Infrastruktur in Firmen ermöglichen. Hier ist das oVirt-Projekt und das darauf aufbauende kommerzielle Redhat Enterprise Virtualization zu nennen.[http://www.linux-kvm.org/page/Management_Tools] - offizielle Seite von KVM
Es bestehen auch andere kommerzielle Lösung 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.[http://www.brianmadden.com/blogs/gabeknuth/archive/2010/02/25/a-first-look-at-virtual-bridges-verde.aspx] - Seite von Virtual Bridges
Eine sehr detaillierte Auflistung der vorhandenen Management Tools für KVM ist unter http://www.linux-kvm.org/page/Management_Toolszu finden.
Besonderheiten
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.[http://www.searchdatacenter.de/themenbereiche/virtualisierung/loesungen/articles/318394/] - Artikel auf searchdatacenter.de, aufgerufen am 22. April 2012
Siehe auch
- Xen
* VirtualBox
* VMware
* Hyper-V
* UCS Virtual Machine Manager (UVMM){{internetquelle|url=http://www.admin-magazin.de/Das-Heft/2011/03/Univention-Corporate-Server-fuer-virtuelle-Infrastrukturen|titel="Cockpit - Univention Corporate Server für virtuelle Infrastrukturen"|zugriff=27.Mai 2011|datum=Mai 2011|werk=ADMIN Magazin|hrsg=Linux New Media|zitat=Zu den [...] Open Source Virtualisierungsplattformen [...] gesellt sich der neue Univention Corporate Server 2.4-2 als weitere Plattform, die das Verwalten von KVM-Instanzen im Browser erlaubt. Zusätzlich bietet UCS eine komfortable Möglichkeit zum Einrichten vom Xen-Virtualisierungsszenarien.}}
Literatur
- {{Literatur|Autor=Christoph Arnold, Michel Rode, Jan Sperlin, Andreas Steil|Titel=KVM Best Practices. Virtualisierungslösungen für den Enterprise-Bereich|Ort= Heidelberg| Verlag = dpunkt-Verlag |Jahr=2012|ISBN=978-3-89864-737-3}}
* {{Literatur|Autor=Robert Warnke, Thomas Ritzau|Titel=qemu-kvm & libvirt. 2010|Ort=Norderstedt|Verlag=Books on Demand|Jahr=2010|ISBN=978-3-8370-0876-0}}
Weblinks
- Wiki des [http://www.linux-kvm.org/ Projekts KVM]
* LinuxInsight: [http://www.linuxinsight.com/finally-user-friendly-virtualization-for-linux.html Erste Benchmarks von KVM]
* WindowsPro: [http://www.windowspro.de/wolfgang-sommergut/open-source-hypervisor-kvm-gewinnt-xen-ungewiss/ Open-Source-Hypervisor: KVM gewinnt, Xen ungewiss]
* [http://www.openqrm.com openQRM: Open-Source-Virtualisierungplattform mit KVM, Xen, LVS, Vmware (Server+ESX) (GPL und MPL1.1)]
Einzelnachweise
Kategorie:Freie Virtualisierungssoftware
Kategorie:Linux-Betriebssystemkomponente
ar:ك.ف.م
Kernel-based Virtual Machine
es:Kernel-based Virtual Machine
fi:Kernel-based Virtual Machine
Kernel-based Virtual Machine
hr:KVM
it:Kernel-based Virtual Machine
ja:Kernel-based Virtual Machine
no:Kjernebasert virtuell maskin
pl:Kernel-based Virtual Machine
pt:Kernel-based Virtual Machine
ru:Kernel-based Virtual Machine
sv:Kernel-based Virtual Machine
zh:Kernel-based Virtual Machine
Text und Bilder dieses Beitrags stammen aus dem Artikel Kernel-based Virtual Machine der freien Enzyklopädie Wikipedia und stehen unter der GNU Free Documentation License. Die Liste der Autoren ist in der Wikipedia unter dieser Seite verfügbar, der Original-Artikel lässt sich hier bearbeiten.