第 8 章 规划 OVS-DPDK 部署
要使用 NFV 的 Data Plane Development Kit(OVS-DPDK)部署优化 Open vSwitch,您应该了解 OVS-DPDK 如何使用 Compute 节点硬件(CPU、NUMA 节点、内存、NIC)以及根据您的 Compute 节点确定各个 OVS-DPDK 参数的注意事项。
使用 OVS-DPDK 和 OVS 原生防火墙(基于 conntrack 的有状态防火墙)时,您只能跟踪使用 ICMPv4、ICMPv6、TCP 和 UDP 协议的数据包。OVS 将所有其他网络流量类型标记为无效。
红帽不支持将 OVS-DPDK 用于非 NFV 工作负载。如果您需要用于非 NFV 工作负载的 OVS-DPDK 功能,请联络您的大客户经理(TAM)或打开客户服务请求案例,来讨论支持例外和其他选项。要创建一个客户服务请求案例,请访问创建一个问题单,然后选择 Account > Customer Service Request。https://access.redhat.com/support/cases/new
8.1. 带有 CPU 分区和 NUMA 拓扑的 OVS-DPDK
OVS-DPDK 对主机、客户机和本身的硬件资源进行分区。OVS-DPDK 轮询模式驱动程序(PMD)运行 DPDK 活跃循环,这需要专用的 CPU 内核。因此,您必须将一些 CPU 和巨页分配给 OVS-DPDK。
示例分区包括在双插槽 Compute 节点上每个 NUMA 节点的 16 个内核。流量需要额外的 NIC,因为您无法在主机和 OVS-DPDK 间共享 NIC。
图 8.1. NUMA 拓扑:带有 CPU 分区的 OVS-DPDK
您必须在两个 NUMA 节点上保留 DPDK PMD 线程,即使 NUMA 节点没有关联的 DPDK NIC。
为获得最佳 OVS-DPDK 性能,请为 NUMA 节点保留本地内存块。选择与用于内存和 CPU 固定相同 NUMA 节点关联的 NIC。确保两个绑定的接口都来自同一 NUMA 节点上的 NIC。