QEMU,KVM,libvirt: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
 
(5 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
=QEMU=
+
= QEMU =
*Emulationsprogramm QEMU
+
* Emulator und Virtualisierer
*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
 
*Hardware Virtualisierung INTEL-VT und AMD-V
 
*Paravirtualisierung mit virtio-Treibern
 
*Hostsystem nur Linux
 
*Guestsysteme Linux, Windows, BSD usw.
 
=KVM und QEMU=
 
*KVM ist ein relativ kleines Kernelmodul
 
*IN Kombination mit QEMU wird KVM zu einem Hardware-Virtualisierungssystem.
 
=KVM Detail=
 
*Grundlegende Funktionen wie die Speicher-, Prozessverwaltung etc sind direkt im Virtualisierungssystem implementiert
 
*KVM auf die im Linux Kernel vorhandenen Funktionen zurück.
 
*Besonders schlanken Virtualisierungssystem durch aufsetzen an den optimierten Linux Kernel
 
*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=
 
*soll QEMU ersetzen
 
*schlankerer Ansatz
 
*https://github.com/kvmtool/kvmtool
 
*Project ist scheinbar nicht mehr aktiv
 
  
=libvirt=
+
= KVM =
*Programmierschnittstelle (API) zur Ansprache der virtuellen Maschinen.
+
* Kernel-Module zur Hardwarevirtualisierung (seit 2007 im Linux-Kernel enthalten)
*Man kann diese steuern und verwalteten werden.
+
* Typ-1 Hypervisor (umstritten, Red Hat klassifiziert als Typ-1)
*Kommandozeilen und grafische Werkzeuge
+
* Nutzt Intel VT-x / AMD-V für native Ausführung von Gastbetriebssystemen
*Mit libvirt kann man auch andere VM System steuern (XEN, VMware ...)
+
* 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 =
 +
* "kvmtool" sollte QEMU ersetzen (leichtgewichtiges CLI-Tool)
 +
* Entwicklung scheint nicht mehr aktiv
 +
* https://github.com/kvmtool/kvmtool
 +
 
 +
= 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=
 +
*https://hedgedoc.xinux.net/p/an_TShg2i#/8
 +
[[Kategorie:Virtualisierung]]

Aktuelle Version vom 5. Mai 2025, 05:33 Uhr

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