搜索

8.2. 为 OVS TC-flower 硬件卸载配置 PCI 透传设备

download PDF

为 OVS TC-flower 硬件卸载环境部署 Red Hat OpenStack Platform 时,您必须在自定义环境文件中为计算节点配置 PCI 透传设备。

先决条件

  • 访问包含 PCI 卡的一个或多个物理服务器。
  • 访问 stack 用户的 undercloud 主机和凭据。

流程

  1. 在包含 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'
  2. 注意 ComputeOvsHwOffload 节点上的 PCI 透传设备的厂商和产品 ID。后续步骤中您将需要这些 ID。
  3. stack 用户的身份登录 undercloud。
  4. Source stackrc 文件:

    $ source ~/stackrc
  5. 创建自定义环境 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_idproduct_id 和 PCI 设备地址,并使用 --vnic-type direct-physical 选项创建端口。要在虚拟功能(VF)上创建网络服务端口,请在 NovaPCIPassthrough 中指定 vendor_idproduct_id,并使用 --vnic-type 直接 选项创建端口。vendor_idproduct_id 参数的值可能因物理功能(PF)和 VF 上下文而异。

  6. 在自定义环境文件中,确保 PciPassthroughFilterNUMATopologyFilter 位于 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

  7. 请注意您创建的自定义环境文件的路径和文件名。您稍后会在部署 overcloud 时使用此文件。
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.