在 Windows 实验室环境中,我尝试使用具有全局暂停功能的 Mellanox RDMA 适配器测试 SMB Direct 的性能。为了简单起见,我想先使用 Global Pause 进行测试,然后再切换到 PFC。我认为我已经正确设置了所有内容,但未使用 SMB Direct。我可以判断,因为 RDMA 性能计数器保持为零,并且实际带宽显示在任务管理器中。
nd_write_bw
我在两个方向上验证了 RDMA 连接。
服务器:带有 Mellanox ConnectX-5 100GbE 的 Win2019 数据中心
客户端:带有 Mellanox ConnectX-4 Lx 25GbE 的工作站 Win10 Pro
两台机器都具有 WinOF2 2.40.50000 驱动程序,并启用了流量控制 Rx/Tx
交换机已启用全局暂停并且 PFC 已禁用
我已在客户端上启用了 SMB Direct 功能。
在客户端上,Get-SmbMultichannelConnection
是空的。这可能是什么原因造成的?
以下是服务器配置:
PS C:\Users\Administrator> Get-NetOffloadGlobalSetting | Select NetworkDirect
NetworkDirect
-------------
Enabled
PS C:\Users\Administrator> Get-NetAdapterRDMA fastnet
Name InterfaceDescription Enabled PFC ETS
---- -------------------- ------- --- ---
fastnet Mellanox ConnectX-5 Adapter True False False
PS C:\Users\Administrator> Get-NetAdapterHardwareInfo fastnet
Name Segment Bus Device Function Slot NumaNode PcieLinkSpeed PcieLinkWidth Version
---- ------- --- ------ -------- ---- -------- ------------- ------------- -------
fastnet 0 216 0 0 2 1 8.0 GT/s 16 1.1
PS C:\Users\Administrator> Get-SmbServerConfiguration | Select EnableMultichannel
EnableMultichannel
------------------
True
PS C:\Users\Administrator> Get-SmbServerNetworkInterface
Scope Name Interface Index RSS Capable RDMA Capable Speed IpAddress
---------- --------------- ----------- ------------ ----- ---------
* 6 True False 1 Gbps 192.168.3.55
* 4 True True 100 Gbps 192.168.10.55
PS C:\Users\Administrator> netstat.exe -xan | ? {$_ -match "445"}
Kernel 4 Listener 192.168.10.55:445 NA 0
客户端配置如下:
PS C:\Windows\system32> Get-SmbClientConfiguration | Select EnableMultichannel
EnableMultichannel
------------------
True
PS C:\Windows\system32> Get-SmbClientNetworkInterface
Interface Index RSS Capable RDMA Capable Speed IpAddresses Friendly Name
--------------- ----------- ------------ ----- ----------- -------------
6 True True 40 Gbps {fe80::d1ac:ef30:6f70:a1bc, 169.254.161.188} chelsio40
4 True True 25 Gbps {192.168.10.53} mlnx25
8 True False 1 Gbps {fe80::f912:79b2:e851:3cb4, 192.168.3.53} housenet
PS C:\Windows\system32> Get-SmbConnection
ServerName ShareName UserName Credential Dialect NumOpens
---------- --------- -------- ---------- ------- --------
192.168.10.55 NVMe DESKTOP-K69SD7G\admin DESKTOP-K69SD7G\admin 3.1.1 5
PS C:\Windows\system32> Get-SmbMultichannelConnection
PS C:\Windows\system32> netstat.exe -xan | ? {$_ -match "445"}
PS C:\Windows\system32> netstat.exe -an | ? {$_ -match "445"}
TCP 0.0.0.0:445 0.0.0.0:0 LISTENING
TCP 192.168.10.53:58881 192.168.10.55:445 ESTABLISHED
TCP [::]:445 [::]:0 LISTENING
交换机:Mellanox SN2100
PFC 在交换机上启用,因此我针对这些特定端口禁用了它,并启用了 Global Pause
int eth 1/10-1/12 flowcontrol send on force
int eth 1/10-1/12 flowcontrol receive on force
int eth 1/10-1/12 dcb priority mode off force