7.4. 手动计算 OVS-DPDK 参数的概述
本节论述了如何使用 Data Plane Development Kit (OVS-DPDK)在 director network_environment.yaml HEAT 模板中使用参数来配置 CPU 和内存以实现最佳性能。使用这些信息评估您的 Compute 节点上的硬件支持,以及该硬件分区以优化 OVS-DPDK 部署的方式。
如果您使用 derived_parameters.yaml 工作流自动生成这些值,则不需要手动计算这些参数。查看 工作流和派生参数概述
在分配 CPU 内核时,始终对物理核心的 CPU 同级线程(逻辑 CPU)在一起。
请参阅 发现 NUMA 节点拓扑,以确定 Compute 节点上的 CPU 和 NUMA 节点。您可以使用这些信息映射 CPU 和其他参数来支持主机、客户机实例和 OVS-DPDK 进程的需求。
7.4.1. CPU 参数 复制链接链接已复制到粘贴板!
OVS-DPDK 使用以下 CPU 分区参数:
- OvsPmdCoreList
提供用于 DPDK 轮询模式驱动程序(PMD)的 CPU 内核。选择与 DPDK 接口本地 NUMA 节点关联的 CPU 内核。
OvsPmdCoreList用于 Open vSwitch 中的pmd-cpu-mask值。- 对同级的线程连接在一起。
-
从
OvsDpdkCoreList中排除所有内核 -
避免为两个 NUMA 节点上的第一个物理内核分配逻辑 CPU (线程同级),因为它们应该用于
OvsDpdkCoreList参数。 - 性能取决于为此 PMD 核心列表分配的物理内核数。在与 DPDK NIC 关联的 NUMA 节点上,分配所需的内核。
对于使用 DPDK NIC 的 NUMA 节点:
- 根据性能要求确定所需的物理内核数量,并包含每个物理内核的所有同级线程(逻辑 CPU)。
对于没有 DPDK NIC 的 NUMA 节点:
- 分配一个物理内核(逻辑 CPU)的同级线程(逻辑 CPU),排除了 NUMA 节点的第一个物理核心。
DPDK PMD 线程必须在两个 NUMA 节点上保留,即使 NUMA 节点没有关联的 DPDK NIC。
- NovaVcpuPinSet
为 CPU 固定设置内核。Compute 节点将这些核心用于客户机实例。
NovaVcpuPinSet用作nova.conf文件中的vcpu_pin_set值。-
从
OvsPmdCoreList和OvsDpdkCoreList中排除所有核心。 - 包括所有剩余内核。
- 对同级的线程连接在一起。
-
从
- NovaComputeCpuSharedSet
-
设置用于仿真程序线程的内核。这将定义 nova.conf 参数
cpu_shared_set的值。此参数的建议值与OvsDpdkCoreList设置的值匹配。 - IsolCpusList
与主机进程隔离的一组 CPU 核心。此参数用作
tuned-profiles-cpu-partitioning组件的cpu-partitioning-variable.conf文件中的isolated_cores值。-
匹配
OvsPmdCoreList和NovaVcpuPinSet中的内核数。 - 对同级的线程连接在一起。
-
匹配
- OvsDpdkCoreList
为非数据路径 OVS-DPDK 进程(如处理程序和 revalidator 线程)提供 CPU 内核。这个参数不会影响多 NUMA 节点硬件上的整个数据路径性能。此参数用于 Open vSwitch 中的
dpdk-lcore-mask值,这些核心与主机共享。- 为每个 NUMA 节点分配第一个物理内核(和同级线程)(即使 NUMA 节点没有关联的 DPDK NIC)。
-
这些内核必须从
OvsPmdCoreList和NovaVcpuPinSet中的内核数相互排斥。
- DerivePciWhitelistEnabled
要为虚拟机保留虚拟功能(VF),请使用
NovaPCIPassthrough参数创建通过 Nova 传递给 Nova 的 VF 列表。列表中排除的虚拟机可用于主机。红帽建议将
DerivePciWhitelistEnabled值从true的默认值改为false,然后在NovaPCIPassthrough参数中手动配置列表。对于列表中的每个 VF,使用解析到地址值的正则表达式填充 address 参数。
以下是手动列表创建过程的示例。如果在名为
eno2的设备中启用 NIC 分区,使用以下命令列出 VF 的 PCI 地址:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在本例中,VF 0、4 和 6 供
eno2用于 NIC 分区。手动配置NovaPCIPassthrough以包括 VF 1-3、5 和 7,因此排除 VFs 0、4 和 6,如下例所示:Copy to Clipboard Copied! Toggle word wrap Toggle overflow