9.2. VDPA コンピュートノードの設定
クラウドユーザーが VIRTIO データパスアクセラレーション (VDPA) ポートを使用するインスタンスを作成できるようにするには、VDPA デバイスを持つコンピュートノードを設定します。
手順
-
VDPA コンピュートノードを設定するための新しいコンピューティング環境ファイル (
vdpa_compute.yamlなど) を作成します。 PciPassthroughFilterとNUMATopologyFilterを、vdpa_compute.yamlのNovaSchedulerEnabledFiltersパラメーターに追加します。parameter_defaults: NovaSchedulerEnabledFilters: ['AvailabilityZoneFilter','ComputeFilter','ComputeCapabilitiesFilter','ImagePropertiesFilter','ServerGroupAntiAffinityFilter','ServerGroupAffinityFilter','PciPassthroughFilter','NUMATopologyFilter']NovaPCIPassthroughパラメーターをvdpa_compute.yamlに追加して、コンピュートノード上の VDPA デバイスで使用可能な PCI を指定します。たとえば、NVIDIA® ConnectX®-6 Dx デバイスを、インスタンスへのパススルーに使用できる PCI デバイスのプールに追加するには、次の設定をvdpa_compute.yamlに追加します。parameter_defaults: ... ComputeVdpaParameters: NovaPCIPassthrough: - vendor_id: "15b3" product_id: "101d" address: "06:00.0" physical_network: "tenant" - vendor_id: "15b3" product_id: "101d" address: "06:00.1" physical_network: "tenant"NovaPCIPassthroughの設定方法の詳細は、NovaPCIPassthrough設定のガイドライン を参照してください。KernelArgsパラメーターをvdpa_compute.yamlに追加して、各コンピュートノード BIOS で入出力メモリー管理ユニット (IOMMU) を有効にします。たとえば、Intel Corporation IOMMU を有効にするには、次のKernalArgs設定を使用します。parameter_defaults: ... ComputeVdpaParameters: ... KernelArgs: "intel_iommu=on iommu=pt"AMD IOMMU を有効にするには、
KernelArgsを"amd_iommu=on iommu=pt"に設定します。注記KernelArgsパラメーターをロールの設定に初めて追加すると、オーバークラウドのデプロイメント中にオーバークラウドノードが自動的に再起動します。必要に応じて、ノードの自動再起動を無効にし、代わりに各オーバークラウドのデプロイ後にノードの再起動を手動で実行できます。詳細は、KernelArgsを定義するための手動でのノード再起動の設定 を参照してください。ネットワーク環境ファイルを開き、次の設定を追加して物理ネットワークを定義します。
parameter_defaults: ... NeutronBridgeMappings: - <bridge_map_1> - <bridge_map_n> NeutronTunnelTypes: '<tunnel_types>' NeutronNetworkType: '<network_types>' NeutronNetworkVLANRanges: - <network_vlan_range_1> - <network_vlan_range_n>-
<bridge_map_1>、および<bridge_map_n>までのすべてのブリッジマッピングを、VDPA ブリッジに使用する論理から物理へのブリッジマッピングに置き換えます。たとえば、tenant:br-tenantです。 -
<tunnel_types>を、プロジェクトネットワークのトンネルタイプのコンマ区切りリストに置き換えます。たとえば、geneveです。 -
<network_types>を Networking サービス (neutron) のプロジェクトネットワークタイプのコンマ区切りリストに置き換えます。利用可能なネットワークがすべてなくなるまで、最初に指定した種別が使用されます。その後、次の種別が使用されます。たとえば、geneve,vlanです。 -
<network_vlan_range_1>、および<network_vlan_range_n>までのすべての物理ネットワークと VLAN 範囲を、サポートする ML2 および OVN VLAN マッピング範囲に置き換えます。たとえば、datacentre:1:1000、tenant:100:299。
-
その他の環境ファイルと共にこれらのカスタム環境ファイルをスタックに追加して、オーバークラウドをデプロイします。
(undercloud)$ openstack overcloud deploy --templates \ -e [your environment files] \ -r /home/stack/templates/roles_data_vdpa.yaml \ -e /home/stack/templates/network-environment.yaml \ -e /home/stack/templates/vdpa_compute.yaml \ -e /home/stack/templates/overcloud-baremetal-deployed.yaml \ -e /home/stack/templates/node-info.yaml
検証
- VDPA デバイスでインスタンスを作成します。詳細は、インスタンスの作成と管理 ガイドの VDPA インターフェイスを使用したインスタンスの作成 を参照してください。
- クラウドユーザーとしてインスタンスにログインします。詳細は、インスタンスの作成と管理 ガイドの インスタンスへの接続 を参照してください。
インスタンスから VDPA デバイスにアクセスできることを確認します。
$ openstack port show vdpa-port