Dies ist eine alte Version des Dokuments!


qemu

Achtung: Dies hier ist eine komplette Baustelle!

Software

Hostsystem

Zur Verwaltung und Anpassung von QEMU-VMs ist ein Linux-System sehr empfehlenswert. QEMU-Betrieb unter Windows scheint inzwischen zwar einigermaßen möglich zu sein1), wird von uns jedoch nicht getestet und daher nicht unterstützt.

Einige Distributionen liefern noch relativ alte Versionen von QEMU über ihre Paketquellen aus. Verwenden Sie mindestens Version 5.2.x; eine aktuellere Version (6.x) schadet natürlich nicht.

Installieren Sie von qemu und virt-manager ausgehend die für Ihre Distribution benötigten Pakete, etwa mittels:

apt install qemu qemu-kvm virt-manager libvirt-daemon     # Ubuntu, Debian
zypper in qemu qemu-kvm virt-manager libvirt              # OpenSuse
dnf install qemu qemu-kvm virt-manager libvirt            # Red Hat
etc.

Prüfen Sie ggf. nach Abschluß der Installation, ob der libvirtd-Daemon läuft ('systemctl status libvirt-daemon'). Falls nicht automatisch geschehen, sorgt ein 'systemctl enable libvirt-daemon' sorgt für den Start beim Booten; ein 'systemctl start libvirt-daemon' startet ihn manuell.

Der lokal zum Umgang mit qemu/libvirt verwendende User sollte Mitglied der Gruppe libvirt sein. Fügen Sie ihn ggf. dieser Gruppe hinzu.

Operationen als normaler User ohne weitere connect-Angaben (-c, –connect) und ohne gesetzte LIBVIRT_DEFAULT_URI-Umgebungsvariable werden im Kontext qemu:///session interpretiert. Der session-Kontext trägt geringere Berechtigungen, z.B. beim Umgang mit Netzwerken. Bei Mitgliedschaft des Users in der Gruppe libvirt sollte daher besser -c qemu:///system benutzt werden.

Gastsysteme

Unter den jeweiligen Gastsystemen sollten u.a. zur Performanzverbesserung folgende Gastprogramme installiert werden:

Linux

  • virtio Linux-Kernel-Treiber,
  • xserver-xorg-video-qxl bzw. xf86-video-qxl (bei Verwendung der paravirtualisierten 2D QXL-Grafik),
  • qemu-ga (qemu-guest-agent),
  • spice-vdagent.

Windows

Virtuelle Maschinen (VMs)

qemu-Symbol in Liste

Die bwLehrpool-Suite unterstützt den Umgang mit qemu-basierten VMs analog zu anderen Hypervisoren. Wie üblich sollte bei Erstellung eigener Versionen von einer von Ihrer Institution zur Verfügung gestellten Vorlage ausgegangen werden, wenn möglich.

Download und Import

Nach dem Download der VM erfolgt ein Import der Konfiguration in libvirt mit einem der beiden folgenden Konsolenaufrufen.

virsh -c qemu:///system create [xml-Datei.xml]
virsh -c qemu:///system define [xml-Datei.xml]
  • „create“: Startet VM ausgehend von XML-Datei, trägt diese jedoch nicht dauerhaft ein.
  • „define“: Führt statische Überprüfungen (Validierung des XML) aus und trägt diese ein.

Bearbeitung der VM

Die Konfiguration der importierten VM kann nun editiert werden, wenn nötig. Diese Bearbeitung kann grafisch mittels des „Virtual Machine Manager“ (virt-manager), Cockpit oder dergleichen erfolgen.

Start der VM

Das Gastsystem kann nun gestartet und natürlich bearbeitet werden.

Bei Problemen beim Boot à la Bluescreens usw. sollte geprüft werden, welche Busart zum Ansprechen des Massenspeichers im auf dem Image befindlichen Gastbetriebssystem verwendet wurde (scsi, sata, ata). Bei Linuxgastsystemen („a start job is running… for dev/disk…“ 1:30) ggf. Hibernation kontrollieren (systemd-hibernate-resume), wenn vorhanden „resume“ aus KCL entfernen.

Export der Konfiguration

Die Konfiguration der erstellten virtuellen Maschine muß vor einem Upload via bwLehrpool-Suite exportiert werden, da virtlibd die Konfiguration intern führt und daher die ursprünglich per bwLehrpool-Suite geschriebe, zum Import verwendete xml-Datei nicht aktualisiert wird. Das kann derzeit nur mit einem Kommandozeilenbefehl geschehen:

virsh -c qemu:///system dumpxml [VM-Name] > [xml-Datei]

Folgender Befehl listet die vorhandenen VMs auf, falls Sie sich des VM-Namens nicht sicher sind:

virsh -c qemu:///system list --all

Das Festplattenabbild der VM muss dabei nicht explizit kopiert werden, da die exportierte Konfiguration (XML-Datei) automatisch auf das vorhandene Festplattenabbild verweist.

Allgemein: Wenn die Konfiguration der VM geändert wurde, muss die xml-Datei per dumpxml neu geschrieben werden, bevor ein Upload per bwLehrpool-Suite erfolgt!

Optimierung (optional)

Vor dem Upload der VM kann optional eine Optimierung des qcow2-Festplattenabbildes der VM vorgenommen werden. Dies umfasst das Komprimieren des Festplattenabbilds. Zur besseren Komprimierung sollten zuvor im laufenden Gastsystem alle freien Speicherblöcke mit Nullen beschrieben werden (Anleitung). Als Komprimierungsalgorithmus kann zstd (Zstandard) oder zlib verwendet werden; empfohlen wird der zstd-Algorithmus.

Die Kompression des Festplattenabbilds erfolgt mit folgenden Konsolenaufrufen:

qemu-img convert -f qcow2 -O qcow2 -c -o compression_type=zstd [Datei.qcow2] [temp_Datei.qcow2]
mv [temp_Datei.qcow2] [Datei.qcow2]

Upload der VM

Die exportierte xml-Datei kann wie üblich zum Upload der VM mit der bwLehrpool-Suite verwendet werden.

„“

Drucken/exportieren