Guido Vrola - Fotolia

F

Open Source und modular: Unterschiede zwischen KVM und anderen Hypervisoren

KVM ist Open-Source-Software und fügt Linux-Betriebssystemen Hypervisor-Funktionen hinzu. Der große Vorteil von KVM liegt in seiner Open-Source-Natur.

KVM steht für Kernel-based Virtual Machine Hypervisor und ist eine wichtige Virtualisierungs-Technologie, die dem Linux-Kernel Hypervisor-Funktionen hinzufügt, der wiederum im Gegenzug Memory-Ressourcen zuweist, Sicherheitsfunktionen bietet und das Prozess-Scheduling durchführt. Zusätzlich kann Linux sehr schnell um unnötigen Code entschlackt werden, was ein hohes Optimierungspotenzial bietet und einen sehr effizienten Betrieb ermöglicht.

Über die Jahre hat sich die KVM-Technologie deutlich weiterentwickelt und unterstützt inzwischen verschiedene Prozessoren und Betriebssysteme – sogar Windows-Gäste. Da Linux im Rechenzentrum immer wichtiger wird, sollten Administratoren ein besseres Verständnis von KVM und den potenziellen Vorteilen der Technologie entwickeln.

Der Unterschied zwischen KVM und anderen Hypervisoren

KVM wurde 2007 offiziell veröffentlicht und ist ein Open-Source-Linux-Modul das mit kommerziellen Produkten wie Microsoft Hyper-V oder VMware ESXi konkurriert. Linux verfolgt bei der Softwarearchitektur einen streng modularen Aufbau, wodurch Administratoren unterschiedlichste Module hinzufügen oder entfernen können, um für ihre Linux-Distribution die effizienteste Code-Basis zu erhalten. KVM ist lediglich eines dieser Module und kann in den Linux-Kernel kompiliert werden, um der jeweiligen Linux-Version Hypervisor-Funktionalität zur Verfügung zu stellen.

Die Open-Source-Natur von KVM und dem gesamten Linux-Ökosystem bedeutet, dass der Kernel und die einzelnen Module je nach Performance- oder Funktionalitätsvorgaben verändert werden können. Dies stellt einen enormen Unterschied zu den kommerziellen Hypervisor-Produkten dar, die monolithische Code-Blöcke darstellen, die zumindest auf Ebene des Quellcodes nicht angepasst werden können.

Der Linux-Kernel verwaltet das Dateisystem, Block-Speicher und Treiber physischer Geräte. KVM stellt Administratoren ein Interface zur Verfügung, über welches sie KVM-Gäste einrichten können, also virtuelle Maschinen auf Basis von KVM. KVM konfiguriert dabei den Adressraum, liefert virtuelle CPUs, bearbeitet die I/O-Ströme, bietet ein Firmware-Image für die Gastsysteme und bildet den Video-Output der Gast-VMs zum Anzeigen im Host-Kernel ab.

Sobald KVM-Gäste aufgesetzt wurden, werden ihnen vCPUs und I/O-Ressourcen zugewiesen, die dann an den Kernel des Gastbetriebssystems weitergereicht werden, wo die Treiber des Gastbetriebssystems und das Dateisystem mit den Anwendungen der Gast-VM interagieren können. Damit wird jede virtuelle Maschine zu einem regulären Linux-Prozess und kann beinahe mit Bare-Metal-Geschwindigkeit arbeiten.

Dabei gibt es immer wieder Diskussionen darüber, ob es sich bei KVM um einen Typ-1- oder Typ-2-Hypervisor handelt. Die Voraussetzung eines zugrundeliegenden Kernels führt oft fälschlicherweise zur Klassifizierung als Typ-2-, also Hosted-Hypervisor. Diese Architekturbeziehung zwischen Kernel und Hypervisor verschleiert aber, dass KVM direkt auf der Hardware ausgeführt wird und Virtualisierungs-Erweiterungen des Prozessors wie Intel VT-x oder AMD-V nutzen kann. KVM nutzt den Linux-Kernel einfach wie eine Art Minimalbetriebssystem, genauso wie ESXi oder Hyper-V ein minimales Betriebssystem benötigen.

Weitere Artikel zu KVM:

Mit Swap-Speicher mehr virtuelle Maschinen auf KVM nutzen

KVM-Snapshots im laufenden Betrieb erstellen

VM-Templates für KVM erstellen

Heutzutage wird KVM meist korrekterweise als Type-1- und damit als Bare-Metal-Hypervisor klassifiziert. Ein Beispiel für ein alleinstehendes Hypervisor-Produkt auf Basis von KVM wäre Red Hat Enterprise Virtualization (RHEV), aber auch Nutanix Acropolis setzt auf KVM, ist allerdings nicht separat erhältlich.

Die Offenheit und Flexibilität von KVM stellt IT-Abteilungen allerdings vor neue Probleme. IT-Abteilungen, die auf Linux setzen, wollen sich meist nicht mit dem Kompilieren eigener Builds auseinandersetzen, sondern bevorzugen ein Enterprise-Linux mit kommerziellem Support. Entsprechende Distributionen mit KVM-Unterstützung wären beispielsweise Red Hat Enterprise Linux (RHEL), SUSE Linux Enterprise Server (SLES) oder auch Fedora. Damit lassen sich die Risiken und Kosten des Kompilierens einer Linux-Umgebung vermeiden.

Wer trotzdem den Weg des Kompilierens und Modifizierens einer eigenen Linux-Umgebung einschlägt, inklusive KVM, der benötigt hierfür weitreichendes Fachwissen in der Softwareentwicklung. In der Konsequenz eignet sich Linux also durchaus auch für geschäftskritische Unternehmensbereiche, wird oft aber für sehr spezifische Applikationen verwendet. KVM konkurriert hierbei mit verschiedenen kommerziellen und nicht-kommerziellen alternativen Betriebssystemen und Hypervisoren.

Folgen Sie SearchDataCenter.de auch auf Twitter, Google+, Xing und Facebook!

Artikel wurde zuletzt im Mai 2017 aktualisiert

Erfahren Sie mehr über Open-Source-Virtualisierung

Diskussion starten

Schicken Sie mir eine Nachricht bei Kommentaren anderer Mitglieder.

Bitte erstellen Sie einen Usernamen, um einen Kommentar abzugeben.

- GOOGLE-ANZEIGEN

SearchSecurity.de

SearchStorage.de

SearchNetworking.de

SearchEnterpriseSoftware.de

Close