GNU/Linux >> LINUX-Kenntnisse >  >> Linux

So aktivieren Sie die verschachtelte Virtualisierung in KVM unter Linux

In diesem Leitfaden werden wir sehen, wie Sie die verschachtelte Virtualisierung in KVM aktivieren unter Linux. Verschachtelte Virtualisierung ist eine Funktion, mit der Sie eine virtuelle Maschine in einer anderen virtuellen Maschine ausführen können, während Sie weiterhin die Hardwarebeschleunigung des Hostsystems verwenden. Mit anderen Worten, verschachtelte Virtualisierung ist ein Mechanismus zum Ausführen eines Hypervisors innerhalb einer virtuellen Maschine (VM), die selbst auf einem Hypervisor ausgeführt wird.

Verschachtelte Virtualisierung in KVM unter Linux aktivieren

Schalten Sie vor dem Aktivieren der verschachtelten VT-Funktion alle laufenden VMs aus.

Als nächstes entladen Sie KVM-Module.

Zum Entladen des KVM-Moduls auf INTEL Systeme, führen Sie aus:

$ sudo modprobe -r kvm_intel

Auf AMD Systeme:

$ sudo modprobe -r kvm_amd

Laden Sie das KVM-Modul mit aktivierter verschachtelter Funktion auf INTEL-CPUs neu mit dem Befehl:

$ sudo modprobe kvm_intel nested=1

Laden Sie das KVM-Modul mit aktivierter verschachtelter Funktion auf AMD-CPUs mit folgendem Befehl neu:

$ sudo modprobe kvm_amd nested=1

Verschachtelte Virtualisierung dauerhaft aktivieren

Bitte beachten Sie, dass die verschachtelte VT-Funktion nur aktiviert ist, bis Sie das KVM-Hostsystem neu starten. Um die verschachtelte Funktion dauerhaft zu aktivieren, bearbeiten Sie /etc/modprobe.d/kvm.conf Datei:

$ sudo vi /etc/modprobe.d/kvm.conf

Wenn die Datei nicht existiert, erstellen Sie sie einfach.

Fügen Sie die folgende Zeile zu INTEL hinzu Gastgeber:

options kvm_intel nested=1

Fügen Sie die folgende Zeile auf AMD hinzu Gastgeber:

options kvm_amd nested=1

Speichern und schließen Sie die Datei.

Erledigt! Wir haben verschachteltes VT auf dem KVM-Hostsystem aktiviert.

Überprüfen Sie, ob die verschachtelte Virtualisierung im KVM-Host aktiviert ist

Wenn Ihr Prozessor INTEL ist, überprüfen Sie "/sys/module/kvm_intel/parameters/nested" Datei mit dem "cat"-Befehl:

$ cat /sys/module/kvm_intel/parameters/nested

Prüfen Sie, ob verschachtelte Virtualisierung in Linux unterstützt wird

Wenn es "Y" zurückgibt oder "1" , bedeutet dies, dass Ihr System verschachtelte Virtualisierung unterstützt. Wenn die Ausgabe "N" ist oder "0" , unterstützt Ihr System keine verschachtelte Virtualisierung.

Wenn Ihr Prozessor AMD ist, überprüfen Sie den Inhalt von "/sys/module/kvm_amd/parameters/nested" Datei.

Alternativ können Sie den folgenden Befehl verwenden, um sicherzustellen, dass das Kernelmodul "kvm_intel" die Verschachtelung aktiviert hat:

$ modinfo kvm_intel | grep -i nested

Beispielausgabe:

parm:           nested_early_check:bool
parm:           nested:bool

Auf AMD-CPU:

$ modinfo kvm_amd | grep -i nested

Nun, mein KVM-Host unterstützt verschachtelte Virtualisierung und ist bereits aktiviert.

Verschachtelte Virtualisierung auf KVM-Gastmaschinen aktivieren

Wir können verschachtelte Funktionen auf einer KVM-VM entweder über die Befehlszeile oder mithilfe einer grafischen KVM-Verwaltungsanwendung wie Virt-manager aktivieren .

Verschachtelte Funktion in KVM-Gästen über die Befehlszeile aktivieren

Melden Sie sich bei der virsh-Konsole an:

$ virsh

Bearbeiten Sie die VM, in der Sie die verschachtelte Funktion aktivieren möchten:

virsh # edit centos

Um alle verfügbaren VMs zu finden, führen Sie diesen Befehl in der virsh-Konsole aus:

virsh # list --all

Suchen Sie den Parameter „cpu mode“ und setzen Sie seinen Wert auf „host-model“.

<cpu mode='host-model' check='partial'/>

Aktivieren Sie die verschachtelte Funktion in KVM-Gästen mit dem Befehl virsh

Speichern und schließen Sie die Datei.

Starten Sie die VM:

virsh # start centos8

Überprüfen Sie, ob die verschachtelte Funktion für die VM aktiviert ist:

virsh # dumpxml centos8

Sie sollten sehen, dass alle erforderlichen Feature-Richtlinien unter der Direktive "CPU-Modus" jetzt aktualisiert wurden:

<cpu mode='custom' match='exact' check='full'>
    <model fallback='forbid'>SandyBridge-IBRS</model>
    <vendor>Intel</vendor>
    <feature policy='require' name='vme'/>
    <feature policy='require' name='vmx'/>
    <feature policy='require' name='pcid'/>
    <feature policy='require' name='hypervisor'/>
    <feature policy='require' name='arat'/>
    <feature policy='require' name='tsc_adjust'/>
    <feature policy='require' name='umip'/>
    <feature policy='require' name='md-clear'/>
    <feature policy='require' name='stibp'/>
    <feature policy='require' name='arch-capabilities'/>
    <feature policy='require' name='ssbd'/>
    <feature policy='require' name='xsaveopt'/>
    <feature policy='require' name='ibpb'/>
    <feature policy='require' name='amd-ssbd'/>
    <feature policy='require' name='skip-l1dfl-vmentry'/>
    <feature policy='disable' name='aes'/>
  </cpu>

Die verschachtelte Virtualisierungsfunktion wurde für CentOS 8 VM aktiviert.

Verschachtelte Funktion in KVM-Gästen mit Virt-Manager aktivieren

Öffnen Sie die Virt-Manager-GUI-Anwendung und doppelklicken Sie auf den KVM-Gast, in dem Sie die verschachtelte VT-Funktion aktivieren möchten. Klicken Sie auf die Schaltfläche "Details zur virtuellen Hardware anzeigen" und gehen Sie im linken Menü zum Abschnitt "CPUs".

Wählen Sie "Host-CPU-Konfiguration kopieren" aus Kontrollkästchen im CPU-Konfigurationsfenster und klicken Sie auf Übernehmen.

Konfigurieren Sie die verschachtelte Virtualisierung in VIrt-manager

Jetzt werden das CPU-Modell und die Konfiguration des physischen Hosts auf die VM angewendet.

Prüfen Sie, ob die KVM-Gäste Virtualisierung unterstützen

Schalten Sie den KVM-Gastcomputer ein und melden Sie sich an, auf dem Sie die verschachtelte Funktion aktiviert haben.

Führen Sie den folgenden Befehl im Terminal des KVM-Gasts aus, um zu überprüfen, ob die Virtualisierung aktiviert ist oder nicht:

# egrep --color -i "svm|vmx" /proc/cpuinfo

Beispielausgabe:

Überprüfen Sie, ob KVM-Gäste Virtualisierungstechnologie in Linux unterstützen

Wenn Sie „vmx“ sehen (Intel-VT-Technologie) oder „svm“ (AMD-V-Unterstützung) in der Ausgabe kann der KVM-Gastcomputer als Hypervisor arbeiten und VMs hosten. Wie Sie in der obigen Ausgabe sehen können, unterstützt meine CentOS 8 KVM VM Virtualisierung.

Sehen Sie sich die folgende Anleitung an, um mehr Möglichkeiten zu erfahren, wie Sie überprüfen können, ob ein Linux-System VT unterstützt oder nicht.

  • So finden Sie heraus, ob eine CPU die Virtualisierungstechnologie (VT) unterstützt

Verwandte Lektüre:

  • So aktivieren Sie die verschachtelte Virtualisierung in VirtualBox

Linux
  1. So konfigurieren Sie die Virtualisierung unter Redhat Linux

  2. So aktivieren Sie die IP-Weiterleitung unter Linux

  3. So aktivieren Sie md5-Hashing unter Linux

  4. Wie aktiviere ich die Linux-Swap-Partition?

  5. Wie kann ich Ping auf einer Azure-Linux-VM aktivieren

Aktivieren Sie die UEFI-Unterstützung in der KVM-Virtualisierung

So aktivieren Sie die Option „Bearbeiten“ in der Shutter-Anwendung unter Linux

So aktivieren Sie die verschachtelte Virtualisierung in VirtualBox

So aktivieren Sie den Zeitstempel im Bash-Verlauf unter Linux

So aktivieren Sie passwortloses Sudo für Benutzer in Linux

Wie aktiviere ich sFTP in einem Linux VPS?