GNU/Linux >> Linux の 問題 >  >> Cent OS

CentOS 7 /RHEL7のKVMでネストされた仮想化を有効にする方法

ネストされた仮想化 仮想マシン内に仮想化環境を構成することを意味します。言い換えると、ネストされた仮想化はハイパーバイザーの機能であり、ハイパーバイザーからのハードウェアアクセラレーションを介して、仮想サーバー内に仮想マシンをインストールして実行できます。 (ホスト)。

この記事では、CentOS 7 /RHEL7のKVMでネストされた仮想化を有効にする方法について説明します。KVMハイパーバイザーが既に構成されていることを前提としています。 KVMハイパーバイザーのインストールと構成の方法に慣れていない場合 、次の記事を参照してください

また読むCentOS7.xおよびRHEL7.xにKVMハイパーバイザーをインストールします

ハイパーバイザーにジャンプして、KVMホストでネストされた仮想化が有効になっているかどうかを確認しましょう

Intelベースのプロセッサの場合、コマンドを実行します。

 [[email protected]〜]#cat / sys / module / kvm_intel / parameters / nestedN [[email protected]〜]#

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

 [[email protected]〜]#cat / sys / module / kvm_amd / parameters / nestedN [[email protected]〜]#

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

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

 [[email protected]〜]#vi /etc/modprobe.d/kvm-nested.confoptions kvm-intelnested =1options kvm-intel enable_shadow_vmcs =1options kvm-intel enable_apicv =1options kvm-intel ept =1 

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

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

 [[email protected]〜]#modprobe -r kvm_intel [[email protected]〜]#modprobe -a kvm_intel [[email protected]〜]#

次に、ネストされた仮想化機能が有効になっているかどうかを確認します。

 [[email protected]〜]#cat / sys / module / kvm_intel / parameters / nestedY [[email protected]〜]#

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

 [[email protected]〜]#rmmod kvm-amd [[email protected]〜]#echo'options kvm-amdnested =1'>> / etc / modprobe.d / dist.conf [[email protected] 〜]#modprobe kvm-amd 

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

ネストされた仮想化を有効にしたKVMハイパーバイザーに「director」という名前のVMがあるとします。テストする前に、VMのCPUモードが「ホストモデル」のいずれかであることを確認してください 」または「ホストパススルー 」、仮想マシンのCPUモードを確認するには、Virt-ManagerGUIまたはvirsh編集コマンドのいずれかを使用します

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

 [[email protected]〜]#ssh 192.168.126.1 -l root [email protected]'s password:Last login:Sun Dec 10 07:05:59 2017 from 192.168.126.254 [[email protected]〜]# lsmod | grep kvmkvm_intel 170200 0kvm 566604 1 kvm_intelirqbypass 13503 1 kvm [[email protected]〜]#[[email protected]〜] 

仮想マネージャーGUIまたはdirectorvm内のvirt-installから仮想マシンを作成してみましょう。私の場合はvirt-installコマンドを使用しています

 [[email protected]〜]#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インストールを開始しています...ファイル.treeinfoを取得しています...| 1.1kB00:00:00ファイルvmlinuzを取得しています...| 4.9MB00:00:00ファイルinitrd.imgを取得しています...| 37MB00:00:00割り当て'nestedvm.img'| 10GB00:00:00ドメインに接続ネスト-VMEscape文字は^][0.000000]cgroup subsys cpuset [0.000000] cgroup subsys cpu [0.000000] cgroup subsys cpuacct[0.000000]Linuxバージョン3.10.0-327.el7を初期化しています。 x86_64………………………………………………

これにより、仮想マシン内に仮想マシンを作成できるため、ネストされた仮想化が正常に有効になったことを確認できます。

これで記事は終わりです。フィードバックやコメントを共有してください。


Cent OS
  1. CentOS / RHEL 7 で IPv6 を有効にする方法

  2. CentOS / RHEL 5 で IPv6 を有効にする方法

  3. CentOS/RHEL 5、6、7 で X11 転送を有効にする方法

  1. CentOS /RHEL7でSELinuxを有効にする方法

  2. CentOS / RHEL 6 で IPv6 を有効にする方法

  3. CentOS/RHEL 8 で IPv6 を有効にする方法

  1. RHEL 8 /CentOS8にKVMをインストールする方法

  2. CentOS7にownCloudをインストールする方法

  3. CentOS7にDrupal8をインストールする方法