10.2. OVS-DPDK パラメーターの設定
OVS-DPDK 用の OpenStack ネットワークを最適化するには、network-environment.yaml ファイルに設定する OVS-DPDK パラメーターの最適な値を判断する必要があります。詳しくは、ワークフローを使用した DPDK パラメーターの算出 を参照してください。
resource_registryセクションに OVS-DPDK 用のカスタムリソースを追加します。resource_registry: # Specify the relative/absolute path to the config files you want to use for override the default. OS::TripleO::ComputeOvsDpdkSriov::Net::SoftwareConfig: nic-configs/computeovsdpdksriov.yaml OS::TripleO::Controller::Net::SoftwareConfig: nic-configs/controller.yamlparameter_defaultsセクションで、トンネル種別をvxlanに、ネットワーク種別をvxlan,vlanに、それぞれ設定します。NeutronTunnelTypes: 'vxlan' NeutronNetworkType: 'vxlan,vlan'
parameters_defaultsセクションで、ブリッジマッピングを設定します。# The OVS logical->physical bridge mappings to use. NeutronBridgeMappings: - dpdk-mgmt:br-link0
parameter_defaultsセクションで、ComputeOvsDpdkSriovロール向けにロール固有のパラメーターを設定します。########################## # OVS DPDK configuration # ########################## ComputeOvsDpdkSriovParameters: KernelArgs: "default_hugepagesz=1GB hugepagesz=1G hugepages=32 iommu=pt intel_iommu=on isolcpus=2-19,22-39" TunedProfileName: "cpu-partitioning" IsolCpusList: "2-19,22-39" NovaComputeCpuDedicatedSet: ['4-19,24-39'] NovaReservedHostMemory: 4096 OvsDpdkSocketMemory: "3072,1024" OvsDpdkMemoryChannels: "4" OvsPmdCoreList: "2,22,3,23" NovaComputeCpuSharedSet: [0,20,1,21] NovaLibvirtRxQueueSize: 1024 NovaLibvirtTxQueueSize: 1024注記ゲストの作成時にエラーが発生するのを防ぐためには、各 NUMA ノードで少なくとも 1 つの CPU を (シブリングスレッドと共に) 割り当てます。上記の例では、
OvsPmdCoreListパラメーターの値は NUMA 0 からのコア 2 および 22 ならびに NUMA 1 からのコア 3 および 23 です。注記本手順に示したとおり、これらのヒュージページは仮想マシンと、
OvsDpdkSocketMemoryパラメーターを使用する OVS-DPDK によって消費されます。仮想マシンが利用可能なヒュージページの数は、bootパラメーターからOvsDpdkSocketMemoryを減算した値です。DPDK インスタンスに関連付けるフレーバーに
hw:mem_page_size=1GBも追加する必要があります。注記OvsDpdkMemoryChannelsは、この手順に必須の設定です。最大限の機能を得るためには、適切なパラメーターおよび値で DPDK をデプロイするようにしてください。SR-IOV 向けにロール固有のパラメーターを設定します。
NovaPCIPassthrough: - vendor_id: "8086" product_id: "1528" address: "0000:06:00.0" trusted: "true" physical_network: "sriov-1" - vendor_id: "8086" product_id: "1528" address: "0000:06:00.1" trusted: "true" physical_network: "sriov-2"