Red Hat Training

A Red Hat training course is available for RHEL 8

18.2. AMD でのネスト化された仮想マシンの作成

以下の手順に従って、AMD ホストでネストされた仮想化を有効にし、設定します。

警告

ネストされた仮想化は、現在 AMD64 アーキテクチャーでのみ テクノロジープレビュー として提供されているため、サポート対象外となります。

前提条件

  • L1 の仮想マシンを実行している L0 の RHEL 8 ホスト
  • ハイパーバイザー CPU はネストされた仮想化をサポートする必要があります。検証するには、L0 ハイパーバイザーで cat /proc/cpuinfo コマンドを使用します。コマンドの出力に svm フラグおよび npt フラグが含まれる場合は、L2 仮想マシンを作成できます。通常、これは AMD EPYC コア以降で該当します。
  • L0 ホストでネストされた仮想化が有効になっていることを確認します。

    # cat /sys/module/kvm_amd/parameters/nested
    • コマンドが Y または 1 を返した場合は、この機能が有効になり、以下の手順に従ってプロシージャーを開始できます。
    • コマンドが 0 または N を返す場合は、以下の手順に従ってこの機能を有効にします。

      1. L0 ホストで実行中の仮想マシンをすべて停止します。
      2. kvm_amd モジュールをアンロードします。

        # modprobe -r kvm_amd
      3. ネスト機能をアクティブにします。

        # modprobe kvm_amd nested=1
      4. ネスト機能は有効になりますが、L0 ホストの次回起動時まで有効になります。永続的に有効にするには、以下を /etc/modprobe.d/kvm.conf ファイルに追加します。

        options kvm_amd nested=1

手順

  1. ネストされた仮想化用に L1 仮想マシンを設定します。

    1. 仮想マシンの XML 設定を開きます。以下の例では、AMD-L1 仮想マシンの設定が開きます。

      # virsh edit AMD-L1
    2. 仮想マシンの CPU が host-passthrough モードを使用するように設定します。

      <cpu mode='host-passthrough'/>

      仮想マシンで host-passthrough ではなく、特定の CPU を使用する必要がある場合には、<feature policy='require' name='vmx'/> の行を CPU の設定に追加します。以下に例を示します。

      <cpu mode ='custom' match ='exact' check='partial'>
      <model fallback='allow'>Haswell-noTSX</model>
      <feature policy='require' name='vmx'/>
  2. L1 仮想マシン内に L2 仮想マシンを作成します。これを行うには、L1 仮想マシンの作成 時と同じ手順に従います。