
KVM
KVM ist eine Technik im Linux-Betriebssystem, mit der ein einziger Computer sich wie viele eigenständige Computer verhält. Fast alle großen Cloud-Anbieter nutzen KVM, um die Rechenleistung ihrer Server an tausende Kunden gleichzeitig zu vermieten.
KVM ist eine Erweiterung von Linux, einem weit verbreiteten Betriebssystem für Server. Sie erlaubt es, auf einem einzigen physischen Computer mehrere vollständige, voneinander getrennte Computer laufen zu lassen. Jeder dieser künstlichen Computer hat ein eigenes Betriebssystem, eigene Festplatten und eigenen Arbeitsspeicher. Man nennt so einen künstlichen Computer eine virtuelle Maschine. Der Trick dabei: Die Software darin merkt nicht, dass sie gar nicht auf echter Hardware läuft. Die Abkürzung steht für Kernel-based Virtual Machine, also für eine virtuelle Maschine, die direkt im Kern des Betriebssystems verankert ist.
Warum die Cloud ohne KVM anders aussähe
Ein moderner Server hat oft 64 oder mehr Rechenkerne und hunderte Gigabyte Arbeitsspeicher. Kaum ein einzelner Kunde braucht so viel. Ohne Virtualisierung stünde diese Maschine also die meiste Zeit fast untätig herum. Mit KVM lässt sich dieselbe Hardware in dutzende kleine Server aufteilen und einzeln vermieten. Genau das ist das Geschäftsmodell hinter Begriffen wie Amazon Web Services, Google Cloud oder Hetzner.
Entscheidend ist dabei die Trennung. Ein Kunde darf unter keinen Umständen in die Daten eines anderen Kunden schauen können, obwohl beide auf demselben Blech arbeiten. KVM sorgt für diese Abschottung auf einer sehr tiefen Ebene des Systems. Stürzt eine virtuelle Maschine ab, laufen die anderen ungestört weiter.
Wirtschaftlich interessant ist außerdem, dass KVM freie Software ist. Es steckt fest im Linux-Kern, also im zentralen Teil des Betriebssystems, und kostet keine Lizenzgebühren. Wer stattdessen kommerzielle Produkte wie VMware einsetzt, zahlt pro Server. Nach der Übernahme von VMware durch Broadcom stiegen diese Preise stark, und viele Unternehmen prüften einen Wechsel zu KVM. Das ist der Grund, warum der Begriff auch in Wirtschaftsnachrichten auftaucht.
Was im Prozessor tatsächlich passiert
Frühere Virtualisierungsprogramme mussten jeden Befehl eines Gastsystems übersetzen. Das war langsam, weil eine Software dazwischen ständig mitrechnete. Moderne Prozessoren von Intel und AMD besitzen dafür eigene Schaltungen, genannt VT-x beziehungsweise AMD-V. Sie können einen abgeschotteten Modus anbieten, in dem ein Gastsystem seine Befehle direkt auf der echten Hardware ausführt.
KVM ist im Wesentlichen das Bindeglied zu dieser Hardwarefunktion. Es verwandelt den Linux-Kern selbst in einen sogenannten Hypervisor, also in die Verwaltungsschicht über den virtuellen Maschinen. Der große Vorteil: Linux bringt Speicherverwaltung, Zeitplanung und Treiber bereits mit. KVM muss all das nicht noch einmal neu bauen. Aus Sicht von Linux ist eine virtuelle Maschine schlicht ein gewöhnliches Programm, das zufällig ein ganzes Betriebssystem enthält.
Ganz allein arbeitet KVM allerdings nicht. Ein Begleitprogramm namens QEMU simuliert die Geräte drumherum, etwa Netzwerkkarte, Grafikausgabe und Festplatte. Ein häufiger Irrtum ist, KVM sei dasselbe wie ein Container, wie man ihn von Docker kennt. Container teilen sich einen gemeinsamen Betriebssystemkern und sind deshalb sparsamer, aber weniger streng getrennt. Eine virtuelle Maschine bringt ihren eigenen Kern mit und ist dadurch schwerer, aber sicherer abgeriegelt.
Von KI-Rechenzentren bis zum eigenen Laptop
Am häufigsten begegnet einem KVM unsichtbar. Wer einen günstigen Server im Internet mietet oder eine Website bei einem Hoster betreibt, arbeitet mit hoher Wahrscheinlichkeit auf einer KVM-Maschine. Auch Android-Entwickler nutzen die Technik: Der Emulator, der ein Handy auf dem Bildschirm nachbildet, wird von KVM beschleunigt.
Im KI-Umfeld spielt eine Erweiterung eine Rolle, die Grafikkarten durchreicht. Dabei bekommt eine virtuelle Maschine direkten Zugriff auf einen echten Grafikchip. So können Anbieter teure KI-Beschleuniger stundenweise vermieten, ohne dass sich Kunden dieselbe Karte gleichzeitig teilen müssen.
Auf dem eigenen Rechner lässt sich KVM ebenfalls ausprobieren. Unter Linux startet man damit über Programme wie virt-manager ein zweites System in einem Fenster, etwa Windows zum Testen. Wichtig zu wissen: KVM setzt Linux als Grundlage voraus. Auf Windows heißt die vergleichbare Technik Hyper-V, auf Apple-Rechnern gibt es ein eigenes Framework des Herstellers.