12.2. 配置 OVS-DPDK 参数
您必须确定您在 network-environment.yaml 文件中设置的 OVS-DPDK 参数的最佳值,以便为 OVS-DPDK 优化 OpenStack 网络。如需了解更多详细信息,请参阅使用工作流处理 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.yaml在
parameter_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 节点上分配一个具有同级线程的 CPU。在示例中,OvsPmd
CoreList参数的值表示来自 NUMA 0 的内核 2 和 22,以及 NUMA 1 中的内核 3 和 23,以及来自 NUMA 1 的核心 3 和 23。注意这些巨页由虚拟机消耗,也由 OVS-DPDK 使用
OvsDpdkSocketMemory参数,如此过程所示。可用于虚拟机的巨页数量是引导参数减去OvsDpdkSocketMemory。您还必须将
hw:mem_page_size=1GB添加到与 DPDK 实例关联的类别中。注意OvsDpdkMemoryChannels是此流程所需的设置。对于 optimum 操作,请确保使用适当的参数和值部署 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"