第 8 章 配置 OVS-DPDK 部署
本节在 Red Hat OpenStack Platform 环境中使用 Open vSwitch (OVS-DPDK)部署 DPDK。overcloud 通常由预定义角色的节点组成,如 Controller 节点、计算节点和不同的存储节点类型。这些默认角色各自包含 director 节点上的核心 Heat 模板中定义的一组服务。
您必须先安装和配置 undercloud,然后才能部署 overcloud。详情请查看 Director 安装和使用指南。
您必须确定 network-environment.yaml 文件中设置的 OVS-DPDK 参数的最佳值,以优化 OVS-DPDK 的 OpenStack 网络。
不要编辑或更改 etc/tuned/cpu-partitioning-variables.conf 中的 isolated_cores 或其他值,这些 director heat 模板修改。
8.1. 使用工作流推断 DPDK 参数 复制链接链接已复制到粘贴板!
该功能在此发行版本中作为技术预览提供,因此不享有红帽的全面支持。它只应用于测试,不应部署在生产环境中。有关技术预览功能的更多信息,请参阅覆盖范围详细信息。
有关 DPDK 的 Mistral 工作流概述,请参阅 第 7.2 节 “工作流和派生参数概述”。
前提条件
您必须启用裸机内省,包括启用硬件检查额外的(inspection_extras)来提供此工作流检索的数据。默认情况下启用硬件检查额外的功能。请参阅 检查节点的硬件。
为 DPDK 定义工作流和输入参数
下表列出了您可以提供给 OVS-DPDK 工作流的输入参数:
- num_phy_cores_per_numa_node_for_pmd
- 此输入参数指定与 DPDK NIC 关联的 NUMA 节点所需的最小内核数。为不与 DPDK NIC 关联的其他 NUMA 节点分配一个物理内核。这个参数应设置为 1。
- huge_page_allocation_percentage
-
此输入参数指定配置为巨页所需的内存总量(不包括
NovaReservedHostMemory)。KernelArgs参数使用基于指定的huge_page_allocation_percentage计算的巨页来派生。这个参数应设置为 50。
工作流使用这些输入参数以及裸机内省详情来计算适当的 DPDK 参数值。
为 DPDK 定义工作流和输入参数:
将
/usr/share/openstack-tripleo-heat-templates/plan-samples/plan-environment-derived-params.yaml文件复制到一个本地目录,并将输入参数设置为适合您的环境。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 运行
openstack overcloud deploy命令并包含以下内容:-
update-plan-only选项 - 特定于您的环境的角色文件和所有环境文件
plan-environment-derived-parms.yaml文件,使用--plan-environment-file可选参数openstack overcloud deploy --templates --update-plan-only \ -r /home/stack/roles_data.yaml \ -e /home/stack/<environment-file> \ ... #repeat as necessary ...
$ openstack overcloud deploy --templates --update-plan-only \ -r /home/stack/roles_data.yaml \ -e /home/stack/<environment-file> \ ... #repeat as necessary ... -p /home/stack/plan-environment-derived-params.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow
-
此命令的输出显示派生结果,结果也合并到 plan-environment.yaml 文件中。
OvsDpdkMemoryChannels 参数不能从内省详情衍生。在大多数情况下,这个值应该是 4。
使用 Derived 参数部署 Overcloud
使用这些派生参数部署 overcloud:
将派生的参数从
plan-environment.yaml复制到network-environment.yaml文件。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注意这些参数专门用于角色
ComputeOvsDpdk,且不适用于其他角色,包括同一集群中可能存在的 Compute 或ComputeSriov。您可以在全局范围内应用这些参数,但任何全局参数都会被特定于角色的参数覆盖。- 使用角色文件以及特定于您的环境的所有环境文件,部署 overcloud。有关详细信息 ,请参阅部署 Overcloud。