8.6. 部署 OVS TC-flower 硬件卸载 overcloud


在 OVS TC-flower 硬件卸载环境中部署 Red Hat OpenStack Platform (RHOSP) overcloud 的最后一步是运行 openstack overcloud deploy 命令。命令的输入包括您构建的所有 overcloud 模板和环境文件。

先决条件

  • 访问 stack 用户的 undercloud 主机和凭据。
  • 在包含 NIC 的主机上访问 sudo。
  • 您已执行了本节前面流程中列出的所有步骤,并编译了所有各种 heat 模板和环境文件,以用作 overcloud deploy 命令的输入。

流程

  1. stack 用户身份登录 undercloud 主机。
  2. 查找 stackrc undercloud 凭证文件:

    $ source ~/stackrc
    Copy to Clipboard Toggle word wrap
  3. 输入 openstack overcloud deploy 命令。

    以特定顺序列出 openstack overcloud deploy 命令的输入非常重要。常规规则是首先指定默认的 heat 模板文件,后跟包含自定义配置的自定义环境文件和自定义模板,如覆盖默认属性。

    按照以下顺序将输入添加到 openstack overcloud deploy 命令中:

    1. 包含 overcloud 上 SR-IOV 网络规格的自定义网络定义文件,如 network-data.yaml

      如需更多信息,请参阅使用 director 安装和管理 Red Hat OpenStack Platform 指南中的 网络定义文件配置选项

    2. 包含 RHOSP director 用来部署 OVS 硬件卸载环境的 ControllerComputeOvsHwOffload 角色的角色文件。

      示例: roles_data_compute_ovshwol.yaml

      如需更多信息,请参阅 第 8.1 节 “为 OVS TC-flower 硬件卸载生成角色和镜像文件”

    3. 来自置备 overcloud 网络的输出文件。

      示例: overcloud-networks-deployed.yaml

      如需更多信息,请参阅使用 director 安装和管理 Red Hat OpenStack Platform 指南中的配置和管理 overcloud 网络定义

    4. 来自置备 overcloud VIP 的输出文件。

      示例: overcloud-vip-deployed.yaml

      如需更多信息,请参阅 安装和管理 Red Hat OpenStack Platform 指南中的 为 overcloud 配置和置备网络 VIP

    5. 置备裸机节点的输出文件。

      示例: overcloud-baremetal-deployed.yaml

      有关更多信息,请参阅使用 director 安装和管理 Red Hat OpenStack Platform 指南中的 为 overcloud 置备裸机节点

    6. director 用来确定获取容器镜像的位置以及如何存储它们的镜像文件。

      示例: overcloud_images.yaml

      如需更多信息,请参阅 第 8.1 节 “为 OVS TC-flower 硬件卸载生成角色和镜像文件”

    7. 您的环境使用的网络服务(neutron)机制驱动程序和路由器方案的环境文件:

      • ML2/OVN

        • 分布式虚拟路由(DVR): neutron-ovn-dvr-ha.yaml
        • 集中式虚拟路由: neutron-ovn-ha.yaml
      • ML2/OVS

        • 分布式虚拟路由(DVR): neutron-ovs-dvr.yaml
        • 集中式虚拟路由: neutron-ovs.yaml
    8. SR-IOV 的环境文件,具体取决于您的机制驱动程序:

      • ML2/OVN

        • neutron-ovn-sriov.yaml
      • ML2/OVS

        • neutron-sriov.yaml

          注意

          如果您也有一个 OVS-DPDK 环境,并希望在同一节点上找到 OVS-DPDK 和 SR-IOV 实例,请在部署脚本中包含以下环境文件:

          • ML2/OVN

            neutron-ovn-dpdk.yaml

          • ML2/OVS

            neutron-ovs-dpdk.yaml

    9. 一个或多个包含您的配置的自定义环境文件:

      • ComputeOvsHwOffload 节点的 PCI 透传设备。
      • ComputeOvsHwOffload 节点的特定于角色的参数
      • 覆盖 OVS 硬件卸载环境的默认配置值。

        示例: ovshwol-overrides.yaml

        如需更多信息,请参阅:

      • 第 8.2 节 “为 OVS TC-flower 硬件卸载配置 PCI 透传设备”.
      • 第 8.3 节 “为 OVS TC-flower 硬件卸载添加特定于角色的参数和配置覆盖”.

        示例

        示例 openstack overcloud deploy 命令摘录演示了使用 DVR 的 SR-IOV ML2/OVN 环境正确排序命令输入:

        $ openstack overcloud deploy \
        --log-file overcloud_deployment.log \
        --templates /usr/share/openstack-tripleo-heat-templates/ \
        --stack overcloud \
        [ -n /home/stack/templates/network_data.yaml \ ] 
        1
        
        [ -r /home/stack/templates/roles_data_compute_ovshwol.yaml \ ] 
        2
        
        -e /home/stack/templates/overcloud-networks-deployed.yaml \
        -e /home/stack/templates/overcloud-vip-deployed.yaml \
        -e /home/stack/templates/overcloud-baremetal-deployed.yaml \
        -e /home/stack/templates/overcloud-images.yaml \
        -e /usr/share/openstack-tripleo-heat-templates/environments/services/\
        neutron-ovn-dvr-ha.yaml
        -e /usr/share/openstack-tripleo-heat-templates/environments/services/\
        neutron-ovn-sriov.yaml \
        -e /home/stack/templates/ovshwol-overrides.yaml
        Copy to Clipboard Toggle word wrap
        1
        指定自定义网络配置。使用网络隔离或自定义可组合网络时需要此项。
        2
        如果使用自定义角色或要启用多架构云,请包含生成的角色数据。
  4. 运行 openstack overcloud deploy 命令。

    完成 overcloud 创建后,RHOSP director 会提供帮助您访问 overcloud 的详细信息。

验证

  • 使用 director 安装和管理 Red Hat OpenStack Platform 指南中的执行验证 overcloud 部署 中的步骤。

后续步骤

  1. 确保 NIC 的 e-switch 模式设置为 switchdev

    switchdev 模式建立映射到 VF 的 NIC 上的端口。

    重要

    您必须在 switchdev 端口上启用安全组和端口安全性,以便连接跟踪(conntrack)模块将 OpenFlow 流卸载到硬件。

    1. 运行以下命令检查 NIC:

      示例

      在本例中,会查询 NIC pci/0000:03:00.0

      $ sudo devlink dev eswitch show pci/0000:03:00.0
      Copy to Clipboard Toggle word wrap

      输出示例

      您应该看到类似如下的输出:

      pci/0000:03:00.0: mode switchdev inline-mode none encap enable
      Copy to Clipboard Toggle word wrap
    2. 要将 NIC 设置为 switchdev 模式,请运行以下命令:

      示例

      在本例中,NIC pci/0000:03:00.0 的 e-switch 模式被设置为 switchdev

      $ sudo devlink dev eswitch set pci/0000:03:00.0 mode switchdev
      Copy to Clipboard Toggle word wrap
  2. 要从 switchdev-enabled NIC 分配端口,请执行以下操作:

    1. 以具有 admin 角色的 RHOSP 用户身份登录,并使用 binding-profile的功能 创建 neutron 端口,并禁用端口安全性:

      重要

      您必须在 switchdev 端口上启用安全组和端口安全性,以便连接跟踪(conntrack)模块将 OpenFlow 流卸载到硬件。

      $ openstack port create --network private --vnic-type=direct --binding-profile '{"capabilities": ["switchdev"]}' direct_port1 --disable-port-security
      Copy to Clipboard Toggle word wrap
    2. 在创建实例时传递此端口信息。

      您可以将代表器端口与实例 VF 接口关联,并将代表器端口连接到 OVS 网桥 br-int,以进行一次性 OVS 数据路径处理。VF 端口代表程序功能,如物理"patch 面板"前端的软件版本。

      有关创建新实例的更多信息,请参阅 第 8.8 节 “在 SR-IOV 或 OVS TC-flower 硬件卸载环境中创建实例”

  3. 在接口和代表端口上应用以下配置,以确保 TC 流程序在端口级别推送流编程:

     $ sudo ethtool -K <device-name> hw-tc-offload on
    Copy to Clipboard Toggle word wrap
  4. 调整每个网络接口的频道数以提高性能。

    频道包括中断请求(IRQ)以及触发 IRQ 的队列集合。当您将 mlx5_core 驱动程序设置为 switchdev 模式时,mlx5_core 驱动程序默认为一个组合频道,它可能无法提供最佳性能。

    在物理功能(PF)代表器上,输入以下命令调整主机可用的 CPU 数量。

    示例

    在这个示例中,网络接口中的多用途频道数量被设置为 3eno3s0f0:

    $ sudo ethtool -L enp3s0f0 combined 3
    Copy to Clipboard Toggle word wrap
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2026 Red Hat