QEMU,KVM,libvirt: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
 
(3 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
=QEMU=
= QEMU =
*Emulationsprogramm QEMU
* Emulator
*emuliert verschiedene CPUs und elementare Hardware Komponenten Rechners
* Emuliert verschiedene CPU-Architekturen und elementare Hardware-Komponenten
*kann auch fremde CPUs emulieren
* Unterstützt vollständige Emulation fremder Architekturen (z. B. ARM, MIPS)
*Ist dann aber sehr langsam
* Ohne Hardwarevirtualisierung (KVM) sehr langsam
=KVM=
*genau genommen nur die Kernelmodule
*Erst in Kombination mit anderen Komponenten wird daraus eine Virtualisierungslösung
*Typ 2 Hypervisor (umstritten Red Hat sagt es ist ein Typ 1)
*Hardware Virtualisierung INTEL-VT und AMD-V
*Paravirtualisierung mit virtio-Treibern
*Hostsystem nur Linux
*Guestsysteme Linux, Windows, BSD usw.


=KVM und QEMU=
= KVM =
*KVM ist ein relativ kleines Kernelmodul
* Kernel-Module zur Hardwarevirtualisierung (seit 2007 im Linux-Kernel enthalten)
*IN Kombination mit QEMU wird KVM zu einem Hardware-Virtualisierungssystem.
* Typ-1 Hypervisor (umstritten, Red Hat klassifiziert als Typ-1)
=KVM Detail=
* Nutzt Intel VT-x / AMD-V für native Ausführung von Gastbetriebssystemen
*Grundlegende Funktionen wie die Speicher-, Prozessverwaltung etc sind direkt im Virtualisierungssystem implementiert
* Unterstützt Paravirtualisierung über VirtIO
*KVM greift auf die im Linux Kernel vorhandenen Funktionen zurück.
* Läuft nur unter Linux als Host
*Besonders schlanken Virtualisierungssystem durch aufsetzen an den optimierten Linux Kernel
* Unterstützt Linux, Windows, BSD uvm. als Gäste
*führt standardmäßig eine vollständige Virtualisierung durch
*Gäste brauchen keine angepassten Treiber
*Unterstützt aber auch paravirtualisierte Treiber (virtio)
*KVM-Funktionen werden über die Device-Datei /dev/kvm genutzt
*Es reicht aus Mitglied der Gruppe kvm zu sein.


=Native Linux KVM Tool=
= KVM + QEMU =
*soll QEMU ersetzen
* KVM stellt die Virtualisierungsfunktionen bereit (CPU, RAM)
*schlankerer Ansatz
* QEMU übernimmt die Geräteemulation (Netzwerk, Grafik, Peripherie)
*https://github.com/kvmtool/kvmtool
* Zusammenspiel ergibt ein vollständiges Virtualisierungssystem
*Project ist scheinbar nicht mehr aktiv
* Kombination bietet vollständige und paravirtualisierte Virtualisierung


=libvirt=
= KVM Architekturdetails =
*Programmierschnittstelle (API) zur Ansprache der virtuellen Maschinen.
* KVM nutzt vorhandene Linux-Kernel-Funktionen (Speicherverwaltung, Scheduler)
*Man kann diese steuern und verwalteten werden.
* Sehr schlankes Virtualisierungssystem durch Integration in den Kernel
*Kommandozeilen und grafische Werkzeuge
* Gäste benötigen keine angepassten Kernel
*Mit libvirt kann man auch andere VM System steuern (XEN, VMware ...)
* Optional: VirtIO-Treiber verbessern die Performance
=VirtIO-Treiber=
* Zugriff auf KVM über die Device-Datei /dev/kvm
*Spezielle Treiber für Gastsysteme
* Nutzer in der Gruppe "kvm" dürfen virtuelle Maschinen starten
*Abgestimmt auf den Hypervisor
 
*Eine Art Paravirtualisierung
= libvirt =
*Ermöglicht schnelleren Zugriff auf Resouren
* Verwaltungsschicht und API für Virtualisierungssysteme
*Treiber, wenn nicht vorhanden, eventuell auf dem Gastsystem einspielen
* 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=
*https://hedgedoc.xinux.net/p/an_TShg2i#/8
[[Kategorie:Virtualisierung]]

Aktuelle Version vom 12. Oktober 2026, 09:12 Uhr

QEMU

  • Emulator
  • 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

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