KVM

Was ist KVM?Kernel

Was ist KVM?Kernel

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 comprise. Software, die virtuelle Maschinen erstellt und ausführt, wird als Hypervisor bezeichnet. Im Folgenden besprechen wir die Funktionen eines Hypervisors namens 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 erwarten wir verschiedene Betriebssysteme wie Linux und Windows und sogar verschiedene Versionen eines Betriebssystems (z.G., Windows XP und 10), um sich in derselben Computerumgebung zu 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 von Computerressourcen.
    Der Preis für Hardware sinkt weiter, während ihre Rechenleistung weiter steigt. Unter dieser Realität neigen viele große, leistungsstarke Maschinen heute dazu, nicht ausgelastet 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 mehr Effizienz.
  1. Verbesserte I.T. Reaktionsfähigkeit und Produktivität.
    Die Bereitstellung neuer physischer Hardware erfordert eine lange Wartezeit, gefolgt von einer langen Installations- und Bereitstellungsphase nach ihrer Ankunft its. Im Gegensatz dazu kann die Bereitstellung virtueller Maschinen automatisiert und innerhalb von Minuten verfügbar gemacht werden, anstatt Tage oder sogar Wochen, die die traditionelle Maschinenbeschaffung manchmal dauert.
  1. Kosteneinsparung.
    Große Rechenzentren sparen Geld durch niedrigere Betriebskosten. Die Einsparung kommt in Form von reduzierten Energiekosten aufgrund des geringeren Kühl- und Strombedarfs.

Einführung von KVM

Kernel-based Virtual Machine, kurz KVM, ist eine kostenlose Open-Source-Hypervisor-Lösung. Es konkurriert in einer ausgereiften Branche mit Open-Source-Alternativen wie Xen, VirtualBox sowie proprietären Produkten 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.  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 Hypervisor in der Regel hybride Virtualisierung: Hardware-unterstützt, wenn möglich, und ein Failover auf Software-only für ältere Chipsätze.

KVM wird als Typ-2-Hypervisor kategorisiert, was bedeutet, dass es innerhalb eines Host-Betriebssystems läuft. Wie der Name schon sagt, ist KVM Kernel-basiert, genauer gesagt der Linux-Kernel. Es ist daher nicht verwunderlich, dass KVM nur Linux als Host-Betriebssystem unterstützt. (KVM wurde anschließend auf FreeBSD portiert.)  Wenn Sie einen Open-Source-Typ-2-Hypervisor für mehrere Plattformen suchen, 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:

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 Kernel-Komponente besteht aus 2 ladbaren Kernel-Modulen: kvm.ko und entweder kvm-intel.ko oder kvm-amd.ko. Die kvm.ko-Modul bietet von der Kernarchitektur unabhängige Virtualisierungsverarbeitung. Die kvm-intel.ko und kvm-amd.ko-Module entsprechen Intel- und AMD-Prozessor-spezifischen Modulen. Diese Module wurden ab Kernel-Version 2 in den Linux-Kernel eingebunden merge.6.20.

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 VM-Hardware emulieren, auf der das Gastbetriebssystem ausgeführt wird. Dieser Job gehört in den User-Space. KVM verwendet QEMU, das 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 ist KVM in vielen Linux-Distributionen zum De-facto-Standard-Virtualisierungstool auf Maschinenebene geworden.

So verwenden Sie Xdotool zum Stimulieren von Mausklicks und Tastenanschlägen in Linux
Xdotool ist ein kostenloses Open-Source-Befehlszeilentool zum Simulieren von Mausklicks und Tastenanschlägen. Dieser Artikel enthält eine kurze Anleit...
Top 5 ergonomische Computermaus-Produkte für Linux
Verursacht längere Computernutzung Schmerzen im Handgelenk oder in den Fingern?? Leiden Sie unter steifen Gelenken und müssen ständig die Hände schütt...
So ändern Sie die Maus- und Touchpad-Einstellungen mit Xinput in Linux
Die meisten Linux-Distributionen werden standardmäßig mit der Bibliothek „libinput“ ausgeliefert, um Eingabeereignisse auf einem System zu verarbeiten...