Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende Überarbeitung | ||
client:qemureorg [2024/04/02 17:14 CEST] – chr | client:qemureorg [2024/04/02 18:07 CEST] (aktuell) – gelöscht chr | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
- | ====== qemu ====== | ||
- | |||
- | <note important> | ||
- | |||
- | ===== 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 sein((Binaries https:// | ||
- | |||
- | 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 | ||
- | zypper in qemu qemu-kvm virt-manager libvirt | ||
- | dnf install qemu qemu-kvm virt-manager libvirt | ||
- | etc. | ||
- | </ | ||
- | |||
- | Prüfen Sie ggf. nach Abschluß der Installation, | ||
- | |||
- | <note tip>Der lokal zum Umgang mit qemu/ | ||
- | |||
- | Operationen als normaler User ohne weitere connect-Angaben (-c, --connect) und ohne gesetzte %%LIBVIRT_DEFAULT_URI%%-Umgebungsvariable werden im Kontext %%qemu:/// | ||
- | |||
- | ==== 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 === | ||
- | |||
- | * virtio Windows-Treiber per [[https:// | ||
- | * qemu-ga (qemu-guest-agent), | ||
- | * spice-vdagent. | ||
- | |||
- | ===== Virtuelle Maschinen (VMs) ===== | ||
- | |||
- | [{{ client: | ||
- | |||
- | ==== Download und Import ==== | ||
- | |||
- | Nach dem Download der VM erfolgt ein Import der Konfiguration in libvirt mit einem der beiden folgenden Konsolenaufrufen. | ||
- | |||
- | < | ||
- | < | ||
- | |||
- | * „create“: | ||
- | * **„define“: | ||
- | |||
- | ==== 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), | ||
- | |||
- | ==== 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/ | ||
- | |||
- | |||
- | ==== 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: | ||
- | |||
- | < | ||
- | |||
- | Folgender Befehl listet die vorhandenen VMs auf, falls Sie sich des VM-Namens nicht sicher sind: | ||
- | < | ||
- | |||
- | Das Festplattenabbild der VM muss dabei nicht explizit kopiert werden, da die exportierte Konfiguration (XML-Datei) automatisch auf das vorhandene Festplattenabbild verweist. | ||
- | |||
- | <note important> | ||
- | |||
- | ==== 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 ([[vm_anpassen# | ||
- | |||
- | 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 [[bwlehrpool-suite# | ||
- | |||
- | |||
- | ===== Erstellen einer neuen VM ===== | ||
- | |||
- | Von der allgemeinen Empfehlung abgesehen, besser Vorlagen-VMs herunterzuladen und anzupassen, können natürlich eigene VMs von Grund auf neu erstellt werden. Mitunter ist dies der einzige Weg, wenn Sie etwa ein exotischeres Betriebssystem, | ||
- | |||
- | Allgemein werden folgende Konfigurationsoptionen empfohlen: | ||
- | |||
- | * Emulierte Hardwaregeräte, | ||
- | * Dies gilt prinzipiell auch für die grafische Ausgabe („Video“); | ||
- | * „Anzeige Spice“ sollte auf „SPICE-Server“ gesetzt werden. | ||
- | * Das qcow2-Format sollte als Format für das Festplattenabbild bevorzugt werden, alternativ sind auch .vmdk und .vdi möglich. | ||
- | * Optional: Komprimierung des Festplattenabbilds vor dem Upload (siehe [[client: | ||
- | |||
- | ==== Grafisches Erstellen der VM ==== | ||
- | |||
- | Ein grafisches Erstellen einer neuen VM erfolgt mittels virt-manager (Virtual Machine Manager), Cockpit oder dergleichen. Zur Erstellung den jeweiligen Assistent en (Wizard) starten (virt-manager: | ||
- | |||
- | ==== Manuelles Erstellen der VM ==== | ||
- | |||
- | Ein manuelles Erstellen der VM kann alternativ über den folgenden Konsolenaufruf erfolgen. | ||
- | |||
- | < | ||
- | virt-install --connect qemu:/// | ||
- | | ||
- | | ||
- | | ||
- | | ||
- | | ||
- | | ||
- | | ||
- | [--cdrom [iso oder Device]] | ||
- | </ | ||
- | |||
- | Beispiel: | ||
- | < | ||
- | virt-install --connect qemu:/// | ||
- | | ||
- | | ||
- | | ||
- | | ||
- | | ||
- | | ||
- | | ||
- | | ||
- | </ | ||
- | |||
- | Der Befehl „osinfo-query os“ (aus der Bibliothek osinfo-query) zeigt verfügbare Werte für --os-variant an. Häufige Werte sind beispielsweise opensuse15.5, | ||
- | |||
- | ==== Export und Upload ==== | ||
- | |||
- | |||
- | |||
- | „“ | ||