6.2. SR-IOV の設定
以下に示す CPU 割り当て、メモリーの確保、および NIC の設定は一例であり、実際のユースケースとは異なる場合があります。
NeutronSriovAgent
、NeutronSriovHostConfig
、およびデフォルトの Compute サービスを実行する OpenStack クラスターのノードを定義するために、ビルトインのComputeSriov
ロールを生成します。# openstack overcloud roles generate \ -o /home/stack/templates/roles_data.yaml \ Controller ComputeSriov
SR-IOV コンテナーを準備するには、
overcloud_images.yaml
ファイルを生成する際にneutron-sriov.yaml
およびroles_data.yaml
ファイルを含めます。sudo openstack tripleo container image prepare \ --roles-file ~/templates/roles_data.yaml \ -e /usr/share/openstack-tripleo-heat-templates/environments/services/neutron-sriov.yaml \ -e ~/containers-prepare-parameter.yaml \ --output-env-file=/home/stack/templates/overcloud_images.yaml
コンテナーイメージの準備に関する詳細な情報は、『 director のインストールと使用方法』 を参照してください。
実際のクラスターおよびハードウェア構成に合わせて、
parameter_defaults
セクションで SR-IOV ノードのパラメーターを適切に設定します。通常、以下の設定をnetwork-environment.yaml
ファイルに追加します。NeutronNetworkType: 'vlan' NeutronNetworkVLANRanges: - tenant:22:22 - tenant:25:25 NeutronTunnelTypes: ''
同じファイルで、SR-IOV コンピュートノードのロール固有のパラメーターを設定します。
注記numvfs
パラメーターは、ネットワーク設定テンプレートのNeutronSriovNumVFs
パラメーターに代わるものです。Red Hat では、デプロイ後のNeutronSriovNumVFs
パラメーターまたはnumvfs
パラメーターの変更をサポートしません。デプロイ後にいずれかのパラメーターを変更すると、その Physical Function (PF) 上に SR-IOV ポートを持つ実行中のインスタンスが使用できなくなる可能性があります。この場合、これらのインスタンスをハードリブートして、SR-IOV PCI デバイスを再び利用可能にする必要があります。NovaVcpuPinSet
パラメーターは非推奨となり、専用の固定されたワークフロー用のNovaComputeCpuDedicatedSet
に置き換えられています。ComputeSriovParameters: IsolCpusList: "1-19,21-39" KernelArgs: "default_hugepagesz=1GB hugepagesz=1G hugepages=32 iommu=pt intel_iommu=on isolcpus=1-19,21-39" TunedProfileName: "cpu-partitioning" NeutronBridgeMappings: - tenant:br-link0 NeutronPhysicalDevMappings: - tenant:p7p1 - tenant:p7p2 NovaPCIPassthrough: - devname: "p7p1" physical_network: "tenant" - devname: "p7p2" physical_network: "tenant" NovaComputeCpuDedicatedSet: '1-19,21-39' NovaReservedHostMemory: 4096
compute.yaml
ネットワーク設定テンプレートで、SR-IOV が有効なインターフェースを設定します。SR-IOV Virtual Function (VF) を作成するには、インターフェースをスタンドアロンの NIC として設定します。- type: sriov_pf name: p7p3 mtu: 9000 numvfs: 10 use_dhcp: false defroute: false nm_controlled: true hotplug: true promisc: false - type: sriov_pf name: p7p4 mtu: 9000 numvfs: 10 use_dhcp: false defroute: false nm_controlled: true hotplug: true promisc: false
デフォルトフィルターの一覧に、値
AggregateInstanceExtraSpecsFilter
が含まれる状態にします。NovaSchedulerDefaultFilters: ['AvailabilityZoneFilter','ComputeFilter','ComputeCapabilitiesFilter','ImagePropertiesFilter','ServerGroupAntiAffinityFilter','ServerGroupAffinityFilter','PciPassthroughFilter','AggregateInstanceExtraSpecsFilter']
-
overcloud_deploy.sh
スクリプトを実行します。