19.3. Intel でのネスト化された仮想マシンの作成
以下の手順に従って、Intel ホストでネストされた仮想化を有効にし、設定します。
Red Hat は現在、ネストされた仮想化を テクノロジープレビュー としてのみ提供しているため、これはサポート対象外となります。
さらに、ネストされた仮想化は、限られたアーキテクチャーとオペレーティングシステムのバージョンでのみテストされています。ご使用の環境でこの機能を使用する前に、ネストされた仮想化の制限と制約事項 を参照してください。
前提条件
- L1 仮想マシンを実行している L0 RHEL 8 ホスト。
-
ハイパーバイザー CPU でネストされた仮想化をサポートしている。L0 ハイパーバイザーで
cat /proc/cpuinfo
コマンドを使用して、サポートがあるか確認します。コマンドの出力にvmx
およびept
フラグが含まれる場合は、L2 仮想マシンを作成できます。通常、Intel Xeon v3 コア以降が対象です。 L0 ホストでネストされた仮想化が有効になっていることを確認します。
# cat /sys/module/kvm_intel/parameters/nested
- コマンドが 1 または Y を返すと、この機能は有効になっています。残りの前提条件の手順を省略し、手順セクションに進みます。
コマンドで 0 または N が返されたにも拘らず、システムがネストされた仮想化に対応している場合は、以下の手順に従って機能を有効にします。
kvm_intel
モジュールをアンロードします。# modprobe -r kvm_intel
ネスト機能をアクティブにします。
# modprobe kvm_intel nested=1
ネスト機能は有効になりましたが、L0 ホストの次回起動後は無効になります。永続的に有効にするには、以下の行を
/etc/modprobe.d/kvm.conf
ファイルに追加します。options kvm_intel nested=1
手順
ネストされた仮想化用に L1 仮想マシンを設定します。
仮想マシンの XML 設定を開きます。以下の例では、Intel-L1 仮想マシンの設定が開きます。
# virsh edit Intel-L1
<cpu>
要素を編集して、host-passthrough
CPU モードを使用するように仮想マシンを設定します。<cpu mode='host-passthrough'/>
仮想マシンで特定の CPU モデルを使用する必要がある場合は、
custom
CPU モードを使用するように仮想マシンを設定します。<cpu>
要素内に、<feature policy='require' name='vmx'/>
要素と<model>
要素を追加し、内部で CPU モデルを指定します。以下に例を示します。<cpu mode ='custom' match ='exact' check='partial'> <model fallback='allow'>Haswell-noTSX</model> <feature policy='require' name='vmx'/> ... </cpu>
- L1 仮想マシン内に L2 仮想マシンを作成します。これには、L1 仮想マシンの作成 時と同じ手順に従います。