6.4. OVS ハードウェアオフロードの設定
この機能は、本リリースでは テクノロジープレビュー として提供しているため、Red Hat では全面的にはサポートしていません。これは、テスト用途にのみご利用いただく機能で、実稼働環境にデプロイすべきではありません。テクノロジープレビュー機能についての詳しい情報は、「対象範囲の詳細」を参照してください。
OVS ハードウェアオフロードを設定する手順と SR-IOV を設定する手順は、多くの部分が共通です。
手順
ComputeSriovロールを作成します。openstack overcloud roles generate -o roles_data.yaml Controller ComputeSriovご自分の環境に合わせて、
physical_networkパラメーターを設定します。-
VLAN の場合には、
physical_networkパラメーターをデプロイメント後に neutron で作成するネットワークの名前に設定します。この値は、NeutronBridgeMappingsにも設定する必要があります。 -
VXLAN の場合には、
physical_networkパラメーターを文字列の値nullに設定します。 ロール固有のパラメーターセクションの
OvsHwOffloadパラメーターの値がtrueとなるようにします。以下に例を示します。
parameter_defaults: ComputeSriovParameters: 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 NeutronPhysicalDevMappings: - tenant:p7p1 - tenant:p7p2 NovaPCIPassthrough: - devname: "p7p1" physical_network: "null" - devname: "p7p2" physical_network: "null" NovaReservedHostMemory: 4096 NovaComputeCpuDedicatedSet: 1-9,21-29,11-19,31-39
-
VLAN の場合には、
デフォルトフィルターの一覧に
NUMATopologyFilterが含まれるようにします。NovaSchedulerDefaultFilters: [\'RetryFilter',\'AvailabilityZoneFilter',\'ComputeFilter',\'ComputeCapabilitiesFilter',\'ImagePropertiesFilter',\'ServerGroupAntiAffinityFilter',\'ServerGroupAffinityFilter',\'PciPassthroughFilter',\'NUMATopologyFilter']compute-sriov.yaml設定ファイルで、ハードウェアオフロードに使用するネットワークインターフェースを 1 つまたは複数設定します。注記Open vSwitch ハードウェアオフロードを設定する場合には、
NeutronSriovNumVFsパラメーターを使用しないでください。os-net-configで使用されるネットワーク設定ファイルのnumvfsパラメーターで、VF の数を指定します。- type: ovs_bridge name: br-tenant mtu: 9000 members: - type: sriov_pf name: p7p1 numvfs: 5 mtu: 9000 primary: true promisc: true use_dhcp: false link_mode: switchdev注記Mellanox ネットワークインターフェースの nic-config インターフェース種別を
ovs-vlanに設定しないでください。ドライバーの制約により、VXLAN 等のトンネルエンドポイントがトラフィックを渡さなくなるためです。overcloud deployコマンドにovs-hw-offload.yamlファイルを追加します。TEMPLATES_HOME=”/usr/share/openstack-tripleo-heat-templates” CUSTOM_TEMPLATES=”/home/stack/templates” openstack overcloud deploy --templates \ -r ${CUSTOM_TEMPLATES}/roles_data.yaml \ -e ${TEMPLATES_HOME}/environments/ovs-hw-offload.yaml \ -e ${CUSTOM_TEMPLATES}/network-environment.yaml \ -e ${CUSTOM_TEMPLATES}/neutron-ovs.yaml
6.4.1. OVS ハードウェアオフロードの確認 リンクのコピーリンクがクリップボードにコピーされました!
PCI デバイスが
switchdevモードにあることを確認します。# devlink dev eswitch show pci/0000:03:00.0 pci/0000:03:00.0: mode switchdev inline-mode none encap enableOVS でオフロードが有効かどうかを確認します。
# ovs-vsctl get Open_vSwitch . other_config:hw-offload “true”