Verschachtelte Virtualisierung in KVM aktivieren

Fedora-Dokumentationsteam Version F36 onwards Last review: 2023-02-21
Die verschachtelte Virtualisierung ermöglicht es Ihnen, eine virtuelle Maschine (VM) innerhalb einer anderen VM auszuführen und dabei weiterhin die Hardwarebeschleunigung des Hosts zu nutzen.

Prüfen, ob verschachtelte Virtualisierung unterstützt wird

Prüfen Sie bei Intel-Prozessoren die Datei /sys/module/kvm_intel/parameters/nested. Bei AMD-Prozessoren prüfen Sie die Datei /sys/module/kvm_amd/parameters/nested. Steht dort 1 oder Y, wird verschachtelte Virtualisierung unterstützt; steht dort 0 oder N, wird sie nicht unterstützt.

Zum Beispiel:

cat /sys/module/kvm_intel/parameters/nested
Y

Verschachtelte Virtualisierung aktivieren

So aktivieren Sie die verschachtelte Virtualisierung für Intel-Prozessoren:

  1. Alle laufenden VMs herunterfahren und das Modul kvm_probe entladen:

    ---- sudo modprobe -r kvm_intel

. Aktivierung der Verschachtelungsfunktion:
+

sudo modprobe kvm_intel nested=1

+
Die verschachtelte Virtualisierung ist bis zum Neustart des Hosts aktiviert. Um sie dauerhaft zu aktivieren, fügen Sie die folgende Zeile zur Datei `/etc/modprobe.d/kvm.conf` hinzu:
+

options kvm_intel nested=1

Um die verschachtelte Virtualisierung für AMD-Prozessoren zu aktivieren:

Fahren Sie alle laufenden VMs herunter und entladen Sie das Modul `kvm_amd`:
+

sudo modprobe -r kvm_amd

. Aktivieren Sie die Verschachtelungsfunktion:
+

sudo modprobe kvm_amd nested=1

. Nested virtualization is enabled until the host is rebooted. To enable it permanently, add the following line to the `/etc/modprobe.d/kvm.conf` file:
+

options kvm_amd nested=1

// ===========================================
// include::{partialsdir}/proc_configuring-nested-virtualization-in-virt-manager.adoc[leveloffset=+1]
// ===========================================
// [[proc_configuring-nested-virtualization-in-virt-manager]]
== Verschachtelte Konfiguration in virt-manager konfigurieren

Konfigurieren Sie Ihre VM für die Verwendung von verschachtelter Virtualisierung:

. Open virt-manager, double-click the VM in which you wish to enable nested virtualization, and click the *Show virtual hardware details* icon.

. Click *CPUs* in the side menu. In the *Configuration* section, there are two options - either type `host-passthrough` in the *Model:* field, or select the *Copy host CPU configuration* check box (that fills the `host-model` value in the *Model* field). + NOTE: Using host-passthrough is not recommended for general usage. It should only be used for nested virtualization purposes. + . Click *Apply*.


// =========================================== // include::{partialsdir}/proc_testing-nested-virtualization.adoc[leveloffset=+1] // =========================================== // [[proc_testing-nested-virtualization]]
== Testen der verschachtelten Virtualisierung

. Starten Sie die virtuelle Maschine. Führen Sie auf der virtuellen Maschine Folgendes aus: +

sudo dnf group install virtualization

+
. Überprüfen Sie, ob die Virtualisierung der virtuellen Maschine korrekt eingerichtet ist:
+

sudo virt-host-validate QEMU: Checking for hardware virtualization : PASS QEMU: Checking if device /dev/kvm exists : PASS QEMU: Checking if device /dev/kvm is accessible : PASS QEMU: Checking if device /dev/vhost-net exists : PASS QEMU: Checking if device /dev/net/tun exists : PASS …​

== Weitere Ressourcen

* https://bugzilla.redhat.com/show_bug.cgi?id=1055002
* https://kashyapc.wordpress.com/2012/01/14/nested-virtualization-with-kvm-intel/
* https://kashyapc.wordpress.com/2012/01/18/nested-virtualization-with-kvm-and-amd/