6.4. 配置 OVS 硬件卸载


OVS 硬件卸载配置的步骤共享许多与配置 SR-IOV 相同的步骤。

流程

  1. 根据 Compute 角色,为 OVS 硬件卸载生成 overcloud 角色:

    openstack overcloud roles generate -o roles_data.yaml Controller Compute:ComputeOvsHwOffload
    Copy to Clipboard Toggle word wrap
  2. 可选:更改 HostnameFormatDefault: '%stackname%-compute-%index%' 名称作为 ComputeOvsHwOffload 角色。
  3. OvsHwOffload 参数添加到特定于角色的参数下,值为 true
  4. 要将 neutron 配置为使用 iptables/hybrid 防火墙驱动程序实现,请包括: NeutronOVSFirewallDriver: iptables_hybrid。有关 NeutronOVSFirewallDriver 的更多信息,请参阅高级 Overcloud 自定义指南中的 使用 Open vSwitch 防火墙
  5. 配置 physical_network 参数以匹配您的环境。

    • 对于 VLAN,请在部署后将 physical_network 参数设置为您在 neutron 中创建的网络名称。此值也应位于 NeutronBridgeMappings 中。
    • 对于 VXLAN,将 physical_network 参数设置为 null

      例如:

      parameter_defaults:
        NeutronOVSFirewallDriver: iptables_hybrid
        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
          NovaPCIPassthrough:
            - vendor_id: <vendor-id>
              product_id: <product-id>
              address: <address>
              physical_network: "tenant"
            - vendor_id: <vendor-id>
              product_id: <product-id>
              address: <address>
              physical_network: "null"
          NovaReservedHostMemory: 4096
          NovaComputeCpuDedicatedSet: 1-9,21-29,11-19,31-39
      Copy to Clipboard Toggle word wrap
    • <vendor-id > 替换为物理 NIC 的供应商 ID。
    • <product-id > 替换为 NIC VF 的产品 ID。
    • < address> 替换为物理 NIC 的地址。

      有关如何配置 NovaPCIPassthrough 的更多信息,请参阅有关 配置 NovaPCIPassthrough的指南

  6. 确保默认过滤器列表包含 NUMATopologyFilter

      NovaSchedulerDefaultFilters: [\'AvailabilityZoneFilter',\'ComputeFilter',\'ComputeCapabilitiesFilter',\'ImagePropertiesFilter',\'ServerGroupAntiAffinityFilter',\'ServerGroupAffinityFilter',\'PciPassthroughFilter',\'NUMATopologyFilter']
    Copy to Clipboard Toggle word wrap
  7. compute-sriov.yaml 配置文件中配置用于硬件卸载的一个或多个网络接口:

      - 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
    Copy to Clipboard Toggle word wrap
    注意
    • 在配置 Open vSwitch 硬件卸载时,不要使用 NeutronSriovNumVFs 参数。虚拟功能的数量使用 os-net-config 使用的网络配置文件中的 numvfs 参数指定。红帽不支持在更新或重新部署过程中修改 numvfs 设置。
    • 不要将 Mellanox 网络接口配置为 nic-config 接口类型 ovs-vlan,因为这会阻止 VXLAN 等隧道端点会因为驱动程序限制而传递流量。
  8. 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
    Copy to Clipboard Toggle word wrap

6.4.1. 验证 OVS 硬件卸载

  1. 确认 PCI 设备处于 switchdev 模式:

    # devlink dev eswitch show pci/0000:03:00.0
    pci/0000:03:00.0: mode switchdev inline-mode none encap enable
    Copy to Clipboard Toggle word wrap
  2. 验证 OVS 中是否启用了卸载:

    # ovs-vsctl get Open_vSwitch . other_config:hw-offload
    “true”
    Copy to Clipboard Toggle word wrap
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2025 Red Hat