Hypervisor
Ein Hypervisor ist die Software, die Virtualisierung möglich macht. Er sitzt zwischen der Hardware und den virtuellen Maschinen, teilt Prozessorkerne, Arbeitsspeicher, Speicher und Netzwerk auf und sorgt dafür, dass keine Maschine auf die Ressourcen einer anderen zugreifen kann. Ein anderer Name ist Virtual Machine Monitor (VMM).
Der Rechner, auf dem der Hypervisor läuft, heißt Host oder Wirt, die virtuellen Maschinen darauf Gäste.
Typ 1 und Typ 2
Die Einteilung geht auf einen Aufsatz von Gerald Popek und Robert Goldberg aus dem Jahr 1974 zurück, der die Bedingungen für Virtualisierung formal beschrieb.
| Typ 1 (Bare Metal) | Typ 2 (Hosted) | |
|---|---|---|
| Läuft auf | direkt auf der Hardware | als Programm auf einem Betriebssystem |
| Einsatz | Server im Rechenzentrum, Cloud | Arbeitsplatzrechner, Test und Entwicklung |
| Leistung | hoch, wenig Zwischenschicht | geringer, das Wirtsbetriebssystem kostet mit |
| Ausfall des Wirts | kein Wirtsbetriebssystem, das abstürzen kann | stürzt das Betriebssystem ab, stürzen alle Gäste mit |
| Verwaltung | eigene Verwaltungsoberfläche, oft zentral für viele Hosts | im Programmfenster |
Die Grenze ist in der Praxis unscharf. Der in den Linux-Kern eingebaute Hypervisor KVM macht aus einem normalen Linux-System einen Typ-1-Hypervisor, obwohl auf demselben Rechner ein vollwertiges Betriebssystem läuft. Bei anderen Lösungen läuft das Verwaltungssystem selbst als privilegierter Gast.
Verbreitete Hypervisoren
| Hypervisor | Herkunft | Grundlage | Typischer Einsatz |
|---|---|---|---|
| VMware ESXi | VMware, seit 2023 Teil von Broadcom | eigener Kern | Unternehmensrechenzentren, lange Marktführer |
| Hyper-V | Microsoft | Rolle in Windows Server, auch in Windows-Arbeitsplatzversionen | Umgebungen mit Windows-Servern |
| KVM | Open Source, Teil des Linux-Kerns | Linux | Clouds, Hoster, Grundlage vieler anderer Produkte |
| Proxmox VE | Proxmox Server Solutions, Wien; Open Source | Debian Linux mit KVM, dazu Container | kleinere und mittlere Umgebungen, Hoster |
| Nutanix AHV | Nutanix | KVM | hyperkonvergente Systeme, bei denen Rechner und Speicher in einem Verbund laufen |
| Xen | Open Source | eigener Kern mit privilegiertem Verwaltungsgast | Clouds und Hoster, früher weiter verbreitet |
Seit der Übernahme von VMware durch Broadcom und den geänderten Lizenzmodellen wechseln viele Betreiber zu Proxmox VE, Nutanix oder anderen Lösungen auf Basis von KVM.
Was ein Hypervisor tut
Prozessor. Er verteilt die Rechenzeit der physischen Kerne auf die virtuellen Kerne der Gäste. Dank Virtualisierungserweiterungen im Prozessor laufen die meisten Befehle der Gäste direkt auf der Hardware; nur bestimmte Befehle fängt der Hypervisor ab.
Arbeitsspeicher. Jeder Gast sieht einen eigenen, zusammenhängenden Speicher. Der Hypervisor bildet ihn auf den physischen Speicher ab. Manche Hypervisoren teilen identische Speicherseiten zwischen Gästen oder vergeben mehr Speicher, als physisch vorhanden ist (Overcommitment).
Geräte. Gäste sehen virtuelle Netzwerkkarten, Festplatten und Grafikkarten. Für hohe Leistung lassen sich physische Geräte auch direkt an einen Gast durchreichen (Passthrough), etwa Grafikkarten für KI-Anwendungen.
Netz. Ein virtueller Switch im Hypervisor verbindet die Gäste untereinander und mit dem physischen Netz.
Live-Migration
Hypervisoren in einem Verbund können eine laufende virtuelle Maschine von einem Host auf einen anderen verschieben, ohne sie anzuhalten. Der Arbeitsspeicher wird im Hintergrund kopiert, am Ende wird die Maschine für Sekundenbruchteile angehalten und auf dem neuen Host fortgesetzt. So lassen sich Server warten, ohne die Dienste darauf zu unterbrechen.
Sicherheit
Der Hypervisor ist die Grenze zwischen den Gästen. Gelingt es einem Angreifer, aus einer virtuellen Maschine auszubrechen (VM Escape), hat er Zugriff auf alle anderen Maschinen auf dem Host. Solche Lücken sind selten, aber besonders schwerwiegend. Hypervisoren und ihre Verwaltungsoberflächen gehören deshalb zu den Systemen, die zuerst aktualisiert werden müssen und nur aus einem getrennten Managementnetz erreichbar sein sollten. Für Ransomware-Angreifer sind sie ein bevorzugtes Ziel: Wer den Hypervisor verschlüsselt, legt alle Server darauf auf einmal lahm.
Abgrenzung
KVM. Der Linux-Hypervisor heißt Kernel-based Virtual Machine. Im Rechenzentrum steht KVM auch für Keyboard, Video, Mouse: einen Umschalter, über den sich mehrere Server mit einer Tastatur und einem Bildschirm bedienen lassen. Beides hat nichts miteinander zu tun.
Emulator. Ein Emulator bildet einen anderen Prozessortyp in Software nach, etwa um Programme für eine fremde Architektur auszuführen. Das ist deutlich langsamer. Ein Hypervisor dagegen lässt Gäste auf dem gleichen Prozessortyp direkt laufen.