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
  2. Aktivieren Sie die Verschachtelungsfunktion:

    $ sudo modprobe kvm_intel nested=1
  3. 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:

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

    $ sudo modprobe -r kvm_amd
  2. Aktivieren Sie die Verschachtelungsfunktion:

    $ sudo modprobe kvm_amd nested=1
  3. 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_amd nested=1

Verschachtelte Konfiguration in virt-manager konfigurieren

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

  1. Öffnen Sie den virt-manager, doppelklicken Sie auf die VM, für die Sie verschachtelte Virtualisierung aktivieren möchten, und klicken Sie auf das Symbol Details zur virtuellen Hardware anzeigen.

  2. Klicken Sie im Seitenmenü auf CPUs. Im Bereich Konfiguration gibt es zwei Möglichkeiten: Geben Sie entweder host-passthrough in das Feld Modell: ein oder aktivieren Sie das Ankreuzfeld Host-CPU-Konfiguration kopieren (wodurch der Wert host-model in das Feld Modell eingetragen wird).

    Die Verwendung von „host-passthrough“ wird für den allgemeinen Einsatz nicht empfohlen. Sie sollte nur für Zwecke der verschachtelten Virtualisierung genutzt werden.
  3. Klicken Sie auf Anwenden.

Testen der verschachtelten Virtualisierung

  1. Starten Sie die virtuelle Maschine.

  2. Führen Sie auf der virtuellen Maschine Folgendes aus:

    $ sudo dnf group install virtualization
  3. Ü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
      ...