Konto Anmelden
Jump to section

Was ist KVM?

URL kopieren

Kernel-Based Virtual Machine (KVM) ist eine Open Source-Virtualisierungstechnologie, die in Linux® integriert 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 als „Gäste" oder „virtuelle Rechner" (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 von jeder neuen Funktion, Fix oder Verbesserung für Linux, ohne zusätzlichen technischen Aufwand.

KVM wandelt 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 es Teil des Linux-Kernels ist. 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 Guests tauschen, Libraries gemeinsam nutzen, die Performance von Systemen optimieren und vieles mehr.

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 virtuellen Infrastruktur 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.

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 Guest-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 Guest-Maschinen und Anfragen steigt. Auch können damit die anspruchsvollsten 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 Completely Fair Scheduler (CFS), Control Groups, Network 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.

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. Red Hat hat genau für diesen Zweck Red Hat Virtualization entwickelt.

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. Da KVM ein Teil von Linux ist, und damit Bestandteil von Red Hat Enterprise Linux – wozu brauchen Sie dann noch Red Hat Virtualization?

Weil Red Hat zwei Versionen von KVM anbietet. 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-Funktionen. Damit können Kunden unbegrenzt isolierte virtuelle Maschinen auf einem einzelnen Host betreiben. Red Hat Virtualization umfasst eine erweiterte, unternehmensgerechte Version von KVM, mit der sich eine unbegrenzte Zahl an Guest-Maschinen managen lassen. Das ist ideal für eine Verwendung in technischen Workstations, Private Clouds und in der Entwicklung oder Produktion.

Weiterlesen

ARTIKEL

Vergleich zwischen Containern und VMs

Linux-Container und virtuelle Maschinen (VMs) sind paketierte Computing-Umgebungen, die verschiedene IT-Komponenten vereinen und vom Rest des Systems isolieren.

ARTIKEL

Was ist eine virtuelle Maschine (VM)?

Eine virtuelle Maschine (VM) ist eine isolierte Computing-Umgebung, die durch Extrahieren von Ressourcen einer physischen Maschine erstellt wird.

ARTIKEL

Was ist KVM?

Kernel-based Virtual Machine (KVM) ist eine Open Source-Virtualisierungstechnologie, die Linux in einen Hypervisor umwandelt.

Mehr über Virtualisierung erfahren

Produkte

Red Hat OpenShift Container Platform

Eine konsistente Hybrid Cloud-Basis für die Erstellung und Skalierung containerisierter Anwendungen.

Red Hat Openstack Platform

Eine Plattform, die Hardware virtualisiert und diese Ressourcen in Clouds organisiert.

Ressourcen

Datenblatt

Red Hat Hyperconverged Infrastructure

CHECKLISTE

Die wichtigsten fünf Gründe für die Einführung einer offenen Hyperconverged Infrastructure

Training

Kostenloser Trainingskurs

Virtualization and Infrastructure Migration Technical Overview

  • Die OpenStack® Wortmarke und das OpenStack Logo sind eingetragene Marken/Dienstleistungsmarken oder Marken/Dienstleistungsmarken der OpenStack Foundation in den USA und anderen Ländern und werden mit der Genehmigung der OpenStack Foundation verwendet. Wir sind weder mit der OpenStack Foundation oder der OpenStack Community verbunden, noch werden wir von ihnen unterstützt oder finanziert.

Illustration - mail

Möchten Sie mehr zu diesen Themen erfahren?

Abonnieren Sie unseren kostenlosen Newsletter, Red Hat Shares.