群晖开启 SMB3 多通道叠加网卡速度

By | 2018年12月17日

不少的群晖机型都带有2个甚至更多的网卡,为了突破 1Gbps 的局域网连接速度,我们以往需要在交换机、群晖和 PC 端配置链路聚合(link aggregation)。不仅配置较为繁琐,而且额外增加了 PC 端和交换机的成本,实际普及率并不高。而自 DSM 6.1-15047 之后,群晖为我们带来了 SMB3 多通道支持,使得我们能够以及其低廉的成本享受多网卡叠加带来的速度提升。

要使用 SMB3.0 的多通道来叠加网卡速度,需要以下几个条件:

  • 群晖带有2个或以上的相同线速的网卡,并安装 DSM 6.1-15047 及更高版本
  • 普通交换机
  • PC 端带有2个或以上的相同线速的网卡,并安装 Windows 8/Server 2012及更高版本 OS

由于群晖目前没有开放相关设置项,所以我们部分操作需要通过 SSH 来完成:

1.打开控制面板,依次进入:文件服务-高级设置,将最大协议改为 SMB3,点击应用

2.进入:终端机和 SNMP,勾选启动 SSH 功能,点击应用

3.使用 PUTTY 等软件登入群晖 SSH,输入 sudo -i 临时提权,并输入密码回车。待命令提示符由 $ 变为 # 后,执行:vi /etc/samba/smb.conf

4.在文件末尾添加以下内容,完成后按 ESC,并输入 :wq 保存退出

  • server multi channel support = yes
  • aio read size = 1
  • aio write size = 1

5.重启群晖,PC 和交换机,所有设置完成。

在重启完成后,PC 端使用主机名(如\\homeshare)或 ip 进入一次共享,即可自动启用 SMB3 多通道了。另外也可以用管理员权限运行 PowerShell ,执行: Get-SmbMultichannelConnection 确认。

如上所示,目前 PC 已连接到服务器 192.168.199.189,并且分别通过本地 ip:192.168.199.99 192.168.199.100 与远端 ip: 192.168.199.188 192.168.199.189 建立了 SMB3 多通道连接。

通过复制文件也可以看出,两张网卡均有流量,并且总和超过了 1Gbps 。

基于 RTL8111 的 PCIE x1 网卡目前均价不过20-30块,并且对于交换机并无特殊限制,故整套解决方案成本是非常低的。除了PCIE 网卡之外,也可以使用 USB 网卡,但需要确保所有网卡线速一致,才能够启用 SMB3 多通道。

24 thoughts on “群晖开启 SMB3 多通道叠加网卡速度

    1. reizhi Post author

      这个和网络设备无关,只要求群晖和电脑在同一个网段就可以了,并且你有足够的网口

      Reply
        1. lc4428

          您好,我的情况是最后3行代码输入、保存之后,重启了NAS。然后重新SSH打开smb.conf文件,发现最后3行代码消失了!试了很多遍,发现都是这样的情况,然后用Get-SmbMultichannelConnection提示拒绝访问。应该怎么办啊

          Reply
      1. 梁歌

        你好,大神,我最后修改完保存退出时报错,是什么原因

        Reply
    1. reizhi Post author

      链路聚合是硬件层面的,没有必要再手动开smb3,但是开了也不影响。

      Reply
  1. Coolstranger

    我的情况是这样的,群晖918有两个网口,电脑主板有一个网口+一个无线网卡。
    由于路由器网口不足,我的接线情况比较奇葩:
    1、群晖的一个网口A连在路由器的一个lan口上;
    2、电脑通过wifi连接到路由上;
    此时,路由、群晖、电脑在同一个网段一 192.168.31.0/24下
    3、最后,电脑唯一一个网口和群晖网口B直连;
    群晖网口B和电脑网口在另一个网段二 192.168.32.0/24下
    所以两条通道是这样的:
    网段一: 群晖网口A—(有线)—路由—-(wifi)—–电脑
    网段二: 群晖网口B—(有线)—电脑
    此时电脑ping群晖主机名,有时可以解析到网段一的ip,有时是网段二的ip
    smb3多通道失败
    如果smb映射的时候分开两个ip,映射两个磁盘,分别读取文件,有时可以同时跑满有线和无线网卡,有时又只能跑一个
    甚至更奇葩的是使用群晖网口A对应ip(网段一)挂载的的磁盘,有时候传输数据时走的是群晖网口B直连(网段二)的有线网卡,相反的情况也有发生。。。

    Reply
    1. reizhi Post author

      你可能没有仔细看文章,smb3 multichannel 要求所有网卡速率一致,无线+有线是不行的。不在同一网段也不行,建议你改用/22

      Reply
  2. 橙子

    现在的新版本,已经不需要ssh添加命令了,我看自带就有那条命令。
    还有个问题。我nas到电脑经过了2个多个交换机。这样是不是需要把交换机之间设置端口汇聚?
    还有我测试了用一个交换机。nas和电脑链接到同一台交换机,总是不对,输入那个命令报错。交换机是二层交换机,nas是918+,pc是双口千兆win10。

    Reply
    1. reizhi Post author

      多层交换机需要汇聚,或者2.5G以上的交换机
      不知道你说的报错是哪个命令

      Reply
  3. MSON

    群辉918+,华为交换机 S1720-10GW-2P(汇聚不支持动态),路由器TPLINK XDR3060支持1个2.5G口和动态汇聚,以后这个2.5G口接2.5G交换机。怎么实现带宽叠加呢?现在我群辉双线接入华为交换机,TPLINK路由器双线接入交换机,电脑也双线接入交换机。大声有没有什么好建议?目标是突破千兆,实现2G,谢谢

    Reply
    1. MSON

      我能否这样,PC的2.5G单线接入TPLINK路由的2.5GLAN口,路由双千兆和华为交换机连接,华为交换机双千兆和群晖连接。这样PC到群晖能否达到2G带宽?

      Reply
  4. Aaron

    我在PuTTY里的设置遇到问题:
    输入vi /etc/samba/Smb.conf 后提示 No such file or directory
    没法进行以后的步骤 怎么办大神

    Reply
      1. Aaron

        那为什么我无法使用smb3的叠加功能啊 目前传输稳定在110mb

        Reply
      2. Aaron

        环境是1520 四网口 接思科16口千兆交换机 接HP 四口PCIe网卡

        Reply
        1. reizhi Post author

          我看了下 /etc/samba/smb.conf 是有的,注意全小写。不过现在不需要编辑这个文件了,默认就开启 smb3 。
          建议你用 Get-SmbMultichannelConnection 确认下

          Reply
  5. Aaron

    运行 Get-SmbMultichannelConnection 提示拒绝访问 。。。折腾一个星期了 不知道怎么解决啊 可否抽时间给提供一下远程辅助啊

    Reply

回复 HorizonL 取消回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

滑动到最右以进行验证 *