パススルーを許可するようにフレーバーを設定してから、物理ハードウェア インターフェイスを使用する OpenStack インスタンスを作成できます。

この手順は NVIDIA GRID vGPU には適用されません。NVIDIA GRID vGPU を設定するには、NVIDIA GRID vGPU のパススルーの設定を参照してください。

前提条件

  • vSphere で SR-IOV または DirectPath I/O を有効にします。
  • SR-IOV デバイス専用のコンピューティング クラスタを作成します。これらのデバイスに DRS ルールは適用されません。
  • パススルーに使用するイメージで vmware_extra_config メタデータが設定されていないことを確認します。
  • 物理デバイスの MAC アドレスを維持するには、デバイス上でダイレクト パススルーを有効にする前に、コンピューティング ノードとしてクラスタを追加します。ダイレクト パススルーがすでに有効な場合は、これを無効にして、クラスタを再起動し、ダイレクト パススルーを再度有効にすることができます。

手順

  1. Integrated OpenStack Managerroot ユーザーとしてログインします。
    ssh root@mgmt-server-ip
  2. Nova 設定を編集します。
    viocli update nova
  3. nova セクションで、DEFAULT セクションを作成します。DEFAULT セクションで、pci_alias セクションを作成します。
  4. pci_alias セクションで、type パラメータを追加し、値として multistring を設定します。
  5. values パラメータを追加し、デバイスに一致する値を設定します。

    次の形式を使用します。

    values:
    - '{"device_type": "type-PF", "vendor_id": "vendor-id", "name": "physical-name"}'
    - '{"device_type": "type-VF", "vendor_id": "vendor-id", "name": "virtual-name"}'
    オプション 説明

    vendor-id

    デバイスの 4 文字のベンダー ID を入力します。すべての文字を小文字で入力します。

    physical-name

    物理デバイスのエイリアスを入力します。

    virtual-name

    仮想デバイスのエイリアスを入力します。

  6. vmware セクションで、generic_passthrough パラメータを追加し、値として true を設定します。
    構成ファイルは次のようになります。
    conf:
      nova:
        vmware:
          [...]
          generic_passthrough: true
        DEFAULT:
          pci_alias:
            type: multistring
            values:
            - '{"device_type": "type-PF", "vendor_id": "vendor-id", "name": "physical-name"}'
            - '{"device_type": "type-VF", "vendor_id": "vendor-id", "name": "virtual-name"}'
  7. Nova コンピューティングの設定を編集します。
    viocli update nova-compute
  8. vmware セクションで、generic_passthrough パラメータを追加し、値として true を設定します。
    構成ファイルは次のようになります。
    conf:
      nova_compute:
        DEFAULT:
          [...]
        vmware:
          [...]
          generic_passthrough: true
  9. VMware Integrated OpenStack ダッシュボードにクラウド管理者としてログインします。
  10. タイトル バーのドロップダウン メニューから [管理] プロジェクトを選択します。
  11. [管理] > [コンピューティング] > [フレーバー] の順に選択します。
  12. パススルーに使用する新しいフレーバーを作成するか、既存のフレーバーを選択します。
  13. 使用するフレーバーの横にある [メタデータの更新] を選択します。
  14. [利用可能なメタデータ][カスタム] フィールドに vmware_extra_config と入力し、[追加](プラス記号)アイコンをクリックします。
  15. vmware:extra_config の値を {"pciPassthru.use64bitMMIO":"TRUE"} に設定します。
  16. [利用可能なメタデータ][カスタム] フィールドに pci_passthrough:alias と入力し、[追加](プラス記号)アイコンをクリックします。
  17. pci_passthrough:alias の値を virtual-device-name:device-count に設定します。
    オプション 説明
    virtual-device-name

    この手順で指定した仮想デバイスの名前を入力します。

    device-count

    1 回の要求で呼び出すことができる仮想機能の数を指定します。

    この値の範囲は 1 から 10 です。

  18. [VMware クォータ] を展開し、Quota: Memory Reservation の横にある [追加](プラス記号)アイコンをクリックします。
  19. quota:memory_reservation の値を 100 に設定して、[保存] をクリックします。

結果

この手順で変更したフレーバーを使用して構成することにより、パススルーが有効な仮想マシンをデプロイできます。