10.2. 配置 OVS-DPDK 参数


重要

您必须确定 network-environment.yaml 文件中设置的 OVS-DPDK 参数的最佳值,以优化 OVS-DPDK 的 OpenStack 网络。有关详细信息,请参阅 网络功能虚拟化规划和配置

  1. 将 OVS-DPDK 的自定义资源添加到 resource_registry 下:

      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
    Copy to Clipboard Toggle word wrap
  2. parameter_defaults 下,将隧道类型和网络类型设置为 vxlan

    NeutronTunnelTypes: 'vxlan'
    NeutronNetworkType: 'vxlan'
    Copy to Clipboard Toggle word wrap
  3. parameters_defaults 下,设置网桥映射:

    # The OVS logical->physical bridge mappings to use.
    NeutronBridgeMappings:
      - dpdk-mgmt:br-link0
    Copy to Clipboard Toggle word wrap
  4. 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"
        NovaVcpuPinSet: ['4-19,24-39']
        NovaReservedHostMemory: 2048
        OvsDpdkSocketMemory: "3072,1024"
        OvsDpdkMemoryChannels: "4"
        OvsDpdkCoreList: "0,20,1,21"
        OvsPmdCoreList: "2,22,3,23"
        NovaLibvirtRxQueueSize: 1024
        NovaLibvirtTxQueueSize: 1024
    Copy to Clipboard Toggle word wrap
    注意

    要防止创建客户机期间失败,请在每个 NUMA 节点上至少分配一个具有同级线程的 CPU。在示例中,OvsPmdCoreList 参数的值代表来自 NUMA 0 的核心 2 和 22,以及来自 NUMA 1 的核心 3 和 23。

    注意

    巨页由虚拟机消耗,以及使用 OvsDpdkSocketMemory 参数的 OVS-DPDK。要计算虚拟机的巨页数量,请从 boot 参数值中减去 OvsDpdkSocketMemory 值。您还必须将 hw:mem_page_size=1GB 添加到与 DPDK 实例关联的类别中。

    注意

    OvsDPDKCoreListOvsDpdkMemoryChannels 是必需的,必须正确设置才能防止失败。

  5. 为 SR-IOV 配置特定于角色的参数:

      ##########################
      #  SR-IOV configuration  #
      ##########################
      NeutronMechanismDrivers: ['openvswitch','sriovnicswitch']
      NovaSchedulerDefaultFilters: ['RetryFilter','AvailabilityZoneFilter','RamFilter','ComputeFilter','ComputeCapabilitiesFilter','ImagePropertiesFilter','ServerGroupAntiAffinityFilter','ServerGroupAffinityFilter','PciPassthroughFilter','NUMATopologyFilter']
      NovaSchedulerAvailableFilters: ["nova.scheduler.filters.all_filters","nova.scheduler.filters.pci_passthrough_filter.PciPassthroughFilter"]
      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"
    Copy to Clipboard Toggle word wrap
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat