群晖零成本网速叠加,SMB设置多通道传输及相关探讨

2022-06-29 13:25:35 58点赞 537收藏 41评论

将群晖从918+升级到1821+后,因为是重装系统的缘故,所以SMB多通道需要重新设置(群晖默认不打开SMB多通道),遂记录一下,供大家参考。

众所周知,买软件送硬件的群晖对硬件配置特别抠,在最新的1821+上也是一样,配置了万年不变的四个千兆口(918+配了两个)。

很多网友都想通过配置LACP来实现带宽叠加,我当初也是这么做的,为此把ZTE的交换机折腾了个遍,最后发现,啥用都没,只能提高多人的并发访问。LACP的适用场景还是在并发使用、提高链路安全备份,对直接的带宽叠加并不起任何作用。因此,另一个解决方案就摸索出来了,使用2.5G USB网卡给NAS,但是这样需要接一台2.5G网口的交换机,虽然网线不用变动,但是2.5G交换机并不普遍,而且价格也不便宜,这个方案比较适合买了j4025 N5105之类有多个2.5G网口的软路由玩家。

我这推荐的方案是给有空闲千兆网口的网络,为NAS开通SMB多通道服务,这样能实实在在零成本叠加网速,毕竟群晖带了两个或4个千兆口,家庭网络空闲千兆网口也随处可得,交换机、路由器。当然这个方案也有缺点,这个是仅针对SMB可以叠加网速,其他的服务不可用。

配置步骤

先入主题,配置群晖的SMB多通道。

首先,需要在控制面板配置SMB服务的版本,仅SMB3才可支持多通道。设置最大SMB协议为SMB3。

62bba4531e4c4172.png_e1080

(最小SMB协议不影响多通道的使用,请根据家里使用SMB的设备情况,来选择最小SMB协议的版本。)

其次,需要在控制面板打开SSH,如下图。需要手动去修改smb的配置文件来打开多通道。

62bba4531fce96202.jpg_e1080

接着,使用各种终端软件(如Putty,SecureCRT,Royal)等连接,MacOS下还可以用命令行ssh [email protected]这样来连接。

连上后请按如下输入命令行。

输入密码、切换root账户、切换smb服务目录、编辑smb配置文件

[email protected]’s password:

Synology strongly advises you not to run commands as the root user, who has

the highest privileges on the system. Doing so may cause major damages

to the system. Please note that if you choose to proceed, all consequences are

at your own risk.

[email protected]:~$ sudo -i

[email protected]:~# cd /etc/samba

[email protected]:/etc/samba# vi smb.conf

vi打开smb.conf后,按“i”键,进入修改模式

命令窗口下面出现“– INSERT — ”说明已经进入修改模式

然后在配置文件末尾增加如下配置:(打开多通道支持和异步读写)

server multi channel support=yes

aio read size=1

aio write size=1

按ESC退出修改模式,输入“:wq!”回车后就保存退出了。

再通过vi打开smb.conf的最终样式如下:

62bba4531e9e19165.jpg_e1080编辑后的smb.conf

大大的Do Not Modify(不要修改),下面还不忘提示,群晖不为因修改此配置文件产生的任何问题提供技术支持。群晖最后的倔强吗,哈哈。

配置完毕后,重启一下群晖NAS。这样,群晖SMB的多通道就打开了。

效果

配置前,无论是从1821+传到windows,还是windows传到1821+,速率都只有100M左右。

62bba4531d25a3088.jpg_e1080

62bba453246fc4393.jpg_e1080

配置后,明显网速直接翻倍了。

62bba45320aa92276.jpg_e1080

其他问题

这儿也顺带说明一下SMB的原理和可能的问题,欢迎大家探讨。

1 – SMB的多通道可以理解为服务器(192.168.1.1~4)与客户机(192.168.1.5~6)之间的多路径传输,因此,smb访问时可以访问多网卡中的任意一个ip(比如:smb://192.168.1.3)进行浏览、复制,smb协议会自动将多个网卡的带宽都利用起来进行数据传输,从而达到带宽叠加的功能。所以,这是很灵活和智能的一种传输数据的方式。这是软件层面的处理,因此,仅能支持SMB服务,不支持其他服务。如果用iperf3测速,也是没法测到叠加速度的。

2 – SMB是需要服务端和客户端均需要打开多通道功能,才能实现多通道的传输,如果NAS支持,Windows不支持,也不行。默认win10已经打开了多通道,可以通过如下命令检查(PowerShell中)

查看多通道功能是否启用
Get-SmbServerConfiguration
打开多通道功能Set-SmbServerConfiguration -EnableMultiChannel 1

3 – SMB是否需要多通道支持,与本机有几个网卡无关,只与实际是否有多个网络路径有关,例如,我的1821+用的是万兆网卡,而我的windows机器(默认打开了SMB多通道)是两个千兆网口,如果1821+不开多通道,那么windows机器只能以100MB/s的速度与1821+传文件,只有1821+开了多通道后,那么windows机器才可以以200MB/s的速度传文件。

4 – SMB多通道必须是SMB3版本才支持。

发表回复