Überblick
Kernel-Based Virtual Machine (KVM) ist eine Open Source-Virtualisierungstechnologie, die in Linux® integriert ist. Mit KVM können Sie Linux in einen Hypervisor umwandeln, der es einem Host-Rechner ermöglicht, mehrere isolierte virtuelle Umgebungen auszuführen, die als „Gäste" oder virtuelle Maschinen (VMs) bezeichnet werden.
KVM ist in Linux integriert. Wenn Sie mit Linux 2.6.20 oder höher arbeiten, verfügt Ihre Version über KVM. KVM wurde 2006 bekannt gegeben und ein Jahr später fester Bestandteil des grundlegenden Linux-Kernels. Da KVM Teil des bestehenden Linux-Codes ist, profitiert sie sofort und ohne zusätzlichen technischen Aufwand von jedem neuen Feature und Fix sowie jeder neuen Verbesserung für Linux.
Wie funktioniert KVM?
KVM konvertiert Linux in einen (Bare Metal-)Hypervisor vom Typ 1. Alle Hypervisoren benötigen zur Ausführung der VMs einige Komponenten auf Betriebssystemebene, zum Beispiel einen Speichermanager, Prozessplaner, Input/Output-Stack (I/O), Gerätetreiber, Sicherheitsmanager, Netzwerk-Stack und mehr. KVM umfasst alle diese Komponenten, da sie Teil des Linux-Kernels sind. Jede VM wird als regulärer Linux-Prozess implementiert und vom standardmäßigen Linux-Planer geplant – mit dedizierter virtueller Hardware wie Netzwerkkarten, Grafikkarten, CPU(s), Speicher und Disks.
KVM implementieren
Kurz gesagt, Sie müssen eine Version von Linux ausführen, die nach 2007 veröffentlicht wurde, und diese auf X86-Hardware installieren, die Virtualisierungsfunktionen unterstützt. Wenn diese beiden Anforderungen erfüllt sind, müssen Sie nur noch zwei bestehende Module laden (ein Host-Kernel-Modul und ein prozessorspezifisches Modul); hinzu kommen ein Emulator und alle Treiber, die Sie beim Betrieb zusätzlicher Systeme unterstützen.
Durch das Implementieren von KVM auf einer unterstützten Linux-Distribution (z. B. Red Hat Enterprise Linux) werden die KVM-Funktionen erweitert. Dadurch können Sie Ressourcen zwischen „Gästen" tauschen, Libraries gemeinsam nutzen, die Performance von Systemen optimieren und vieles mehr.
Red Hat Ressourcen
Migration zu einer KVM-basierten virtuellen Infrastruktur
Beim Aufbau einer virtuellen Infrastruktur auf einer Plattform sind Unternehmen oft vertraglich an einen Anbieter gebunden, was ihren Zugriff auf den Quellcode einschränken kann. Dadurch sind Ihre IT-Entwicklungen eher Workarounds als Innovationen, und der nächste Vertrag könnte Sie sogar komplett von einer Investition in Clouds, Container und die Automatisierung abhalten. Die Migration zu einer KVM-basierten Virtualisierungsplattform bedeutet, dass Sie den Quellcode Ihres Hypervisors prüfen, ändern und verbessern können. Außerdem vermeiden Sie einen Lizenzvertrag, weil der Quellcode nicht geschützt werden muss. Denn der gehört Ihnen.
Features von KVM
KVM ist in Linux integriert. Linux ist ein Teil von KVM. Alle Features von Linux sind auch in KVM enthalten. Es gibt aber bestimmte Features, die KVM zum bevorzugten Hypervisor für Unternehmen machen.
Sicherheit
Durch eine Kombination aus SELinux (Security-Enhanced Linux) und sVirt (sichere Virtualisierung) verbessert KVM die Sicherheit und Isolation Ihrer VMs. SELinux errichtet dabei Sicherheitsgrenzen um die VMs und sVirt erweitert die Funktionen von SELinux zusätzlich, indem es MAC-basierte Sicherheit (Mandatory Access Control) auf Gast-VMs anwendet und manuelle Label-Fehler verhindert.
Storage
KVM kann alle von Linux unterstützten Storage-Typen verwenden, darunter auch einige lokale Disks und NAS (Network-Attached Storage). Der Einsatz von Multipath I/O ermöglicht einen besseren Storage und Redundanz. Außerdem unterstützt KVM gemeinsam genutzte Dateisysteme, damit VM-Images von mehreren Hosts genutzt werden können. Disk-Images unterstützen Thin Provisioning (TP) und weisen den Storage damit nach Bedarf zu, statt den gesamten Storage vorab zur Verfügung zu stellen.
Hardware-Unterstützung
KVM kann diverse zertifizierte und von Linux unterstützte Hardware-Plattformen verwenden. Da Hardware-Anbieter regelmäßig zur Kernel-Entwicklung beitragen, werden die neuesten Hardware-Funktionen oft sehr schnell an den Linux-Kernel angepasst.
Speichermanagement
KVM verfügt über die gleichen Speichermanagement-Features wie Linux, einschließlich NUMA (Non-Uniform Memory Access) und KSM (Kernel Same-Page Merging). Der Speicher einer VM kann getauscht, für eine bessere Performance durch große Volumina verstärkt sowie durch eine Festplattendatei geteilt oder unterstützt werden.
Live-Migration
KVM unterstützt Live-Migrationen, d. h. die Möglichkeit, eine VM während der Ausführung zwischen physischen Hosts zu migrieren, ohne dass es zur Unterbrechung des Service kommt. Die VM und ihre Netzwerkverbindungen bleiben dabei aktiv und betroffene Anwendungen werden weiterhin ausgeführt. KVM speichert außerdem den aktuellen Zustand der VM, so dass dieser erhalten bleibt und später wieder aufgenommen werden kann.
Performance und Skalierbarkeit
KVM verfügt über die gleiche Performance wie Linux und kann sich daher durch Skalierung an den Lastbedarf anpassen, wenn die Anzahl der Gast-Maschinen und Anfragen steigt. Damit können auch sehr anspruchsvolle Anwendungs-Workloads virtualisiert werden. KVM bildet außerdem die Grundlage für viele Setups der Unternehmensvirtualisierung, etwa für Rechenzentren und Private Clouds (über OpenStack®).
Planung und Ressourcensteuerung
Im KVM-Modell handelt es sich bei einer VM um einen Linux-Prozess, der vom Kernel geplant und gemanagt wird. Die Linux-Planung ermöglicht eine detaillierte Steuerung der Ressourcen, die einem Linux-Prozess zugewiesen werden, und stellt so die Servicequalität für den jeweiligen Prozess sicher. In KVM beinhaltet dies den CFS (Completely Fair Scheduler), Control Groups, Netzwerk-Namespaces und Echtzeit-Erweiterungen.
Geringe Latenz und höhere Priorisierung
Der Linux-Kernel bietet Echtzeit-Erweiterungen, durch die VM-basierte Anwendungen (im Vergleich zu Bare Metal) mit einer geringeren Latenz und besserer Priorisierung ausgeführt werden können. Der Kernel teilt auch Prozesse, die lange Rechenzeiten erfordern, in kleinere Komponenten auf, die dann entsprechend eingeplant und verarbeitet werden.
KVM verwalten
Wenn nur einige wenige VMs auf einer einzigen Workstation ausgeführt werden, lassen sich diese problemlos manuell ohne ein Managementtool verwalten. Größere Unternehmen verwenden hingegen Virtualisierungsmanagement-Software, die eine Schnittstelle zwischen virtuellen Umgebungen und der zugrunde liegenden physischen Hardware bildet. Sie vereinfacht die Ressourcenverwaltung, verbessert Datenanalysen und optimiert die Abläufe.
KVM und Red Hat
Wir sind zutiefst von KVM überzeugt. KVM ist daher der einzige Hypervisor für alle unsere Virtualisierungsprodukte und wir verbessern den Kernel-Code kontinuierlich mit Beiträgen zur KVM-Community. KVM ist ein Teil von Linux und damit auch Bestandteil von Red Hat Enterprise Linux.
Der offizielle Red Hat Blog
Lernen Sie mehr über unser Ökosystem von Kunden, Partnern und Communities und erfahren Sie das Neueste zu Themen wie Automatisierung, Hybrid Cloud, KI und mehr.