10.5. 创建裸机节点定义文件


使用 Red Hat OpenStack Platform (RHOSP) director,您可以使用定义文件为 OVS-DPDK 环境置备裸机节点。在裸机节点定义文件中,定义您要部署并分配 overcloud 角色的裸机节点的数量和属性。另外,也定义节点的网络布局。

先决条件

  • 访问 stack 用户的 undercloud 主机和凭据。

流程

  1. stack 用户的身份登录 undercloud。
  2. Source stackrc 文件:

    $ source ~/stackrc
  3. 按照 使用 director 的 Red Hat OpenStack Platform 置备裸机节点指南中所述,创建裸机节点定义文件,如 overcloud -baremetal-deploy.yaml
  4. overcloud-baremetal-deploy.yaml 文件中,向 Ansible playbook 添加声明 cli-overcloud-node-kernelargs.yaml。playbook 包含在置备裸机节点时要使用的内核参数。

    - name: ComputeOvsDpdk
    ...
      ansible_playbooks:
        - playbook: /usr/share/ansible/tripleo-playbooks/cli-overcloud-node-kernelargs.yaml
    ...
  5. 如果要在运行 playbook 时设置任何额外的 Ansible 变量,请使用 extra_vars 属性来设置它们。

    如需更多信息,请参阅使用 director 安装和管理 Red Hat OpenStack Platform 指南中的 裸机节点置备属性

    注意

    您添加到 extra_vars 的变量应当是之前添加到 OVS-DPDK 自定义的环境文件中的 OVS-DPDK Compute 节点的特定于角色的参数。

    示例

    - name: ComputeOvsDpdk
      ...
      ansible_playbooks:
      - playbook: /usr/share/ansible/tripleo-playbooks/cli-overcloud-node-kernelargs.yaml
        extra_vars:
          kernel_args: 'default_hugepagesz=1GB hugepagesz=1GB hugepages=64 iommu=pt intel_iommu=on isolcpus=2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32,34,36,38,3,5,7,9,11,13,15,17,19,21,23,25,27,29,31,33,35,37,39'
          tuned_isolated_cores: '2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32,34,36,38,3,5,7,9,11,13,15,17,19,21,23,25,27,29,31,33,35,37,39'
          tuned_profile: 'cpu-partitioning'
          reboot_wait_timeout: 1800
      - playbook: /usr/share/ansible/tripleo-playbooks/cli-overcloud-openvswitch-dpdk.yaml
        extra_vars:
          pmd: '2,22,3,23'
          memory_channels: '4'
          socket_mem: '4096,4096'
          pmd_auto_lb: true
          pmd_load_threshold: "70"
          pmd_improvement_threshold: "25"
          pmd_rebal_interval: "2"

  6. 如果您在 NVIDIA Mellanox 卡上使用 NIC 分区,为了避免 VF 连接问题,请设置 Ansible 变量 dpdk_extra: '-a 0000:00:00.0',这会导致允许 PCI 地址列表不允许地址:

    示例

    - name: ComputeOvsDpdk
      ansible_playbooks:
        - playbook: /usr/share/ansible/tripleo-playbooks/cli-overcloud-node-kernelargs.yaml
          extra_vars:
            reboot_wait_timeout: 600
            kernel_args: default_hugepagesz=1GB hugepagesz=1G hugepages=32 iommu=pt intel_iommu=on isolcpus=1-11,13-23
            tuned_profile: cpu-partitioning
            tuned_isolated_cores: 1-11,13-23
        - playbook: /usr/share/ansible/tripleo-playbooks/cli-overcloud-openvswitch-dpdk.yaml
          extra_vars:
            memory_channels: 4
            lcore: 0,12
            pmd: 1,13,2,14,3,15
            socket_mem: 4096
            dpdk_extra: -a 0000:00:00.0
            disable_emc: false
            enable_tso: false
            revalidator: ' handler: '
            pmd_auto_lb: false
            pmd_load_threshold: ' pmd_improvement_threshold: '
            pmd_rebal_interval: ''
            nova_postcopy: true

  7. 可选: 您可以使用 TuneD 配置集 cpu-partitioning-powersave,将 OVS-DPDK 配置为在没有转发数据包时进入睡眠模式。

    要配置 cpu-partitioning-powersave,请在裸机节点定义文件中添加以下行:

    ...
    
    tuned_profile: "cpu-partitioning-powersave"
    
    ...
    
      - playbook: /home/stack/ospd-17.1-geneve-ovn-dpdk-sriov-ctlplane-dataplane-bonding-hybrid/playbooks/cli-overcloud-tuned-maxpower-conf.yaml
      - playbook: /home/stack/ospd-17.1-geneve-ovn-dpdk-sriov-ctlplane-dataplane-bonding-hybrid/playbooks/overcloud-nm-config.yaml
        extra_vars:
          reboot_wait_timeout: 900
    
    ...
    
          pmd_sleep_max: "50"
    
    ...

    示例

    - name: ComputeOvsDpdk
      ...
      ansible_playbooks:
      - playbook: /usr/share/ansible/tripleo-playbooks/cli-overcloud-node-kernelargs.yaml
        extra_vars:
          kernel_args: default_hugepagesz=1GB hugepagesz=1GB hugepages=64 iommu=pt intel_iommu=on isolcpus=2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32,34,36,38,3,5,7,9,11,13,15,17,19,21,23,25,27,29,31,33,35,37,39
          tuned_isolated_cores: 2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32,34,36,38,3,5,7,9,11,13,15,17,19,21,23,25,27,29,31,33,35,37,39
          tuned_profile: cpu-partitioning
          reboot_wait_timeout: 1800
      - playbook: /home/stack/ospd-17.1-geneve-ovn-dpdk-sriov-ctlplane-dataplane-bonding-hybrid/playbooks/cli-overcloud-tuned-maxpower-conf.yaml
      - playbook: /home/stack/ospd-17.1-geneve-ovn-dpdk-sriov-ctlplane-dataplane-bonding-hybrid/playbooks/overcloud-nm-config.yaml
        extra_vars:
          reboot_wait_timeout: 900
      - playbook: /usr/share/ansible/tripleo-playbooks/cli-overcloud-openvswitch-dpdk.yaml
        extra_vars:
          pmd: 2,22,3,23
          memory_channels: 4
          socket_mem: 4096,4096
          pmd_auto_lb: true
          pmd_load_threshold: "70"
          pmd_improvement_threshold: "25"
          pmd_rebal_interval: "2"
          pmd_sleep_max: "50"

  8. 注意您创建的裸机节点定义文件的路径和文件名。稍后,在配置 NIC 时,并在置备节点时使用 此文件作为 overcloud 节点置备 命令的输入文件。
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2026 Red Hat
返回顶部