RHEL 8 / Rocky Linux 8 で KVM ネストされた仮想化を有効にする

王林
リリース: 2024-02-11 08:18:26
転載
1306 人が閲覧しました

この記事では、RHEL 8 / Rocky Linux 8 上の KVM でネストされた仮想化を有効にする方法を説明します。

KVM (カーネルベースの仮想マシン) のネストされた仮想化は、他の仮想マシン内で仮想マシンを実行できるようにする機能です。これは、仮想マシン内に仮想環境を作成し、その中で別の仮想マシンを実行できることを意味します。

ネストされた仮想化は、個別の物理ハードウェアを必要とせずに、構成やオペレーティング システムが異なる複数の仮想マシンを作成する必要があるテストおよび開発シナリオに特に役立ちます。たとえば、ネストされた仮想化を使用して、複数のオペレーティング システム バージョンで実行されているアプリケーションの互換性をテストできます。

前提条件

  • RHEL 8 / Rocky Linux 8
  • に KVM をプレインストールする
  • Sudo または Root アクセス権を持っている

KVM バーチャライザーはすでに構成されていると仮定します。 KVM 仮想化プログラムのインストールと構成の方法に慣れていない場合は、次の記事を参照してください:

  • RHEL 8 / CentOS 8
  • に KVM をインストールして構成する方法

早速、実際の手順に入りましょう。

KVM ネストされた仮想化を有効にする

KVM ホストでネストされた仮想化が有効になっていることを確認します。

Intel プロセッサーベースのマシンの場合は、次の cat コマンドを実行します:

リーリー

AMD プロセッサベースのマシンの場合は、次のコマンドを実行します:

リーリー

上記の出力の「N」は、ネストされた仮想化が有効になっていないことを意味します。取得した出力が「Y」の場合、ホスト上でネストされた仮想化が有効になっていることを意味します。

ネストされた仮想化を有効にするために、次の内容を含む「/etc/modprobe.d/kvm-nested.conf」というファイルを作成します。

リーリー

ファイルを保存して終了します。

次に、kvm_intel モジュールを削除し、modprobe コマンドを使用して同じモジュールを追加してください。モジュールを削除する前に、仮想マシンがシャットダウンされていることを確認してください。シャットダウンされていないと、「modprobe: FATAL: Module kvm_intel is in use」というエラー メッセージが表示されます。

リーリー

ここで、ネストされた仮想化機能が有効であることを確認するために、次のコマンドを実行します。

リーリー

AMD ベースのシステムの場合は、次のコマンドを実行します:

リーリー

KVM ネストされた仮想化のテスト

KVM バーチャライザーに「director」という名前の仮想マシンがあり、その中でネストされた仮想化を有効にしているとします。テストする前に、仮想マシンの CPU モードが「host-model」または「host-passthrough」であることを確認してください。Virt-Manager GUI または virsh edit コマンドを使用して、仮想マシンの CPU モードを確認できます。

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

ネストされた仮想化を使用する新しい仮想マシンの場合は、virt-manager の CPU 設定で [ホスト CPU 構成をコピー] オプションをオンにします。

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

ここで、director VM にログインし、lscpu および lsmod コマンドを実行します。

[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
ログイン後にコピー
在 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 
………………………………………………
ログイン後にコピー
在 RHEL 8 / Rocky Linux 8 上启用 KVM Nested Virtualization

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

以上がRHEL 8 / Rocky Linux 8 で KVM ネストされた仮想化を有効にするの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:lxlinux.net
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート