検索

8.2. OVS TC-flower ハードウェアオフロード用の PCI パススルーデバイスの設定

download PDF

OVS TC-flower ハードウェアオフロード環境用に Red Hat OpenStack Platform をデプロイする場合は、カスタム環境ファイルでコンピュートノードの PCI パススルーデバイスを設定する必要があります。

前提条件

  • PCI カードが搭載されている 1 台以上の物理サーバーへのアクセス。
  • アンダークラウドホストへのアクセスと stack ユーザーの認証情報。

手順

  1. PCI カードが搭載されている物理サーバー上で、次のいずれかのコマンドを使用します。

    • オーバークラウドがデプロイされている場合:

      $ lspci -nn -s  <pci_device_address>

      出力例

      3b:00.0 Ethernet controller [0200]: Intel Corporation Ethernet
      Controller X710 for 10GbE SFP+ [<vendor_id>: <product_id>] (rev 02)

    • オーバークラウドがデプロイされていない場合:

      $ openstack baremetal introspection data save <baremetal_node_name> | jq '.inventory.interfaces[] | .name, .vendor, .product'
  2. ComputeOvsHwOffload ノード上の PCI パススルーデバイスのベンダー ID と製品 ID をメモします。これらの ID は後の手順で必要になります。
  3. アンダークラウドに stack ユーザーとしてログインします。
  4. stackrc ファイルを取得します。

    $ source ~/stackrc
  5. カスタム環境 YAML ファイル (例: ovshwol-overrides.yaml) を作成します。次の内容をファイルに追加して、コンピュートノードの PCI パススルーデバイスを設定します。

    parameter_defaults:
      NeutronOVSFirewallDriver: iptables_hybrid
      ComputeOvsHwOffloadParameters:
        IsolCpusList: 2-9,21-29,11-19,31-39
        KernelArgs: "default_hugepagesz=1GB hugepagesz=1G hugepages=128 intel_iommu=on iommu=pt"
        OvsHwOffload: true
        TunedProfileName: "cpu-partitioning"
        NeutronBridgeMappings:
          - tenant:br-tenant
        NovaPCIPassthrough:
          - vendor_id: <vendor-id>
            product_id: <product-id>
            address: <address>
            physical_network: "tenant"
          - vendor_id: <vendor-id>
            product_id: <product-id>
            address: <address>
            physical_network: "null"
        NovaReservedHostMemory: 4096
        NovaComputeCpuDedicatedSet: 1-9,21-29,11-19,31-39
        ...
    注記

    Mellanox スマート NIC を使用している場合は、ComputeOvsHwOffloadParameters パラメーターの下に DerivePciWhitelistEnabled: true を追加します。OVS ハードウェアオフロードを使用する場合、コンピュートサービス (nova) スケジューラーは、インスタンス生成の SR-IOV パススルーと同様に動作します。

    • <vendor_id> を PCI デバイスのベンダー ID に置き換えます。
    • <product_id> を PCI デバイスの製品 ID に置き換えます。
    • <NIC_address> を PCI デバイスのアドレスに置き換えます。
    • <physical_network> を、PCI デバイスが配置されている物理ネットワークの名前に置き換えます。
    • VLAN の場合には、physical_network パラメーターをデプロイメント後に neutron で作成するネットワークの名前に設定します。この値は、NeutronBridgeMappings にも設定する必要があります。
    • VXLAN の場合には、physical_network パラメーターを null に設定します。

      注記

      NIC のデバイス名は変更される可能性があるため、PCI パススルーを設定する場合は devname パラメーターを使用しないでください。PF で Networking サービス (neutron) ポートを作成するには、NovaPCIPassthroughvendor_idproduct_id、および PCI デバイスアドレスを指定し、--vnic-type direct-physical オプションでポートを作成します。Virtual Function (VF) に Networking サービスのポートを作成するには、NovaPCIPassthroughvendor_idproduct_id を指定し、--vnic-type direct オプションを使用してポートを作成します。vendor_id および product_id パラメーターの値は、Physical Function (PF) コンテキストと VF コンテキストの間で異なる場合があります。

  6. カスタム環境ファイルで、PciPassthroughFilterNUMATopologyFilterNovaSchedulerEnabledFilters パラメーターのフィルターリストに含まれていることを確認します。コンピュートサービス (nova) は、このパラメーターを使用してノードをフィルタリングします。

    parameter_defaults:
      ...
      NovaSchedulerEnabledFilters:
        - AvailabilityZoneFilter
        - ComputeFilter
        - ComputeCapabilitiesFilter
        - ImagePropertiesFilter
        - ServerGroupAntiAffinityFilter
        - ServerGroupAffinityFilter
        - PciPassthroughFilter
        - NUMATopologyFilter
        - AggregateInstanceExtraSpecsFilter
    注記

    オプション: Mellanox ConnectX5 NIC を使用する RHOSP 17.1 での OVS ハードウェアオフロードに関する問題のトラブルシューティングと設定方法の詳細は、ハードウェアオフロードのトラブルシューティング を参照してください。

  7. 作成したカスタム環境ファイルのパスとファイル名をメモします。このファイルは、後でオーバークラウドをデプロイするときに使用します。

関連情報

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

© 2024 Red Hat, Inc.