Virtualisierung

Was ist KVM?

Eine Kernel-basierte virtuelle Maschine (KVM) ist eine Open Source-Virtualisierungstechnologie, die in Linux® eingebaut ist. Insbesondere können Sie Linux mit KVM in einen Hypervisor umwandeln, der es einem Host-Rechner ermöglicht, mehrere isolierte virtuelle Umgebungen auszuführen, die Guests 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.


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. Das heißt, dass Ihre IT-Entwicklungen eher Workarounds als Innovationen darstellen und dass der nächste Vertrag Sie komplett von einer Investition in Clouds, Container und die Automatisierung abhalten könnte. Die Migration zu einer KVM-basierten virtuellen Infrastruktur bedeutet, dass Sie den Quellcode hinter Ihrem Hypervisor prüfen, ändern und verbessern können. Dazu vermeiden Sie einen Lizenzvertrag, weil der Quellcode nicht geschützt werden muss. Denn der gehört ganz Ihnen.


KVM-Funktionen

KVM ist in Linux integriert. 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.

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.

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.

KVM kann diverse zertifizierte und von Linux unterstützte Hardwareplattformen verwenden. Da Hardwareanbieter regelmäßig zur Kernel-Entwicklung beitragen, werden die neuesten Hardwarefunktionen oft sehr schnell in den Linux-Kernel übernommen.

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.

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.

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 große Anwendungs-Workloads virtualisiert werden. Außerdem bildet KVM die Grundlage für viele Setups der Unternehmensvirtualisierung, beispielsweise für Rechenzentren und Private Clouds (über OpenStack®).

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.

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.

Do you have a legacy app that requires an older operating system? Perhaps you’d like pilot a new app in a low-risk environment? You can configure Red Hat Enterprise Linux as a basic hypervisor for running up to 4 isolated VM on a single host.

This is all you need. Really. Install it on anything—from bare-metal hardware to open source or proprietary systems—and start deploying virtual machines by the dozens or hundreds with an advanced hypervisor that can handle it and a management platform that makes it easy.

Die OpenStack Wortmarke und das Square O Design, sind, separat oder gemeinsam, Marken oder 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.