QEMU,KVM,libvirt

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen

QEMU

  • Emulator und Virtualisierer
  • Emuliert verschiedene CPU-Architekturen und elementare Hardware-Komponenten
  • Unterstützt vollständige Emulation fremder Architekturen (z. B. ARM, MIPS)
  • Ohne Hardwarevirtualisierung (KVM) sehr langsam

KVM

  • Kernel-Module zur Hardwarevirtualisierung (seit 2007 im Linux-Kernel enthalten)
  • Typ-1 Hypervisor (umstritten, Red Hat klassifiziert als Typ-1)
  • Nutzt Intel VT-x / AMD-V für native Ausführung von Gastbetriebssystemen
  • Unterstützt Paravirtualisierung über VirtIO
  • Läuft nur unter Linux als Host
  • Unterstützt Linux, Windows, BSD uvm. als Gäste

KVM + QEMU

  • KVM stellt die Virtualisierungsfunktionen bereit (CPU, RAM)
  • QEMU übernimmt die Geräteemulation (Netzwerk, Grafik, Peripherie)
  • Zusammenspiel ergibt ein vollständiges Virtualisierungssystem
  • Kombination bietet vollständige und paravirtualisierte Virtualisierung

KVM Architekturdetails

  • KVM nutzt vorhandene Linux-Kernel-Funktionen (Speicherverwaltung, Scheduler)
  • Sehr schlankes Virtualisierungssystem durch Integration in den Kernel
  • Gäste benötigen keine angepassten Kernel
  • Optional: VirtIO-Treiber verbessern die Performance
  • Zugriff auf KVM über die Device-Datei /dev/kvm
  • Nutzer in der Gruppe "kvm" dürfen virtuelle Maschinen starten

Native Linux KVM Tools

libvirt

  • Verwaltungsschicht und API für Virtualisierungssysteme
  • Unterstützt verschiedene Backends (KVM, QEMU, Xen, VMware...)
  • Ermöglicht Steuerung über CLI und GUI (z. B. virt-manager)
  • Standardlösung für viele KVM-basierte Virtualisierungsumgebungen

VirtIO

  • Paravirtualisierte Treiber für Gäste
  • Ermöglicht schnellen Zugriff auf Netzwerk, Speicher und weitere Ressourcen
  • Gäste ohne VirtIO-Unterstützung müssen die Treiber nachinstallieren

Präsentation