9.6. 配置 OVS PMD Auto Load Balance


重要

该功能在此发行版本中作为技术预览提供,因此不享有红帽的全面支持。它只应用于测试,不应部署在生产环境中。有关技术预览功能的更多信息,请参阅覆盖范围详细信息

您可以使用 Open vSwitch(OVS)轮询模式驱动程序(PMD)线程对用户空间上下文切换执行以下任务:

  • 为数据包持续轮询输入端口。
  • 对接收的数据包分类。
  • 在分类后对数据包执行操作。

通过编辑 baremetal 节点预置备和 overcloud 部署的参数,将 RHOSP 部署配置为自动负载平衡 OVS PMD 线程。您必须在节点预置备和 overcloud 部署过程中配置该功能。

流程

  1. baremetal_deployment.yaml 文件或自定义文件中,设置以下 baremetal 节点预置备参数:

    pmd_auto_lb
    设置为 true 以启用 PMD 自动负载平衡。
    pmd_load_threshold
    在触发 PMD 负载均衡前,其中一个 PMD 线程必须使用的处理周期百分比。整数,范围 0-100。
    pmd_improvement_threshold

    在触发 PMD 自动负载平衡的非隔离 PMD 线程中评估改进的最小百分比。整数,范围 0-100。

    为计算预计改进,完成重新分配的空运行,与当前的差异相比估计的负载差异。默认为 25%。

    pmd_rebal_interval

    连续两个 PMD Auto Load Balance 操作之间的最短时间(以分钟为单位)。范围 0-20,000 分钟。

    配置此值,以防止在流量模式可改变时触发频繁重新分配。例如,您可以每 10 分钟触发一次重新分配,或者每几分钟后触发一次。

    示例

    ansible_playbooks:- playbook: /usr/share/ansible/tripleo-playbooks/cli-overcloud-openvswitch-dpdk.yaml
      extra_vars:pmd_auto_lb: true
       pmd_load_threshold: "70"
       pmd_improvement_threshold: "25"
       pmd_rebal_interval: "2"

  2. openstack overcloud node provision 命令中包含 baremetal 部署文件,如下例所示:

    示例

     openstack overcloud node provision \
        --stack overcloud \
        --network-config \
        --templates /usr/share/openstack-tripleo-heat-templates \
        --output ~/templates/overcloud-baremetal-deployed.yaml   \
        home/stack/$OSP17REF/network/baremetal_deployment.yaml

  3. dpdk-config.yaml 或自定义文件中,设置以下 overcloud 部署参数:

    OvsPmdAutoLb

    等同于 pmd_auto_lb 的 Heat。

    设置为 true 以启用 PMD 自动负载平衡。

    OvsPmdLoadThreshold

    等同于 pmd_load_threshold 的 Heat。

    在触发 PMD 负载均衡前,其中一个 PMD 线程必须使用的处理周期百分比。整数,范围 0-100。

    OvsPmdImprovementThreshold

    等同于 pmd_improvement_threshold 的 Heat。

    在触发 PMD 自动负载平衡的非隔离 PMD 线程中评估改进的最小百分比。整数,范围 0-100。

    为计算预计改进,完成重新分配的空运行,与当前的差异相比估计的负载差异。默认为 25%。

    OvsPmdRebalInterval

    等同于 pmd_rebal_interval 的 Heat。

    连续两个 PMD Auto Load Balance 操作之间的最短时间(以分钟为单位)。范围 0-20,000 分钟。

    配置此值,以防止在流量模式可改变时触发频繁重新分配。例如,您可以每 10 分钟触发一次重新分配,或者每几分钟后触发一次。

    示例

    parameter_merge_strategies:
      ComputeOvsDpdkSriovParameters:merge
    …
    parameter_defaults:
      ComputeOvsDpdkSriovParameters:OvsPmdAutoLb: true
       OvsPmdLoadThreshold: 70
       OvsPmdImprovementThreshold: 25
       OvsPmdRebalInterval: 2

  4. 使用其他环境文件将 dpdk-config.yaml 或您的 dpdk 配置文件添加到堆栈中,并部署 overcloud:

    示例

    (undercloud)$ openstack overcloud deploy --templates \
    -e <your_environment_files> \
    -e /home/stack/templates/dpdk-config.yaml

Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2026 Red Hat
返回顶部