QEMU,KVM,libvirt: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
Zeile 7: Zeile 7:
 
*genau genommen nur die Kernelmodule
 
*genau genommen nur die Kernelmodule
 
*Erst in Kombination mit anderen Komponenten wird daraus eine Virtualisierungslösung
 
*Erst in Kombination mit anderen Komponenten wird daraus eine Virtualisierungslösung
*Typ 2 Hypervisor (umstritten Red Hat sagt es ist ein Typ 1)
+
*Typ 1 Hypervisor (umstritten Red Hat sagt es ist ein Typ 1)
 
*Hardware Virtualisierung INTEL-VT und AMD-V
 
*Hardware Virtualisierung INTEL-VT und AMD-V
 
*Paravirtualisierung mit virtio-Treibern
 
*Paravirtualisierung mit virtio-Treibern

Version vom 4. Dezember 2023, 09:15 Uhr

QEMU

  • Emulationsprogramm QEMU
  • emuliert verschiedene CPUs und elementare Hardware Komponenten Rechners
  • kann auch fremde CPUs emulieren
  • Ist dann aber sehr langsam

KVM

  • genau genommen nur die Kernelmodule
  • Erst in Kombination mit anderen Komponenten wird daraus eine Virtualisierungslösung
  • Typ 1 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 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 greift 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

libvirt

  • Programmierschnittstelle (API) zur Ansprache der virtuellen Maschinen.
  • Man kann diese steuern und verwalteten werden.
  • Kommandozeilen und grafische Werkzeuge
  • Mit libvirt kann man auch andere VM System steuern (XEN, VMware ...)

VirtIO-Treiber

  • Spezielle Treiber für Gastsysteme
  • Abgestimmt auf den Hypervisor
  • Eine Art Paravirtualisierung
  • Ermöglicht schnelleren Zugriff auf Resouren
  • Treiber, wenn nicht vorhanden, eventuell auf dem Gastsystem einspielen