ESXi 中的 NVMe over RDMA 需要使用无损以太网网络才能高效运行。

要建立无损网络,您可以选择一个可用的 QoS 设置。

启用全局暂停流控制

在此网络配置中,请确保在网络交换机端口上启用了全局暂停流控制。此外,请确保主机中支持 RDMA 的网卡可自动协商以使用正确的流控制。

要检查流量控制,请运行以下命令。

#esxcli network nic get -n vmnicX
   Pause RX: true
   Pause TX: true

如果以上命令选项未设置为 true,请运行以下命令。

#esxcli network nic pauseParams set -r true -t true -n vmnicX

启用优先级流控制

要确保 RoCE 流量无损,必须在物理交换机和主机中将 PFC 优先级值配置为 3。可以通过两种方式在 ESXi 主机中配置 PFC:
  • 自动配置。从 ESXi 7.0 开始,如果 RNIC 驱动程序支持 DCB 和 DCBx,则可以在主机 RNIC 上自动应用 DCB PFC 配置。

    可以通过运行以下命令,验证当前的 DCB 设置。

    #esxcli network nic dcb status get -n vmnicX
  • 手动配置。在某些情况下,RNIC 驱动程序提供了一种使用驱动程序特定的参数手动配置 DCB PFC 的方法。要使用此方法,请参阅供应商特定的驱动程序文档。例如,在 Mellanox ConnectX-4/5 驱动程序中,可以通过运行以下命令将 PFC 优先级值设置为 3,并重新引导主机。
    #esxcli system module parameters set -m nmlx5_core -p "pfctx=0x08 pfcrx=0x08"

启用基于 DSCP 的 PFC

基于 DSCP 的 PFC 是配置无损网络的另一种方式。在物理交换机和主机中,必须将 DSCP 值设置为 26。要使用此选项,请参阅供应商特定的驱动程序文档。例如,在 Mellanox ConnectX-4/5 驱动程序中,可以通过运行以下命令将 DSCP 标记值设置为 26。
  • 启用 PFC 和 DSCP 信任模式
    #esxcli system module parameters set -m nmlx5_core -p "pfctx=0x08 pfcrx=0x08 trust_state=2"
    
  • 将 DSCP 值设置为 26
    #esxcli system module parameters set -m nmlx5_rdma -p "dscp_force=26"
  • 验证要检查的参数,以确认设置是否正确并且已设置。
    esxcli system module parameters list -m nmlx5_core | grep 'trust_state\|pfcrx\|pfctx'
  • 重新引导主机