QEMU,KVM,libvirt
Zur Navigation springen
Zur Suche springen
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
- soll QEMU ersetzen
- schlankerer Ansatz
- https://github.com/kvmtool/kvmtool
- Project ist scheinbar nicht mehr aktiv
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