Einordnung der Virtualisierungssysteme

Aus Xinux Wiki
Version vom 11. Oktober 2026, 11:51 Uhr von Thomas.will (Diskussion | Beiträge)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Zur Navigation springen Zur Suche springen

Grundlagen

  • Ein Hypervisor bildet eine abstrahierende Schicht zwischen der tatsächlich vorhandenen Hardware und den Gast-Betriebssystemen.
  • Er erlaubt es, eine virtuelle Umgebung zu definieren.
  • Diese dient unabhängig von der tatsächlich vorhandenen Hardware als Basis für die Installation von (Gast-)Betriebssystemen.
  • Zwei Arten sind möglich:
    • Typ-1-Hypervisoren
    • Typ-2-Hypervisoren
    • Es gibt Mischformen.

Emulation vs. Virtualisierung

Emulation

  • Bei der Emulation baut das Hostsystem die Plattform des Gastes vollständig in Software nach.
  • Das umfasst die Hardware, die CPU-Befehle und die Firmware.
  • Jeder Befehl des Gastes wird gelesen und in mehrere Befehle für die echte CPU übersetzt.
  • Vorteil: Host- und Gastplattform sind unabhängig, z. B. ein ARM-Gast auf einem x86-Host.
  • Nachteil: Dieser Ansatz ist sehr langsam und ressourcenintensiv.
  • Beispiel: QEMU (Quick Emulator) ohne KVM emuliert alles, auch die CPU.

Virtualisierung (hardwareunterstützt)

  • Der Gast-Code läuft direkt auf der echten CPU und wird nicht übersetzt.
  • Die CPU muss dies unterstützen: Intel VT-x oder AMD-V.
  • Dadurch ist sie fast so schnell wie ein System ohne VM.
  • Nachteil: Gast und Host müssen dieselbe Plattform verwenden.
  • Beispiel: QEMU-KVM reicht die CPU an den Gast durch, QEMU emuliert nur noch die Geräte (Festplatte, Netzwerkkarte, Grafik).

Ablauf: VM-Entry und VM-Exit

  • VM-Entry: QEMU sagt zu KVM „Starte meine VM“ (ioctl(KVM_RUN) auf /dev/kvm). KVM richtet die CPU ein und übergibt ihr den Gast-Code.
  • Der Gast rechnet allein: Millionen Befehle laufen direkt auf der CPU. KVM ist in dieser Zeit gar nicht aktiv.
  • VM-Exit: Will der Gast etwas, das er nicht selbst darf (z. B. Festplatte, Ports, Interrupts), stoppt die CPU ihn und springt automatisch zu KVM zurück.
  • KVM erledigt Timer und Interrupts selbst und gibt Gerätezugriffe an QEMU weiter. Danach folgt wieder ein VM-Entry.
  • Merke: KVM steht nicht zwischen jedem Befehl, das wäre wieder Emulation. KVM steht nur am Anfang und bei den Sonderfällen.
Vergleich Fahrschule
  • Der Fahrschüler (Gast) fährt selbst.
  • Der Fahrlehrer (KVM) greift nicht bei jeder Lenkbewegung ein, hat aber eine eigene Bremse und übernimmt, sobald es kritisch wird.
  • Bei Emulation würde der Fahrlehrer jede Lenkbewegung selbst ausführen.
Prüfen, ob die CPU Virtualisierung unterstützt
grep -m1 -owE 'vmx|svm' /proc/cpuinfo
  • vmx = Intel VT-x, svm = AMD-V, keine Ausgabe = im BIOS/UEFI abgeschaltet oder nicht vorhanden.

Einordnung

Typ-1-Hypervisor

  • Nativer oder Bare-Metal-Hypervisor.
  • Wird direkt auf der Host-Hardware ausgeführt.
  • Verwaltet die Gast-Betriebssysteme.
  • Übernimmt selbst die Rolle des Host-Betriebssystems.
  • VM-Ressourcen werden direkt von der Hardware abgerufen.
  • Einsatz in Rechenzentren von Unternehmen und anderen serverbasierten Umgebungen.
Beispiele
  • VMware ESXi
  • Microsoft Hyper-V

Typ-2-Hypervisor

  • Wird auch gehosteter Hypervisor genannt.
  • Läuft als Anwendung auf einem normalen Host-Betriebssystem.
  • Trennt die Gast-Betriebssysteme vom Host-Betriebssystem.
  • VM-Ressourcen werden beim Host-Betriebssystem angefordert und von diesem über die Hardware abgerufen.
Beispiele
  • VMware Workstation
  • Oracle VirtualBox

KVM (Typ 1)

  • Die KVM-Module (kvm, kvm_intel bzw. kvm_amd) werden in den Linux-Kernel geladen.
  • Damit wird der Linux-Kernel selbst zum Hypervisor und sitzt direkt auf der Hardware.
  • Jede VM ist ein normaler QEMU-Prozess, den der Kernel wie jeden anderen Prozess einplant.
  • QEMU emuliert die Hardware der VM, die CPU reicht KVM durch.
Beispiele
  • KVM mit QEMU
  • Proxmox VE

Anmerkung

  • Red Hat verortet KVM als Typ-1-Hypervisor.
  • Weil Geräte über QEMU im Userspace laufen, wird KVM teilweise auch als Mischform gesehen.

Animation

Präsentation

Quellen