ESXi 中的 NVMe over RDMA 需要無失真乙太網路,才能有效運作。

若要建立無失真網路,您可以選取其中一個可用的 QoS 設定。

啟用全域暫停流量控制

在此網路組態中,請確保已在網路交換器連接埠上啟用全域暫停流量控制。此外,還需確保主機中具備 RDMA 功能的 NIC 會自動交涉,以便自動進行正確的流量控制。

若要檢查流量控制,請執行以下命令。

#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'
  • 將主機重新開機