增强型数据路径是一种网络堆栈模式,配置后可提供卓越的网络性能。它主要针对 NFV 工作负载,这些工作负载可利用 DPDK 功能提供性能优势。

只能在 ESXi 主机上以增强型数据路径模式配置 N-VDS 交换机。ENS 还支持流经 Edge 虚拟机的流量。

在增强型数据路径模式下,同时支持以下两种流量模式:

  • 覆盖网络流量
  • VLAN 流量

受支持的 VMkernel 网卡

对于支持多个 ENS 主机交换机的 NSX-T Data Center,每个主机支持的 VMkernel 网卡最大数为 32。

配置增强型数据路径的高级过程

作为网络管理员,创建支持增强型数据路径模式 N-VDS 的传输区域之前,必须使用支持的网卡和驱动程序准备网络。要提高网络性能,可以使负载均衡源绑定策略成为 NUMA 节点感知的绑定策略。

概要步骤如下所示:

  1. 使用支持增强型数据路径的网卡。

    请参见《VMware 兼容性指南》,了解支持增强型数据路径的网卡。

    在“VMware 兼容性指南”页面上的 IO 设备类别下,选择 ESXi 6.7,选择网络作为“IO 设备类型”并选择 N-VDS 增强型数据路径作为“功能”。

  2. My VMware 页面中下载并安装最新的网卡驱动程序。
    1. 转至驱动程序和工具 > 驱动程序 CD
    2. 下载网卡驱动程序:

      适用于 Intel 以太网控制器 82599、x520、x540、x550 和 x552 系列的 VMware ESXi 6.7 ixgben-ens 1.1.3 网卡驱动程序

      适用于 Intel 以太网控制器 X710、XL710、XXV710 和 X722 系列的 VMware ESXi 6.7 i40en-ens 1.1.3 网卡驱动程序

    3. 要将该主机用作 ENS 主机,系统上必须至少有一个支持 ENS 的网卡。如果没有支持 ENS 的网卡,则管理平面不允许将主机添加到 ENS 传输区域。
    4. 列出 ENS 驱动程序。

      esxcli software vib list | grep -E "i40|ixgben"

    5. 验证网卡能否处理 ENS 数据路径流量。
      esxcfg-nics -e
      Name    Driver   ENS Capable   ENS Driven    MAC Address       Description                   
      vmnic0  ixgben   True          False         e4:43:4b:7b:d2:e0 Intel(R) Ethernet Controller X550
      vmnic1  ixgben   True          False         e4:43:4b:7b:d2:e1 Intel(R) Ethernet Controller X550
      vmnic2  ixgben   True          False         e4:43:4b:7b:d2:e2 Intel(R) Ethernet Controller X550
      vmnic3  ixgben   True          False         e4:43:4b:7b:d2:e3 Intel(R) Ethernet Controller X550
      vmnic4  i40en    True          False         3c:fd:fe:7c:47:40 Intel(R) Ethernet Controller X710/X557-AT 10GBASE-T
      vmnic5  i40en    True          False         3c:fd:fe:7c:47:41 Intel(R) Ethernet Controller X710/X557-AT 10GBASE-T
      vmnic6  i40en    True          False         3c:fd:fe:7c:47:42 Intel(R) Ethernet Controller X710/X557-AT 10GBASE-T
      vmnic7  i40en    True          False         3c:fd:fe:7c:47:43 Intel(R) Ethernet Controller X710/X557-AT 10GBASE-T
    6. 安装 ENS 驱动程序。

      esxcli software vib install -v file:///<DriverInstallerURL> --no-sig-check

    7. 也可以将该驱动程序下载到系统并进行安装。

      wget <DriverInstallerURL>

      esxcli software vib install -v file:///<DriverInstallerURL> --no-sig-check

    8. 重新引导主机以加载该驱动程序。继续执行下一步。
    9. 要卸载该驱动程序,请执行以下步骤:

      vmkload_mod -u i40en

      ps | grep vmkdevmgr

      kill -HUP "$(ps | grep vmkdevmgr | awk {'print $1'})"

      ps | grep vmkdevmgr

      kill -HUP <vmkdevmgrProcessID>

      kill -HUP "$(ps | grep vmkdevmgr | awk {'print $1'})"

    10. 要卸载 ENS 驱动程序,请使用以下命令:esxcli software vib remove --vibname=i40en-ens --force --no-live-install
  3. 创建上行链路策略。

    请参见创建上行链路配置文件

  4. 创建传输区域。

    请参见创建传输区域

    注: 为覆盖网络流量配置的 ENS 传输区域:对于运行低于 11.0.0 的 VMware Tools 版本的 Microsoft Windows 虚拟机,如果 vNIC 类型为 VMXNET3,请确保将 MTU 设置为 1500。对于运行 vSphere 6.7 U1 和 VMware Tools 11.0.0 和更高版本的 Microsoft Windows 虚拟机,请确保将 MTU 设置为小于 8900 的值。对于运行其他受支持操作系统的虚拟机,请确保将虚拟机 MTU 设置为小于 8900 的值。
  5. 创建主机传输节点。在具有逻辑内核和 NUMA 节点的 N-VDS 或 VDS 交换机上的“增强型数据路径”中配置模式。

    请参见准备独立主机以作为传输节点

负载均衡源绑定策略模式感知 NUMA

满足以下条件时,为增强型数据路径 N-VDS 定义的负载均衡源绑定策略模式会感知 NUMA:
  • 虚拟机上的延迟敏感度

  • 使用的网络适配器类型为 VMXNET3。

如果虚拟机或物理网卡的 NUMA 节点位置不可用,则负载均衡源绑定策略不考虑 NUMA 感知性以与虚拟机和网卡一致。

在以下情况下,绑定策略运行时不感知 NUMA:
  • LAG 上行链路配置有多个 NUMA 节点的物理链路。
  • 虚拟机具有与多个 NUMA 节点的关联性。
  • ESXi 主机无法定义虚拟机或物理链路的 NUMA 信息。

对需要流量可靠性的应用程序的 ENS 支持

NFV 工作负载可使用由流控制传输协议 (Stream Control Transmission Protocol, SCTP) 提供的多宿主和冗余功能来提高应用程序上运行的流量的弹性和可靠性。多宿主是支持从源虚拟机到目标虚拟机的冗余路径的功能。

根据要用作覆盖网络或 VLAN 网络的上行链路的可用物理网卡数,虚拟机可使用多个冗余网络路径来向目标虚拟机发送流量。固定到逻辑交换机的 pNIC 出现故障时,会使用冗余路径。增强型数据路径交换机可在主机之间提供冗余网络路径。

图 1. 通过 ENS 的流量的多宿主和冗余功能

高级任务如下:

  1. 将主机准备为 NSX-T Data Center 传输节点。
  2. 在增强型数据路径模式下,准备具有两个 N-VDS 交换机的 VLAN 或覆盖网络传输区域。
  3. 在 N-VDS 1 上,将第一个物理网卡固定到交换机。
  4. 在 N-VDS 2 上,将第二个物理网卡固定到交换机。

处于增强型数据路径模式的 N-VDS 可确保,当 pNIC1 变得不可用时,将通过以下冗余路径来路由来自虚拟机 1 的流量:vNIC 1 → 隧道端点 2 → pNIC 2 → 虚拟机 2。