Virtualisierung

Was ist KVM?

Eine Kernel-basierte virtuelle Maschine (KVM) ist eine Open Source Virtualisierungstechnologie, die bereits in Linux eingebaut ist®. Insbesondere können Sie mit KVM Linux in einen Hypervisor verwandeln, der es einem Host-Rechner ermöglicht, mehrere isolierte virtuelle Umgebungen auszuführen, die Gast oder Virtuelle Rechner (VM) genannt werden.

KVM ist in Linux integriert. Wenn Sie Linux 2.6.20 oder neuer installiert haben, dann haben Sie auch KVM. KVM wurde erstmals im Jahr 2006 angekündigt und ein Jahr später in den Haupt-Kernel von Linux integriert. Da KVM Teil des bestehenden Linux-Codes ist, profitiert sie sofort von jeder neuen Funktion, Fix oder Verbesserung für Linux, ohne zusätzlichen technischen Aufwand.


Wie funktioniert KVM?

KVM konvertiert Linux in einen Typ-1-Hypervisor (Bare-Metal). Alle Hypervisors benötigen die gleichen Komponenten auf Betriebssystemebene – wie zum Beispiel einen Speichermanager, Prozessplaner, Input/Output-Stack (I/O), Gerätetreiber, Sicherheitsmanager, Netzwerk-Stack und mehr – um VM laufen lassen zu können. KVM verfügt über alle diese Komponenten, weil sie in den Linux-Kernels integriert ist. Jede VM ist als regulärer Linux-Prozess implementiert, der vom standardmäßigen Linux-Scheduler geplant wird, mit dedizierter virtueller Hardware wie einer Netzwerkkarte, Grafikkarte, CPU(s), Speicher und Festplatten.


KVM implementieren

Kurz gesagt müssen Sie eine Version von Linux ausführen, die nach 2007 veröffentlicht wurde; sie muss auf x86-Hardware installiert sein, die Virtualisierungsfunktionalität unterstützt. Wenn diese zwei 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.

KVM-Funktionen

Kurz gesagt: KVM ist Linux. KVM ist ein Teil von Linux. Linux ist ein Teil von KVM. Alles, was Linux bietet, bietet auch KVM. Es gibt aber besondere Funktionen, die KVM zum bevorzugten Hypervisor für Unternehmen machen.

Sicherheit

KVM verwendet eine Kombination von Linux mit erweiterter Sicherheit (SELinux) und sicherer Virtualisierung (sVirt) für verbesserte VM-Sicherheit und -Isolierung. SELinux legt die Sicherheitsgrenzen um VM herum fest. sVirt erweitert die Fähigkeiten von SELinux. sVirt ermöglicht die Anwendung von Mandatory Access Control (MAC) für Gast-VM und verhindert manuelle Kennzeichnungsfehler.

Storage

KVM kann jeden Storage verwenden, der von Linux unterstützt wird, einschließlich lokaler Festplatten und Network-Attached Storage (NAS). Mehrpfad-I/O können verwendet werden, um den Storage zu verbessern und Redundanz zu bieten. KVM unterstützt außerdem gemeinsam genutzte Dateisysteme; VM-Abbilder können also von verschiedenen Hosts gemeinsam genutzt werden. Festplattenabbilder unterstützen Thin-Provisioning und weisen Storage nach Bedarf anstatt im Voraus zu.

Hardware-Unterstützung

KVM kann eine große Bandbreite von zertifizierten und Linux-unterstützten 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.

Speicherverwaltung

KVM übernimmt die Speicherverwaltungsfunktionen von Linux, einschließlich des Non-Uniform Memory Access (NUMA) und Kernel Same-Page Merging. Der Speicher einer VM kann getauscht, durch große Volumina für eine bessere Leistung verstärkt und durch eine Festplattendatei geteilt oder unterstützt werden.

Live-Migration

KVM unterstützt die Live-Migration. Das ist die Fähigkeit, eine laufende VM zwischen physischen Hosts zu verschieben, ohne dass der Service unterbrochen wird. Die VM bleibt in Betrieb, Netzwerkverbindungen bleiben aktiv und die Anwendungen laufen weiter, während die VM verschoben wird. KVM sichert auch den aktuellen Zustand einer VM, sodass diese gespeichert und später fortgesetzt werden kann.

Performance und Skalierbarkeit

KVM übernimmt die Leistung von Linux und skaliert für eine Anpassung an den Lastbedarf, wenn die Anzahl der Gastmaschinen und der Anfragen steigt. Mit KVM können die anspruchsvollsten Anwendungs-Workloads virtualisiert werden. KVM bildet die Grundlage für viele Enterprise-Virtualization-Setups wie zum Beispiel als Rechenzentrum und Private Clouds (über OpenStack®).

Planung und Ressourcensteuerung

Im KVM-Modell ist eine VM ein Linux-Prozess, der vom Kernel geplant und verwaltet wird. Der Linux-Scheduler ermöglicht eine Feinsteuerung der Ressourcen die einem Linux-Prozess zugewiesen werden und garantiert die Qualität eines Services für einen bestimmten Prozess. In KVM beinhaltet dies den Completely Fair Scheduler (CFS), Control Groups, Network Namespaces und Echtzeit-Erweiterungen.

Geringere Latenz und höhere Priorisierung

Der Linux-Kernel enthält Echtzeit-Erweiterungen, die ermöglichen, dass VM-basierte Apps mit niedrigerer Latenz und besserer Priorisierung (im Vergleich zu Bare-Metal) 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

Es ist möglich, eine Handvoll von VM, die auf einer einzelnen Workstation laufen, ohne ein Management-Tool manuell zu verwalten. Große Unternehmen verwenden für die Virtualisierungsverwaltung Software, die eine Schnittstelle zu virtuellen Umgebungen und der zugrundeliegenden physischen Hardware bildet, um die Ressourcenverwaltung zu vereinfachen, Datenanalysen zu verbessern und den Betrieb zu optimieren. Red Hat Virtualization wurde von Red Hat für genau diesen Zweck geschaffen.


KVM und Red Hat

Wir sind von KVM so überzeugt, dass es der einzige Hypervisor ist, den wir für alle unsere Virtualisierungsprodukte einsetzen. Obendrein verbessern wir den Kernel-Code kontinuierlich mit Beiträgen aus der KVM Community. Da KVM ein Teil von Linux ist, und damit Bestandteil von Red Hat Enterprise Linux – wozu brauchen Sie dann Red Hat Virtualization?

Nun, Red Hat hat zwei Versionen von KVM. Die eine Version von KVM, die integriert in Red Hat Enterprise Linux ausgeliefert wird, verfügt über die komplette Hypervisor-Funktionalität mit grundlegenden Management-Fähigkeiten. Damit können Kunden bis zu vier isolierte virtuelle Rechner auf einem einzelnen Host betreiben. Red Hat Virtualization enthält eine erweiterte Version von KVM, die Unternehmensmanagement auf einer unbegrenzten Zahl von Gastmaschinen ermöglicht. Das ist ideal für eine Verwendung in der Rechenzentrum-Virtualisierung, in technischen Workstations, Private Clouds und in der Entwicklung oder Produktion.

Haben Sie eine alte App, die ein älteres Betriebssystem erfordert? Oder möchten Sie eine neue App in einer risikoarmen Umgebung herausbringen? Sie können Red Hat Enterprise Linux als grundlegenden Hypervisor konfigurieren, der bis zu vier isolierte VM auf einem einzelnen Host ausführen kann.

Mehr brauchen Sie nicht. Wirklich nicht. Sie können sie überall installieren, auf Bare-Metal-Hardware bis hin zu Open Source- oder proprietären Systemen, und Dutzende oder Hunderte von virtuellen Rechnern erstellen – mit einem Hypervisor, der all das bewältigen kann, sowie einer Managementplattform, die die entsprechende Benutzerfreundlichkeit bietet.

Die OpenStack Wortmarke und das Square O Design, sind, separat oder gemeinsam, Marken bzw. eingetragene Marken der OpenStack Foundation in den Vereinigten Staaten und anderen Ländern und werden mit der Genehmigung der OpenStack Foundation verwendet. Red Hat, Inc. ist nicht mit der OpenStack Foundation oder der OpenStack Community verbunden und wird nicht durch diese unterstützt oder finanziert.

Virtualisierung bietet eine Vielzahl weiterer Einsatzmöglichkeiten