QEMU,KVM,libvirt: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
 
(6 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
+
= KVM =
*Erst in Kombination mit anderen Komponenten wird daraus eine Virtualisierungslösung
+
* Kernel-Module zur Hardwarevirtualisierung (seit 2007 im Linux-Kernel enthalten)
*Typ 2 Hypervisor
+
* Typ-1 Hypervisor (umstritten, Red Hat klassifiziert als Typ-1)
*Hardware Virtualisierung INTEL-VT und AMD-V
+
* Nutzt Intel VT-x / AMD-V für native Ausführung von Gastbetriebssystemen
*Paravirtualisierung mit virtio-Treibern
+
* Unterstützt Paravirtualisierung über VirtIO
*Hostsystem nur Linux
+
* Läuft nur unter Linux als Host
*Guestsysteme Linux, Windows, BSD usw.
+
* Unterstützt Linux, Windows, BSD uvm. als Gäste
=KVM und QEMU=
+
 
*KVM ist ein relativ kleines Kernelmodul
+
= KVM + QEMU =
*IN Kombination mit QEMU wird KVM zu einem Hardware-Virtualisierungssystem.
+
* KVM stellt die Virtualisierungsfunktionen bereit (CPU, RAM)
=KVM Detail=
+
* QEMU übernimmt die Geräteemulation (Netzwerk, Grafik, Peripherie)
*Grundlegende Funktionen wie die Speicher-, Prozessverwaltung etc sind direkt im Virtualisierungssystem implementiert
+
* Zusammenspiel ergibt ein vollständiges Virtualisierungssystem
*KVM auf die im Linux Kernel vorhandenen Funktionen zurück.
+
* Kombination bietet vollständige und paravirtualisierte Virtualisierung
*Besonders schlanken Virtualisierungssystem durch aufsetzen an den optimierten Linux Kernel
+
 
*führt standardmäßig eine vollständige Virtualisierung durch
+
= KVM Architekturdetails =
*Gäste brauchen keine angepassten Treiber
+
* KVM nutzt vorhandene Linux-Kernel-Funktionen (Speicherverwaltung, Scheduler)
*Unterstützt aber auch paravirtualisierte Treiber (virtio)
+
* Sehr schlankes Virtualisierungssystem durch Integration in den Kernel
*KVM-Funktionen werden über die Device-Datei /dev/kvm genutzt
+
* Gäste benötigen keine angepassten Kernel
*Es reicht aus Mitglied der Gruppe kvm zu sein.
+
* Optional: VirtIO-Treiber verbessern die Performance
=Native Linux KVM Tool=
+
* Zugriff auf KVM über die Device-Datei /dev/kvm
*soll QEMU ersetzen
+
* Nutzer in der Gruppe "kvm" dürfen virtuelle Maschinen starten
*schlankerer Ansatz
+
 
*https://github.com/kvmtool/kvmtool
+
= Native Linux KVM Tools =
*Project ist scheinbar nicht mehr aktiv
+
* "kvmtool" sollte QEMU ersetzen (leichtgewichtiges CLI-Tool)
Aus welchen Bestandteilen besteht die Kernel-based Virtual Machine?
+
* Entwicklung scheint nicht mehr aktiv
Das Gesamtpaket KVM besteht aus mehreren Komponenten:
+
* https://github.com/kvmtool/kvmtool
=libvirt=
+
 
*Programmierschnittstelle (API) zur Ansprache der virtuellen Maschinen.
+
= libvirt =
*Man kann diese steuern und verwalteten werden.
+
* Verwaltungsschicht und API für Virtualisierungssysteme
*Kommandozeilen und grafische Werkzeuge
+
* Unterstützt verschiedene Backends (KVM, QEMU, Xen, VMware...)
*Mit libvirt kann man auch andere VM System steuern (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