この記事では、RHEL 8 / Rocky Linux 8 上の KVM でネストされた仮想化を有効にする方法を説明します。
KVM (カーネルベースの仮想マシン) のネストされた仮想化は、他の仮想マシン内で仮想マシンを実行できるようにする機能です。これは、仮想マシン内に仮想環境を作成し、その中で別の仮想マシンを実行できることを意味します。
ネストされた仮想化は、個別の物理ハードウェアを必要とせずに、構成やオペレーティング システムが異なる複数の仮想マシンを作成する必要があるテストおよび開発シナリオに特に役立ちます。たとえば、ネストされた仮想化を使用して、複数のオペレーティング システム バージョンで実行されているアプリケーションの互換性をテストできます。
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 バーチャライザーに「director」という名前の仮想マシンがあり、その中でネストされた仮想化を有効にしているとします。テストする前に、仮想マシンの CPU モードが「host-model」または「host-passthrough」であることを確認してください。Virt-Manager GUI または virsh edit コマンドを使用して、仮想マシンの CPU モードを確認できます。
リーリーネストされた仮想化を使用する新しい仮想マシンの場合は、virt-manager の CPU 設定で [ホスト CPU 構成をコピー] オプションをオンにします。
ここで、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
让我们尝试在 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 ネストされた仮想化を有効にするの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。