为什么 SMB Direct 不能通过 RDMA 工作?

为什么 SMB Direct 不能通过 RDMA 工作?

在 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

相关内容