6.4. 配置 OVS 硬件卸载
OVS 硬件卸载配置的步骤共享许多与配置 SR-IOV 相同的步骤。
流程
根据 Compute 角色,为 OVS 硬件卸载生成 overcloud 角色:
openstack overcloud roles generate -o roles_data.yaml Controller Compute:ComputeOvsHwOffload
-
可选:更改
HostnameFormatDefault: '%stackname%-compute-%index%'名称作为ComputeOvsHwOffload角色。 -
将
OvsHwOffload参数添加到特定于角色的参数下,值为true。 -
要将 neutron 配置为使用 iptables/hybrid 防火墙驱动程序实现,请包括:
NeutronOVSFirewallDriver: iptables_hybrid。有关NeutronOVSFirewallDriver的更多信息,请参阅高级 Overcloud 自定义指南中的 使用 Open vSwitch 防火墙。 配置
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-
将
<vendor-id> 替换为物理 NIC 的供应商 ID。 -
将
<product-id> 替换为 NIC VF 的产品 ID。 将
<address> 替换为物理 NIC 的地址。有关如何配置
NovaPCIPassthrough的更多信息,请参阅有关 配置NovaPCIPassthrough的指南。
-
对于 VLAN,请在部署后将
确保默认过滤器列表包含
NUMATopologyFilter:NovaSchedulerDefaultFilters: [\'AvailabilityZoneFilter',\'ComputeFilter',\'ComputeCapabilitiesFilter',\'ImagePropertiesFilter',\'ServerGroupAntiAffinityFilter',\'ServerGroupAffinityFilter',\'PciPassthroughFilter',\'NUMATopologyFilter']
在
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注意-
在配置 Open vSwitch 硬件卸载时,不要使用
NeutronSriovNumVFs参数。虚拟功能的数量使用os-net-config使用的网络配置文件中的numvfs参数指定。红帽不支持在更新或重新部署过程中修改numvfs设置。 -
不要将 Mellanox 网络接口配置为 nic-config 接口类型
ovs-vlan,因为这会阻止 VXLAN 等隧道端点会因为驱动程序限制而传递流量。
-
在配置 Open vSwitch 硬件卸载时,不要使用
在
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 enable
验证 OVS 中是否启用了卸载:
# ovs-vsctl get Open_vSwitch . other_config:hw-offload “true”