Was ist KVM?

What Is Kvm



Virtualisierung bezieht sich auf die Erstellung einer simulierten Computerressource, die das Verhalten der entsprechenden realen oder physischen Ressource nachahmt. Viele Arten von Ressourcen können virtualisiert werden, von Software über einzelne Hardwaregeräte bis hin zu kompletten Hardwareplattformen. Dieser Beitrag konzentriert sich auf virtuelle Maschinen, die Geräte wie CPU, Arbeitsspeicher, Netzwerkkarte, Festplatte, Grafikkarte und das Betriebssystem umfassen. Software, die virtuelle Maschinen erstellt und ausführt, wird als Hypervisor bezeichnet. Im Folgenden werden die Funktionen eines Hypervisors mit dem Namen KVM .

Vorteile der Virtualisierung

In der Vergangenheit war Homogenität der Modus Operandi in Rechenzentren, Entwicklungshäusern und zu Hause. Praktisch würden alle Maschinen dieselbe Version eines einzigen Betriebssystems ausführen, sei es Linux, Windows oder FreeBSD. Die Zeiten haben sich geändert.







Heute würden wir erwarten, dass sich verschiedene Betriebssysteme wie Linux und Windows und sogar verschiedene Versionen eines Betriebssystems (z. B. Windows XP und 10) in derselben Computerumgebung befinden. Ohne virtuelle Maschinen müssen mehrere physische Maschinen bereitgestellt und gewartet werden, um Anwendungen auf mehreren Betriebsplattformen auszuführen. Virtualisierung ermöglicht die Ausführung mehrerer virtueller Maschinen, jede potenziell mit einem anderen Betriebssystem, auf einer einzigen physischen Maschine.



Zu den Vorteilen virtueller Maschinen gegenüber physischen Maschinen gehören:



  1. Effizientere Nutzung der Computerressourcen.
    Die Preise für Hardware sinken weiter, während ihre Rechenleistung weiter steigt. Unter dieser Realität neigen viele große, leistungsstarke Maschinen heute dazu, unterausgelastet zu sein, gemessen an CPU-Leerlaufzyklen, ungenutztem Speicher usw. Die Konsolidierung virtueller Maschinen auf weniger physische Maschinen führt zu weniger physischen Ressourcen und damit zu einer besseren Effizienz.
  1. Verbesserte IT Reaktionsfähigkeit und Produktivität.
    Die Bereitstellung neuer physischer Hardware erfordert eine lange Wartezeit für die Anschaffung, gefolgt von einer langen Installations- und Bereitstellungsphase nach ihrer Ankunft. Im Gegensatz dazu kann die Bereitstellung virtueller Maschinen automatisiert und innerhalb von Minuten bereitgestellt werden, anstatt Tage oder sogar Wochen, wie dies bei der herkömmlichen Maschinenbeschaffung manchmal der Fall ist.
  1. Kosteneinsparung.
    Große Rechenzentren sparen Geld durch niedrigere Betriebskosten. Die Einsparung kommt in Form von reduzierten Energiekosten als Folge des geringeren Kühl- und Strombedarfs.

Einführung von KVM

Kernel-basierte virtuelle Maschine oder KVM kurz gesagt, ist eine kostenlose Open-Source-Hypervisor-Lösung. Es konkurriert in einer ausgereiften Branche mit Open-Source-Alternativen wie Xen , VirtualBox , sowie proprietäre Produkte wie VMware vSphere , Citrix XenServer , Microsoft Hyper-V .





Vor 2005 waren damals alle Hypervisor-Lösungen wie Xen und VirtualBox softwarebasiert. Die x86-Architektur hatte einfach keine Vorkehrungen für die Unterstützung der Virtualisierung. Im Jahr 2005 hat die Einführung der Befehlssatzerweiterungen Intel VT und AMD-V die Virtualisierungslandschaft nachhaltig verändert. KVM veröffentlichte seine erste Version im Jahr 2006 und war einer der ersten Hypervisor, der die Vorteile der neuen Hardwarebereitstellung nutzte, um die Virtualisierungsleistung zu optimieren.

Sie können KVM auf jedem 32-Bit- oder 64-Bit-x86-Computer installieren, dem „Hostcomputer“ im Hypervisory-Jargon, der die Intel VT- oder AMD-V-Erweiterung unterstützt. Heutzutage unterstützen moderne Hypervisoren in der Regel hybride Virtualisierung: nach Möglichkeit hardwareunterstützt und für ältere Chipsätze ein Failover auf reine Software.



KVM wird als Typ-2-Hypervisor kategorisiert, was bedeutet, dass es innerhalb eines Host-Betriebssystems ausgeführt wird. Wie der Name schon sagt, ist KVM Kernel-basiert, genauer gesagt der Linux-Kernel. Daher ist es nicht verwunderlich, dass KVM nur Linux als Host-Betriebssystem unterstützt. (KVM wurde anschließend auf FreeBSD portiert.) Wenn Sie einen Open-Source-Multi-Plattform-Typ-2-Hypervisor wünschen, ist VirtualBox ein guter Kandidat. VirtualBox kann nativ auf Windows, Linux, Mac OS X und Solaris ausgeführt werden.

Xen hingegen ist ein Typ-1-Hypervisor, auch Bare-Metal-Hypervisor genannt, der direkt als Firmware auf dem Host-Rechner läuft. Der Vorteil von Typ-1 gegenüber Typ-2 ist die Effizienzgewinne, da der Hypervisor direkt auf der zugrunde liegenden Hardware läuft. Der Nachteil besteht darin, dass ein Typ-1-Hypervisor möglicherweise nicht so viele Hostgeräte unterstützt wie das Host-Betriebssystem eines Typ-2-Hypervisors.

Während sich Hypervisoren darin unterscheiden können, ob sie ein Host-Betriebssystem benötigen und welches, sind sie sich sehr ähnlich in Bezug auf die von ihnen unterstützten Gast-Betriebssysteme, dh das Betriebssystem, das eine virtuelle Maschine ausführen kann. KVM unterstützt die Virtualisierung der folgenden Gastbetriebssysteme:

  • Linux-Distributionen einschließlich Debian, Ubuntu, Centos, Fedora, RedHat Enterprise Linux
  • BSD wie OpenBSD, FreeBSD, NetBSD
  • Solaris
  • Fenster

KVM kann unveränderte Gastbetriebssystem-Images ausführen. Diese Funktion wird als vollständige Virtualisierung bezeichnet, im Gegensatz zur Paravirtualisierung, bei der das Gastbetriebssystem für die spezielle Handhabung von Vorgängen modifiziert wird, die auf der virtuellen Maschine wesentlich schwieriger auszuführen sind als auf der Hostmaschine.


So funktioniert KVM

KVM besteht aus 2 Technologiekomponenten: Kernel und Userspace. Die Kernelkomponente besteht aus 2 ladbaren Kernelmodulen: kvm.ko und entweder kvm-intel.ko oder kvm-amd.ko. Das kvm.ko-Modul bietet eine von der Kernarchitektur unabhängige Virtualisierungsverarbeitung. Die Module kvm-intel.ko und kvm-amd.ko entsprechen den prozessorspezifischen Modulen von Intel und AMD. Diese Module wurden ab der Kernel-Version 2.6.20 in den Linux-Kernel eingebunden.

Die enge Integration von KVM mit dem Linux-Kernel hat ihre Vorteile. KVM kann an Linux delegieren, um die System-Grunt-Arbeit zu erledigen, während es sich auf die Handhabung der neuen Virtualisierungsanweisungen konzentriert, die von der Hardware bereitgestellt werden. KVM profitiert auch, indem es von jeder kontinuierlichen Systemverbesserung von Upstream in der größeren Linux-Community erbt.

Wichtig ist, dass die Kernel-Module keine virtuelle Maschinenhardware emulieren, auf der das Gastbetriebssystem ausgeführt wird. Dieser Job gehört in den User-Space. KVM verwendet QEMU , die im Benutzerbereich ausgeführt wird, um die virtuellen Maschinen zu erstellen, die mit den Gastbetriebssystemen interagieren. Jede virtuelle Maschine ist einfach ein normaler Linux-Prozess. Ein großer Vorteil besteht darin, dass Sie vertraute Linux-Befehle wie top und kill verwenden können, um virtuelle Maschinen zu überwachen und zu verwalten.


Zusammenfassung & Fazit

KVM ist eine hervorragende Open-Source-Lösung für die vollständige Virtualisierung auf der Linux-Hostplattform. Nach mehr als 10 Jahren aktiver Entwicklung hat sich KVM in vielen Linux-Distributionen zum De-facto-Standard-Virtualisierungstool auf Maschinenebene entwickelt.