EN

Benötigte Pakete und Systemvoraussetzungen

In diesem Teil wird ein Überblick über die Pakete gegeben, die in Fedora zur Verwendung virtueller Maschinen benötigt werden. Außerdem werden die Software- und Hardware-Voraussetzungen besprochen, die für eine reibungslose Virtualisierung erfüllt sein müssen.

Die allermeisten gewöhnlichen Computer, die seit den 2010er Jahren produziert wurden, sollten diese Anforderungen bereits erfüllen. Wer bereits mit den Grundlagen vertraut ist oder sich ausschließlich für die praktischen Schritte interessiert, kann diesen Abschnitt überspringen und mit der Installation fortfahren.

Zwecke der benötigten Pakete

Wir installieren QEMU als Programm, das auf KVM zugreift, um Gast-Maschinen zu virtualisieren (virtualizer). Dafür muss die verbaute CPU bestimmte Voraussetzungen mitbringen. Andernfalls wird auf die weniger performante Emulation von Gast-Maschinen zurückgegriffen.

Zusätzlich benötigen wir weitere Software-Pakete, die im Hintergrund arbeiten und von den meisten Anwendern nicht direkt bemerkt werden. Dennoch muss darauf eingegangen werden, wie die entsprechenden Dienste gestartet werden, die zur Virtualisierung erforderlich sind. Es wird vor allem um libvirt gehen.

Bei der Verwaltung unserer erstellten Maschinen – in Bezug auf das verwendete Backend auch Libvirt-Clients genannt – stehen uns verschiedene Optionen offen. Generell unterscheidet man zwischen graphischen Frontends und den Frontends, die über eine Kommandozeilen­schnittstelle bedient werden. In Teil 3 wird ein typischer Workflow für beide Ansätze beschrieben. Es wird auch darauf eingegangen, wie sogenannte Snapshots von einem bestehenden Systemzustand erstellt werden können.

Weitere Tools erleichtern die Arbeit. Libvirt definiert einen Standard zur Beschreibung virtueller Maschinen. Für gewöhnlich werden sie in XML spezifiziert und in dieser Form bei Libvirt registriert. Mit virt-install lässt sich dieser Prozess vereinfachen. Dafür benötigen wir ein ISO-Image der gewünschten Distribution sowie ein Festplatten-Image (Virtual Disk Image), also eine Datei, die von der virtuellen Maschine wie eine physische Festplatte genutzt werden kann. Um ein solches Image manuell zu erstellen, kann qemu-img verwendet werden.

Wer auf das graphische Frontend zurückgreift, der braucht sich nicht direkt mit diesen Kommandozeilen-Tools oder ihrer korrekten Verwendung auseinandersetzen. Trotzdem wird im Hintergrund auf sie zugegriffen, wenn in der graphischen Oberfläche virtuelle Maschinen erstellt werden. Außerdem wird in jedem Fall eine Anwendung benötigt, die dem Nutzer die graphische Ausgabe der laufenden virtuellen Maschinen präsentiert. Dazu wird virt-viewer verwendet.

Ein Wort der Warnung

Fedora empfiehlt zur Verwaltung von virtuellen Maschinen heute ein anderes Tool als in der Vergangenheit. Viele Artikel, Anleitungen und Wikis, die zur Virtualisierung unter Fedora zu finden sind, sind daher teilweise veraltet – gerade auch für die ersten Treffer einschlägiger Suchanfragen.

Dabei könnten die die Einrichtung so einfach sein. Fedora bietet über DNF die Virtualization-Gruppe an, mit der sich alle empfohlenen Pakete für die Virtualisierung in einem Schritt installieren lassen. Der Haken: Dieses Gruppe enthält Pakete, deren Verwendung inzwischen nicht mehr empfohlen wird. Insbesondere betrifft das den Virt-Manager, über den Fedora Magazine schon 2019 schrieb:

With virt-manager being deprecated users are encouraged to use Cockpit instead, which is meant to replace it.

Virt-Manager ist an sich kein schlechtes Tool – es ist benutzerfreundlich und erfüllt die Erwartungen vieler Anwender. Doch seine Unterstützung wird nur noch mittelfristig fortgesetzt, und besonders die fehlende native Wayland-Unterstützung dürfte für Fedora-Nutzer ein klares Ausschlusskriterium sein. Vor allem aber gibt es mit Cockpit eine deutlich bessere Alternative.

Cockpit ist primär ein Verwaltungswerkzeug, mit dem Systeminformationen im Browser abgerufen werden können. Mit der cockpit-machines-Erweiterung können darin auch virtuelle Maschinen angelegt und verwaltet werden. Wenn virt-install installiert ist, können neue virtuelle Maschinen direkt über die Oberfläche angelegt werden – oft sogar ohne lokales ISO-Image, da für viele Distributionen ein praktischer Downloader bereitsteht.

Erfüllt das System die nötigen Voraussetzungen?

Die meisten neueren Computer dürften die nötigen Voraussetzungen für hardwareunterstützte Virtualisierung erfüllen. Dennoch schadet es natürlich nicht, auf Nummer Sicher zu gehen. Daher prüfen wir zunächst, ob die eingebaute CPU Virtualisierung unterstützt und ob das KVM-Kernelmodul geladen wurde:

lsmod | grep kvm
grep -E '^flags.*(vmx|svm)' /proc/cpuinfo

Falls der erste Befehl kvm_amd oder kvm_intel zurückgibt und der zweite eine Ausgabe liefert, dann verfügt die CPU über die notwendige Erweiterung (AMD-V bzw. Intel-VT-x) und KVM ist auch verfügbar. Bleibt die Ausgabe bei einem der Befehle leer, wird QEMU auf die langsamere Software-Virtualisierung (Emulation) zurückgreifen.

Damit KVM zur Virtualisierung genutzt werden kann, muss noch eine weitere Voraussetzung erfüllt sein: QEMU überlässt bei KVM-basierten virtuellen Maschinen die Verarbeitung von CPU-Befehlen der echten Hardware. Es versteht sich, dass die zugrunde liegende Prozessorarchitektur der des Gast-Systems entsprechen muss. Konkret heißt das: Nur ein x64-Prozessor kann die Virtualisierung einer x64-Maschine unterstützen.

Artikel vom 24. August 2024.