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