Installation von KVM unter Debian 12 "Bookworm"
In diesem Tutorial werden Sie lernen, wie Sie KVM unter Debian 12 installieren können. KVM, oder Kernel-based Virtual Machine, ist eine Virtualisierungslösung für Linux-Systeme, die es ermöglicht, mehrere virtuelle Maschinen auf einem einzelnen physischen Host auszuführen. Sie nutzt die Virtualisierungserweiterungen von Intel (VT-x) oder AMD (AMD-V), um eine effiziente und performante Virtualisierungsumgebung bereitzustellen. Mit KVM können Benutzer verschiedene Betriebssysteme und Anwendungen isoliert voneinander in virtuellen Umgebungen ausführen, was Flexibilität, Skalierbarkeit und Ressourcenoptimierung bietet.
Systemvoraussetungen
Dieses Howto setzt voraus, dass Sie eine minimale Installation von Debian Bookworm ohne grafische Oberfläche durchgeführt haben.
Bevor Sie KVM auf einem Debian 12-System installieren, ist es wichtig sicherzustellen, dass Ihr Prozessor die erforderlichen Virtualisierungserweiterungen unterstützt. KVM kann nur auf Systemen mit Intel- oder AMD-Prozessoren verwendet werden. Um die Unterstützung zu überprüfen, können Sie das folgende Shell-Skript ausführen, das nach spezifischen CPU-Flags sucht, nämlich Intel vmx (Virtual Machine Extension) oder AMD svm (Secure Virtual Machine). Das Vorhandensein dieser Flags zeigt an, dass Ihr Prozessor die erforderlichen Hardware-Virtualisierungserweiterungen besitzt, die für die Nutzung von KVM erforderlich sind. Darüber hinaus überprüft das Skript, ob die erforderlichen Kernelmodule für KVM geladen sind. Hier ist das Skript:
Speichern Sie dieses Skript in einer Datei mit der Erweiterung .sh, z.B. cpu_kvm_check.sh. Führen Sie das Skript dann aus, um zu überprüfen, ob Ihre CPU KVM unterstützt.
Beachten Sie auch, dass neben den CPU-Flags die Installation von KVM auf Debian 12 das Laden von Kernelmodulen erfordert, darunter kvm.ko
, das die Kernvirtualisierungsinfrastruktur bereitstellt, sowie ein prozessorspezifisches Modul wie kvm-intel.ko
oder kvm-amd.ko
. Diese Module müssen verfügbar sein und geladen werden, um KVM verwenden zu können. Stellen Sie sicher, dass Ihre Linux-Kernelkonfiguration diese Module enthält und dass sie geladen werden können.
Außerdem müssen die entsprechenden Virtualisierungsfunktionen im BIOS/UEFI aktiviert sein. Wenn die Flags nicht vorhanden sind oder die Virtualisierung im BIOS/UEFI deaktiviert ist, kann KVM nicht verwendet werden.
Konfiguration einer Netzwerkbrücke (Bridge)
Eine Netzwerkbrücke ermöglicht es virtuellen Maschinen, direkt mit dem physischen Netzwerk zu kommunizieren, als wären sie eigenständige physische Maschinen. Dies ist besonders nützlich, wenn Sie möchten, dass Ihre virtuellen Maschinen von anderen Geräten im Netzwerk erreichbar sind oder wenn Sie bestimmte Netzwerkdienste auf den virtuellen Maschinen bereitstellen möchten.
Um eine Netzwerkbrücke auf Debian Linux einzurichten, befolgen Sie bitte die folgenden Schritte:
-
Ermitteln Sie Ihre physische Schnittstelle: Verwenden Sie den Befehl
ip -f inet a s
, um Ihre physische Schnittstelle zu finden, z.B. enp4s0, eth0. - Installation von bridge-utils: Stellen Sie sicher, dass das Paket
bridge-utils
installiert ist, da es für die Verwaltung von Netzwerkbrücken erforderlich ist. Installieren Sie es mit dem Befehl: -
Aktualisieren der Datei /etc/network/interfaces: Stellen Sie sicher, dass nur die Loopback-Schnittstelle (
lo
) in der Datei/etc/network/interfaces
aktiv ist. Entfernen Sie jegliche Konfigurationen, die mit Ihrer physischen Schnittstelle (z.B.enp4s0
) zusammenhängen.
Beispielinhalt der Datei/etc/network/interfaces
: -
Konfigurieren der Brücke (br0) in der Datei /etc/network/interfaces.d/br0:
Öffnen oder erstellen Sie eine Textdatei, z.B.nano /etc/network/interfaces.d/br0
, und fügen Sie die entsprechende Konfiguration hinzu.
Beispielinhalt der Datei/etc/network/interfaces.d/br0
für DHCP oder statische IP:-
DHCP-Konfiguration:
-
Statische IP-Konfiguration:
-
-
Neustarten des Netzwerkdienstes in Linux: Vor dem Neustart des Netzwerkdienstes sollten Sie sicherstellen, dass die Firewall deaktiviert ist, da die Firewall-Regel sich auf die alte Schnittstelle wie
enp4s0
beziehen könnte. Nach dem Neustart des Dienstes müssen Sie die Firewall-Regel für die Schnittstellebr0
aktualisieren.Verwenden Sie den folgenden Befehl, um den Netzwerkdienst neu zu starten:
Überprüfen Sie anschließend, ob der Dienst erfolgreich neu gestartet wurde:
Installation
Sobald Sie die Unterstützung für Virtualisierung bestätigt haben, können Sie KVM auf Debian 12 installieren, indem Sie den folgenden Befehl ausführen.
- qemu-system:
QEMU ist ein Open-Source-Virtualisierer, der es Ihnen ermöglicht, virtuelle Maschinen auf Ihrem Host-System auszuführen. Das Paket qemu-system enthält die Hauptkomponenten von QEMU, um virtuelle Maschinen zu erstellen und auszuführen. - libvirt-daemon-system:
libvirt ist eine API und ein Toolkit zur Verwaltung von virtuellen Maschinen und anderen Virtualisierungsressourcen. Das Paket libvirt-daemon-system enthält den libvirt-Daemon, der die Kernkomponente von libvirt ist und Dienste zur Verwaltung von virtuellen Maschinen bereitstellt. - virtinst:
Das Paket virtinst ist ein Befehlszeilentool zur Erstellung und Verwaltung von virtuellen Maschinen auf Systemen, die libvirt verwenden. Es erleichtert das Erstellen neuer virtueller Maschinen durch Bereitstellung einer einfachen Befehlsschnittstelle. - qemu-utils:
Dieses Paket enthält Hilfsprogramme und Werkzeuge, die mit QEMU verbunden sind. Es bietet verschiedene Dienstprogramme, die nützlich sind, um mit QEMU-basierten virtuellen Maschinen zu arbeiten, wie z.B. die Konvertierung von Disk-Images, das Erstellen von Snapshots usw.
Durch die Installation dieser Pakete erhalten Sie eine vollständige Virtualisierungsumgebung auf Ihrem Debian 12-System, die es Ihnen ermöglicht, virtuelle Maschinen zu erstellen, zu verwalten und auszuführen.
Weiter geht es mit den Grundlagen von Libvirt: