Heim > System-Tutorial > LINUX > Hauptteil

Aktivieren Sie die verschachtelte KVM-Virtualisierung auf RHEL 8/Rocky Linux 8

王林
Freigeben: 2024-02-11 08:18:26
nach vorne
1247 Leute haben es durchsucht

In diesem Artikel zeigen wir Ihnen, wie Sie verschachtelte Virtualisierung in KVM unter RHEL 8 / Rocky Linux 8 aktivieren.

Verschachtelte Virtualisierung in KVM (Kernel-basierte virtuelle Maschine) ist eine Funktion, die es Ihnen ermöglicht, virtuelle Maschinen innerhalb anderer virtueller Maschinen auszuführen. Das bedeutet, dass Sie eine virtuelle Umgebung innerhalb einer virtuellen Maschine erstellen und darin eine andere virtuelle Maschine ausführen können.

Verschachtelte Virtualisierung ist besonders nützlich für Test- und Entwicklungsszenarien, in denen Sie möglicherweise mehrere virtuelle Maschinen mit unterschiedlichen Konfigurationen oder Betriebssystemen erstellen möchten, ohne dass separate physische Hardware erforderlich ist. Mithilfe der verschachtelten Virtualisierung können Sie beispielsweise die Kompatibilität von Anwendungen testen, die auf mehreren Betriebssystemversionen ausgeführt werden.

Voraussetzungen

  • KVM auf RHEL 8 / Rocky Linux 8 vorinstallieren
  • Haben Sie Sudo- oder Root-Zugriff

Ich gehe davon aus, dass Sie bereits einen KVM-Virtualisierer konfiguriert haben. Wenn Sie nicht mit der Installation und Konfiguration des KVM-Virtualisierungsprogramms vertraut sind, lesen Sie bitte den folgenden Artikel:

  • So installieren und konfigurieren Sie KVM unter RHEL 8 / CentOS 8

Kommen wir ohne weitere Umschweife zu den praktischen Schritten.

Aktivieren Sie die verschachtelte KVM-Virtualisierung

Stellen Sie sicher, dass auf Ihrem KVM-Host die verschachtelte Virtualisierung aktiviert ist.

Für Maschinen mit Intel-Prozessoren führen Sie den folgenden cat Befehl aus:

[root@kvm-hypervisor ~]# cat /sys/module/kvm_intel/parameters/nested
N
[root@kvm-hypervisor ~]#
Nach dem Login kopieren

Für Maschinen mit AMD-Prozessor führen Sie den folgenden Befehl aus:

[root@kvm-hypervisor ~]# cat /sys/module/kvm_amd/parameters/nested
N
[root@kvm-hypervisor ~]#
Nach dem Login kopieren

In der obigen Ausgabe bedeutet „N“, dass die verschachtelte Virtualisierung nicht aktiviert ist. Wenn die Ausgabe, die wir erhalten, „Y“ ist, bedeutet dies, dass die verschachtelte Virtualisierung auf Ihrem Host aktiviert ist.

Um nun die verschachtelte Virtualisierung zu aktivieren, erstellen Sie eine Datei namens „/etc/modprobe.d/kvm-nested.conf“ mit folgendem Inhalt:

[root@kvm-hypervisor ~]# vi /etc/modprobe.d/kvm-nested.conf
options kvm-intel nested=1
options kvm-intel enable_shadow_vmcs=1
options kvm-intel enable_apicv=1
options kvm-intel ept=1
Nach dem Login kopieren

Speichern und beenden Sie die Datei.

Als nächstes löschen Sie bitte kvm_intel 模块,然后使用 modprobe 命令添加相同的模块。在删除模块之前,请确保虚拟机已经关闭,否则我们将收到以下错误消息:“modprobe: FATAL: Module kvm_intel is in use“.

[root@kvm-hypervisor ~]# modprobe -r kvm_intel
[root@kvm-hypervisor ~]# modprobe -a kvm_intel
[root@kvm-hypervisor ~]#
Nach dem Login kopieren

Um nun zu überprüfen, ob die verschachtelte Virtualisierungsfunktion aktiviert ist, führen Sie den folgenden Befehl aus:

[root@kvm-hypervisor ~]# cat /sys/module/kvm_intel/parameters/nested
Y
[root@kvm-hypervisor ~]#
Nach dem Login kopieren

Für AMD-basierte Systeme führen Sie den folgenden Befehl aus:

[root@kvm-hypervisor ~]# rmmod kvm-amd
[root@kvm-hypervisor ~]# echo 'options kvm-amd nested=1'>>/etc/modprobe.d/dist.conf
[root@kvm-hypervisor ~]# modprobe kvm-amd
Nach dem Login kopieren

Testen der verschachtelten KVM-Virtualisierung

Angenommen, wir haben eine virtuelle Maschine namens „Director“ im KVM-Virtualisierungsprogramm und ich habe darin die verschachtelte Virtualisierung aktiviert. Stellen Sie vor dem Test sicher, dass der CPU-Modus der virtuellen Maschine „Host-Modell“ oder „Host-Passthrough“ ist. Sie können den CPU-Modus der virtuellen Maschine mit der Virt-Manager-GUI oder dem Befehl „virsh edit“ überprüfen.

# virsh edit director
Nach dem Login kopieren
在 RHEL 8 / Rocky Linux 8 上启用 KVM Nested Virtualization

Für neue virtuelle Maschinen, die Sie verschachtelte Virtualisierung verwenden möchten, aktivieren Sie die Option „Host-CPU-Konfiguration kopieren“ unter CPU-Einstellungen im virt-manager.

在 RHEL 8 / Rocky Linux 8 上启用 KVM Nested Virtualization

Melden Sie sich nun bei der Director-VM an und führen Sie den Befehl lscpulsmod aus.

[root@kvm-hypervisor ~]# ssh 192.168.126.1 -l root
root@192.168.126.1's password:
Last login: Sun Dec 10 07:05:59 2017 from 192.168.126.254
[root@director ~]# lsmod | grep kvm
kvm_intel             170200  0
kvm                   566604  1 kvm_intel
irqbypass              13503  1 kvm
[root@director ~]#
[root@director ~]# lscpu
Nach dem Login kopieren
在 RHEL 8 / Rocky Linux 8 上启用 KVM Nested Virtualization

让我们尝试在 director vm 中创建虚拟机,可以使用 virt-manager GUI 或 virt-install 命令。在我的测试中,我使用了 virt-install 命令。

[root@director ~]# virt-install  -n Nested-VM  --description "Test Nested VM" \
 --os-type=Linux  --os-variant=rhel7  --ram=2048  --vcpus=2 --disk \
 path=/var/lib/libvirt/images/nestedvm.img,bus=virtio,size=10 --graphics \
 none --location /var/lib/libvirt/images/CentOS-7-x86_64-DVD-1511.iso\
 --extra-args console=ttyS0
Starting install...
Retrieving file .treeinfo...                            | 1.1 kB  00:00:00
Retrieving file vmlinuz...                              | 4.9 MB  00:00:00
Retrieving file initrd.img...                           |  37 MB  00:00:00
Allocating 'nestedvm.img'                               |  10 GB  00:00:00
Connected to domain Nested-VM
Escape character is ^]
[    0.000000] Initializing cgroup subsys cpuset
[    0.000000] Initializing cgroup subsys cpu
[    0.000000] Initializing cgroup subsys cpuacct
[    0.000000] Linux version 3.10.0-327.el7.x86_64 
………………………………………………
Nach dem Login kopieren
在 RHEL 8 / Rocky Linux 8 上启用 KVM Nested Virtualization

这证实了嵌套虚拟化已成功启用,因为我们能够在虚拟机中创建虚拟机。

Das obige ist der detaillierte Inhalt vonAktivieren Sie die verschachtelte KVM-Virtualisierung auf RHEL 8/Rocky Linux 8. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:lxlinux.net
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!