Jump to section

Was ist KVM?

URL kopieren

2024 Global Tech Trends

Die schnelle Digitalisierung in der Technologiewelt hat dazu geführt, dass Organisationen teilweise andere Hauptbereiche ihres Unternehmens priorisieren. In der 10. Ausgabe unseres Berichts „Global Tech Trends 2024“ untersuchen wir Insights aus der Branche, Prioritäten und kritische Hindernisse.

Report lesen: Global Tech Trends 2024

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.

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.

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.

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.

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. KVM ist ein Teil von Linux und damit auch Bestandteil von Red Hat Enterprise Linux.

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.

  • 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.