8.2. 为 OVS TC-flower 硬件卸载配置 PCI 透传设备
为 OVS TC-flower 硬件卸载环境部署 Red Hat OpenStack Platform 时,您必须在自定义环境文件中为计算节点配置 PCI 透传设备。
先决条件
- 访问包含 PCI 卡的一个或多个物理服务器。
-
访问
stack
用户的 undercloud 主机和凭据。
流程
在包含 PCI 卡的物理服务器上使用以下命令之一:
如果部署了 overcloud:
$ lspci -nn -s <pci_device_address>
输出示例
3b:00.0 Ethernet controller [0200]: Intel Corporation Ethernet Controller X710 for 10GbE SFP+ [<vendor_id>: <product_id>] (rev 02)
如果您的 overcloud 尚未部署:
$ openstack baremetal introspection data save <baremetal_node_name> | jq '.inventory.interfaces[] | .name, .vendor, .product'
- 注意 ComputeOvsHwOffload 节点上的 PCI 透传设备的厂商和产品 ID。后续步骤中您将需要这些 ID。
-
以
stack
用户的身份登录 undercloud。 Source
stackrc
文件:$ source ~/stackrc
创建自定义环境 YAML 文件,例如
ovshwol-overrides.yaml
。通过在文件中添加以下内容,为计算节点配置 PCI 透传设备:parameter_defaults: NeutronOVSFirewallDriver: iptables_hybrid ComputeOvsHwOffloadParameters: 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 ...
注意如果您使用 Mellanox 智能 NIC,请在
ComputeOvsHwOffloadParameters
参数下添加DerivePciWhitelistEnabled: true
。在使用 OVS 硬件卸载时,计算服务(nova)调度程序与生成实例的 SR-IOV 透传类似。-
将
<vendor_id
> 替换为 PCI 设备的厂商 ID。 -
将
<product_id
> 替换为 PCI 设备的产品 ID。 -
将
<NIC_address
> 替换为 PCI 设备的地址。 -
使用 PCI 设备所在的物理网络的名称替换
<physical_network>
。 -
对于 VLAN,在部署后将
physical_network
参数设置为您在 neutron 中创建的网络的名称。这个值还应位于NeutronBridgeMappings
。 对于 VXLAN,将
physical_network
参数设置为null
。注意在配置 PCI 透传时不要使用
devname
参数,因为 NIC 的设备名称可以更改。要在 PF 上创建网络服务(neutron)端口,在NovaPCIPassthrough
中指定vendor_id
、product_id
和 PCI 设备地址,并使用--vnic-type direct-physical
选项创建端口。要在虚拟功能(VF)上创建网络服务端口,请在NovaPCIPassthrough
中指定vendor_id
和product_id
,并使用--vnic-type 直接
选项创建端口。vendor_id
和product_id
参数的值可能因物理功能(PF)和 VF 上下文而异。
-
将
在自定义环境文件中,确保
PciPassthroughFilter
和NUMATopologyFilter
位于NovaSchedulerEnabledFilters
参数的过滤器列表中。Compute 服务(nova)使用此参数来过滤节点:parameter_defaults: ... NovaSchedulerEnabledFilters: - AvailabilityZoneFilter - ComputeFilter - ComputeCapabilitiesFilter - ImagePropertiesFilter - ServerGroupAntiAffinityFilter - ServerGroupAffinityFilter - PciPassthroughFilter - NUMATopologyFilter - AggregateInstanceExtraSpecsFilter
注意可选:有关如何对带有 Mellanox ConnectX5 NIC 的 RHOSP 17.1 中的 OVS Hardware Offload 问题进行故障排除和配置 OVS Hardware Offload 的详情,请参阅 故障排除 Hardware Offload。
- 请注意您创建的自定义环境文件的路径和文件名。您稍后会在部署 overcloud 时使用此文件。