9.4. 配置一个 NUMA 感知的 vSwitch (技术预览)


重要

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

在实现 NUMAaware vSwitch 前,检查硬件配置的以下组件:

  • 物理网络的数量。
  • PCI 卡的放置。
  • 服务器的物理架构。

内存映射的 I/O (MMIO)设备(如 PCIe NIC)与特定 NUMA 节点相关联。当虚拟机和 NIC 位于不同的 NUMA 节点上时,性能会有很大降低。要提高性能,请在同一 NUMA 节点上对齐 PCIe NIC 放置和实例处理。

使用此功能来确保共享物理网络的实例位于同一 NUMA 节点上。要优化数据中心硬件,您可以使用多种网络、不同的网络类型或绑定来利用加载共享虚拟机。

重要

要正确架构 NUMA 节点负载共享和网络访问,您必须了解 PCIe 插槽和 NUMA 节点的映射。有关具体硬件的详情,请参考您的厂商文档。

为防止跨 NUMA 配置,请将虚拟机放在正确的 NUMA 节点上,方法是向 Nova 提供 NIC 的位置。

前提条件

  • 您已启用过滤器 "NUMATopologyFilter"

流程

  • 设置一个新的 NeutronPhysnetNUMANodesMapping 参数,将物理网络映射到与物理网络关联的 NUMA 节点。
  • 如果使用隧道,如 VxLAN 或 GRE,还必须设置 NeutronTunnelNUMANodes 参数。

    parameter_defaults:
      NeutronPhysnetNUMANodesMapping: {<physnet_name>: [<NUMA_NODE>]}
      NeutronTunnelNUMANodes: <NUMA_NODE>,<NUMA_NODE>
    Copy to Clipboard Toggle word wrap

下面是一个与 NUMA 节点 0 连接的两个物理网络的示例:

  • 与 NUMA 节点 0 关联的项目网络
  • 个管理网络,没有任何关联性

    parameter_defaults:
      NeutronBridgeMappings:
        - tenant:br-link0
      NeutronPhysnetNUMANodesMapping: {tenant: [1], mgmt: [0,1]}
      NeutronTunnelNUMANodes: 0
    Copy to Clipboard Toggle word wrap

测试

  • 观察文件 /var/lib/config-data/puppet-generated/nova_libvirt/etc/nova/nova.conf 中的配置

    [neutron_physnet_tenant]
    numa_nodes=1
    [neutron_tunnel]
    numa_nodes=1
    Copy to Clipboard Toggle word wrap
  • 使用 lscpu 命令确认新配置:

    $ lscpu
    Copy to Clipboard Toggle word wrap
  • 启动一个虚拟机,将 NIC 附加到适当的网络
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2025 Red Hat