6.2. 配置 VDPA Compute 节点


要让您的云用户创建使用 VIRTIO 数据路径加速 (VDPA) 端口的实例,请配置具有 VDPA 设备的 Compute 节点。

流程

  1. 创建一个新的 Compute 环境文件,用于配置 VDPA Compute 节点,如 vdpa_compute.yaml
  2. PciPassthroughFilterNUMATopologyFilter 添加到 vdpa_compute.yaml 中的 NovaSchedulerDefaultFilters 参数中:

    parameter_defaults:
      NovaSchedulerDefaultFilters: ['AvailabilityZoneFilter','ComputeFilter','ComputeCapabilitiesFilter','ImagePropertiesFilter','ServerGroupAntiAffinityFilter','ServerGroupAffinityFilter','PciPassthroughFilter','NUMATopologyFilter']
  3. NovaPCIPassthrough 参数添加到 vdpa_compute.yaml,以指定 Compute 节点上的 VDPA 设备的可用 PCI。例如,要将 NVIDIA® ConnectX®-6 Dx 设备添加到可用于透传到实例的 PCI 设备池中,请将以下配置添加到 vdpa_compute.yaml 中:

    parameter_defaults:
      ...
      ComputeVdpaParameters:
        NovaPCIPassthrough:
        - vendor_id: "15b3"
          product_id: "101d"
          address: "06:00.0"
          physical_network: "tenant"
        - vendor_id: "15b3"
          product_id: "101d"
          address: "06:00.1"
          physical_network: "tenant"

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

  4. 通过将 KernelArgs 参数添加到 vdpa_compute.yaml,在每个 Compute 节点 BIOS 中启用 input-output 内存管理单元 (IOMMU)。例如,使用以下 KernalArgs 设置来启用 Intel 公司 IOMMU:

    parameter_defaults:
      ...
      ComputeVdpaParameters:
        ...
        KernelArgs: "intel_iommu=on iommu=pt"

    要启用 AMD IOMMU,请将 KernelArgs 设置为 "amd_iommu=on iommu=pt "。

    注意

    第一次将 KernelArgs 参数添加到角色的配置中时,overcloud 节点会在 overcloud 部署期间自动重新引导。如果需要,您可以禁用节点自动重启,而是在每次 overcloud 部署后手动执行节点重新引导。如需更多信息,请参阅配置手动节点重新引导以定义 KernelArgs

  5. 打开网络环境文件,并添加以下配置来定义物理网络:

    parameter_defaults:
      ...
      NeutronBridgeMappings:
      - <bridge_map_1>
      - <bridge_map_n>
      NeutronTunnelTypes: '<tunnel_types>'
      NeutronNetworkType: '<network_types>'
      NeutronNetworkVLANRanges:
      - <network_vlan_range_1>
      - <network_vlan_range_n>
    • <bridge_map_1> 以及所有网桥映射(直到 <bridge_map_n>)替换为您要用于 VDPA 网桥的逻辑网桥映射。例如,tenant:br-tenant.
    • <tunnel_types> 替换为项目网络的隧道类型的逗号分隔列表。例如,geneve
    • <network_types> 替换为 Networking 服务 (neutron) 的项目网络类型的逗号分隔列表。在所有可用网络用尽前,系统会使用您指定的第一种类型,然后会使用下一个类型。例如,geneve,vlan
    • <network_vlan_range_1>,所有物理网络和 VLAN 范围(直到 <network_vlan_range_n>) 替换为您要支持的 ML2 和 OVN VLAN 映射范围。例如,datacentre:1:1000,tenant:100:299
  6. 打开您的网络接口模板,并添加以下配置,将 VDPA 支持的网络接口指定为 OVN 网桥的成员:

    - type: ovn_bridge
      name: br-tenant
      members:
        - type: sriov_pf
          name: enp6s0f0
          numvfs: 8
          use_dhcp: false
          vdpa: true
          link_mode: switchdev
        - type: sriov_pf
          name: enp6s0f1
          numvfs: 8
          use_dhcp: false
          vdpa: true
          link_mode: switchdev
  7. 使用其他环境文件将自定义环境文件添加到堆栈中,并部署 overcloud:

    (undercloud)$ openstack overcloud deploy --templates \
      -e [your environment files] \
      -r /home/stack/templates/roles_data_vdpa.yaml \
      -e /home/stack/templates/network-environment.yaml \
      -e /home/stack/templates/vdpa_compute.yaml \
      -e /home/stack/templates/overcloud-baremetal-deployed.yaml \
      -e /home/stack/templates/node-info.yaml

验证

  1. 使用 VDPA 设备创建实例。如需更多信息,请参阅创建和管理实例指南中的创建使用 VDPA 接口的实例
  2. 以云用户身份登录实例。如需更多信息,请参阅创建和管理实例指南中的连接到实例
  3. 验证 VDPA 设备是否可从实例访问:

    $ openstack port show vdpa-port
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2026 Red Hat
返回顶部