Virtual Machines¶
Proxmox VE setzt für die Virtualisierung auf das bewährte Technologiegespann aus KVM und qemu
KVM (Kernel-based Virtual Machine) und
QEMU (Quick EMUlator)
KVM ist ein Modul, das direkt in den Linux-Kernel integriert ist und diesen zu einem leistungsfähigen Hypervisor macht. Das bedeutet, dass der Linux-Kernel selbst die notwendigen Funktionen für die Virtualisierung bereitstellt und so die gleichzeitige Ausführung mehrerer virtueller Maschinen auf einem physischen Server ermöglicht.
Proxmox Schema (BLACK) für KVM/qemu (Basisgrafik aus PVE Admin Guide)¶
KVM nutzt die Virtualisierungserweiterungen moderner Prozessoren, wie beispielsweise Intel VT-x oder AMD-V, um die Ausführungsgeschwindigkeit der virtuellen Maschinen nahe an der physischen Ausführung zu haben. Das Host-Betriebssystem, in der Regel eine Linux-Distribution, übernimmt dabei die Verwaltung der Ressourcen wie Arbeitsspeicher, Prozessoren und Ein-/Ausgabegeräte, während KVM als Schnittstelle zur Virtualisierung dient.
QEMU wiederum ist ein vielseitiger Emulator, der die für die virtuellen Maschinen notwendige Hardware nachbildet. Er stellt virtuelle Komponenten wie Netzwerkschnittstellen, Festplattencontroller oder Grafikkarten bereit, mit denen das Gastbetriebssystem interagieren kann.
In Kombination mit KVM übernimmt QEMU die Emulation und Verwaltung der Peripheriegeräte, während die CPU- und Speicherzugriffe dank KVM direkt auf die physische Hardware durchgereicht werden. Diese Zusammenarbeit sorgt für eine sehr hohe Performance der virtuellen Maschinen. QEMU kann theoretisch auch ohne KVM betrieben werden, was jedoch deutlich langsamer wäre, da in diesem Fall sämtliche Operationen softwarebasiert emuliert werden müssten.
In Proxmox VE arbeiten KVM und QEMU eng zusammen. KVM bildet die Grundlage für die Virtualisierung, während QEMU als Benutzerebene-Programm die Erstellung, Verwaltung und den Betrieb der virtuellen Maschinen übernimmt.
Die Konfiguration und Verwaltung erfolgt komfortabel über die Proxmox-Oberfläche, die dem Administrator die Zuweisung von Ressourcen wie CPU, RAM, Festplatten und Netzwerktechnik ermöglicht.
Nach dem Anlegen einer virtuellen Maschine startet Proxmox diese mit Hilfe von QEMU, wobei KVM die Virtualisierung der CPU und des Arbeitsspeichers übernimmt. Das Gastbetriebssystem läuft dabei in einer isolierten Umgebung und greift auf die von QEMU bereitgestellte, virtuelle Hardware zu.
Zusammenfassung:
Proxmox VE nutzt KVM als Basis-Hypervisor und QEMU als User-Space-Komponente, um die virtuellen Maschinen zu erstellen und zu betreiben.
Die Verwaltung erfolgt über Proxmox-eigene Tools und Oberflächen, die auf libvirt und anderen Verwaltungswerkzeugen aufsetzen.
Mit KVM/QEMU lassen sich VMs mit verschiedenen Betriebssystemen (Linux, Windows, BSD etc.) auf einer gemeinsamen Hardware effizient betreiben.
Funktionen wie Live-Migration, Snapshots, Hochverfügbarkeit und PCIe-Passthrough / IOMMU (direkte Durchreichung von Hardware wie Grafikkarten) werden unterstützt.
Anmerkung: meist wird QEMU kleingeschrieben. Ich habe mich hier an die Schreibweise aus der Proxmox Dokumentation (siehe Bild) gehalten. Außerdem haben die offiziellen Portale zur Technik die Großschreibung einheitlich. In meinen Ausarbeitungen wird man auch immer wieder die Kleinschreibung finden.
Infolinks: