検索

第5章 PCI パススルーの設定

download PDF

PCI パススルーを使用して、グラフィックカードまたはネットワークデバイス等の物理 PCI デバイスをインスタンスにアタッチすることができます。デバイスに PCI パススルーを使用する場合、インスタンスはタスクを実行するためにデバイスへの排他的アクセスを確保し、ホストはデバイスを利用することができません。

重要

ルーティング対応プロバイダーネットワークでの PCI パススルーの使用

Compute サービスは、複数のプロバイダーネットワークにまたがる単一のネットワークをサポートしません。ネットワークに複数の物理ネットワークが含まれる場合、Compute サービスは最初の物理ネットワークだけを使用します。したがって、ルーティング対応プロバイダーネットワークを使用する場合は、すべてのコンピュートノードで同じ physical_network 名を使用する必要があります。

VLAN またはフラットネットワークのルーティング対応プロバイダーネットワークを使用する場合は、すべてのセグメントで同じ physical_network 名を使用する必要があります。その後、ネットワークに複数のセグメントを作成し、そのセグメントを適切なサブネットにマッピングします。

クラウドユーザーが PCI デバイスがアタッチされたインスタンスを作成できるようにするには、以下の手順を実施する必要があります。

  1. PCI パススルー用のコンピュートノードを指定する。
  2. 必要な PCI デバイスを持つ PCI パススルー用のコンピュートノードを設定する。
  3. オーバークラウドをデプロイする。
  4. PCI デバイスがアタッチされたインスタンスを起動するためのフレーバーを作成する。

前提条件

  • 必要な PCI デバイスを持つコンピュートノード

5.1. PCI パススルー用コンピュートノードの指定

物理 PCI デバイスがアタッチされたインスタンス用にコンピュートノードを指定するには、PCI パススルーロールを設定するための新規ロールファイルを作成し、PCI パススルーのためにコンピュートノードをタグ付けするための新規オーバークラウドフレーバーおよび PCI パススルーリソースクラスを設定する必要があります。

手順

  1. アンダークラウドに stack ユーザーとしてログインします。
  2. stackrc ファイルを取得します。

    [stack@director ~]$ source ~/stackrc
  3. roles_data_pci_passthrough.yaml という名前で、ControllerCompute、および ComputePCI ロールが含まれる新しいロールデータファイルを生成します。

    (undercloud)$ openstack overcloud roles \
     generate -o /home/stack/templates/roles_data_pci_passthrough.yaml \
     Compute:ComputePCI Compute Controller
  4. roles_data_pci_passthrough.yaml を開き、以下のパラメーターおよびセクションを編集または追加します。

    セクション/パラメーター現在の値新しい値

    ロールのコメント

    Role: Compute

    Role: ComputePCI

    ロール名

    Compute

    name: ComputePCI

    description

    Basic Compute Node role

    PCI パススルー用コンピュートノードロール

    HostnameFormatDefault

    %stackname%-novacompute-%index%

    %stackname%-novacomputepci-%index%

    deprecated_nic_config_name

    compute.yaml

    compute-pci-passthrough.yaml

  5. オーバークラウドの PCI パススルー用コンピュートノードをノード定義のテンプレート node.json または node.yaml に追加して、そのノードを登録します。詳細は、director のインストールと使用方法オーバークラウドノードの登録 を参照してください。
  6. ノードのハードウェアを検査します。

    (undercloud)$ openstack overcloud node introspect \
     --all-manageable --provide

    詳細は、Director Installation and Usage ガイドの Creating an inventory of the bare-metal node hardware を参照してください。

  7. PCI パススルーを使用するコンピュートノード用の compute-pci-passthrough オーバークラウドフレーバーを作成します。

    (undercloud)$ openstack flavor create --id auto \
     --ram <ram_size_mb> --disk <disk_size_gb> \
     --vcpus <no_vcpus> compute-pci-passthrough
    • <ram_size_mb> をベアメタルノードの RAM (MB 単位) に置き換えます。
    • <disk_size_gb> をベアメタルノード上のディスク容量 (GB 単位) に置き換えます。
    • <no_vcpus> をベアメタルノードの CPU 数に置き換えます。

      注記

      これらの属性は、インスタンスのスケジューリングには使用されません。ただし Compute スケジューラーは、ディスク容量を使用してルートパーティションのサイズを決定します。

  8. ノードリストを取得して UUID を把握します。

    (undercloud)$ openstack baremetal node list
  9. PCI パススルー用に指定する各ベアメタルノードに、カスタムの PCI パススルーリソースクラスをタグ付けします。

    (undercloud)$ openstack baremetal node set \
     --resource-class baremetal.PCI-PASSTHROUGH <node>

    <node> をベアメタルノードの ID に置き換えてください。

  10. compute-pci-passthrough フレーバーをカスタムの PCI パススルーリソースクラスに関連付けます。

    (undercloud)$ openstack flavor set \
     --property resources:CUSTOM_BAREMETAL_PCI_PASSTHROUGH=1 \
      compute-pci-passthrough

    Bare Metal サービスノードのリソースクラスに対応するカスタムリソースクラスの名前を指定するには、リソースクラスを大文字に変換し、すべての句読点をアンダースコアに置き換え、CUSTOM_ の接頭辞を追加します。

    注記

    フレーバーが要求できるのは、ベアメタルリソースクラスの 1 つのインスタンスだけです。

  11. 以下のフレーバー属性を設定して、Compute スケジューラーがインスタンスのスケジューリングにベアメタルフレーバー属性を使用するのを防ぎます。

    (undercloud)$ openstack flavor set \
     --property resources:VCPU=0 --property resources:MEMORY_MB=0 \
     --property resources:DISK_GB=0 compute-pci-passthrough
  12. 以下のパラメーターを node-info.yaml ファイルに追加して、PCI パススルー用コンピュートノードの数および PCI パススルー対応コンピュートノードに使用するフレーバーを指定します。

    parameter_defaults:
      OvercloudComputePCIFlavor: compute-pci-passthrough
      ComputePCICount: 3
  13. ロールが作成されたことを確認するには、以下のコマンドを入力します。

    (undercloud)$ openstack overcloud profiles list
Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.