1. 当前位置: 网站首页 >  NAS >  NAS双网口怎么叠加提速?SMB多通道不用管理型交换机,我那块吃灰的网卡又活了

NAS双网口怎么叠加提速?SMB多通道不用管理型交换机,我那块吃灰的网卡又活了

SMB多通道拓扑图:电脑双网卡和NAS双网卡都插傻瓜交换机,与链路聚合LACP对比,实测110MB/s提到208MB/s

去年写链路聚合那篇的时候我交过底:那块两百多块买的双口聚合网卡,插在我家N100小主机上,因为家里8口傻瓜交换机不认LACP,时通时断ping丢一半,最后降级成主备模式——平时只走一根线,另一根纯待命。当时我的结论是「要冗余不要假提速」,反正家里重度用户就我一个,单线程横竖110MB/s。那块卡的第二个口,就这么吃灰了一年多。

上个月翻群晖官方知识库查别的资料,撞见一篇《什么是SMB3多通道》,看完我就坐不住了:这功能压根不挑交换机,傻瓜交换机照跑,单文件拷贝真叠加。我折腾了一晚上把它跑通,书房往NAS拷东西从110MB/s干到了两百出头。这条路早就在那摆着,我用了一年主备才想起来看它一眼。

先说清楚:SMB多通道和链路聚合,不在一层干活

这俩东西太容易混了,都是「多根网线捆一起」,但干活的层完全不同。链路聚合在网口那一层,交换机和你商量好「这两口算一条」,数据怎么分走是交换机按五元组哈希定的——一条TCP连接这辈子只认一根线,单文件拷贝永远是110。这也是它必须要管理型交换机的原因,傻瓜交换机根本听不懂LACP在说什么。

SMB多通道在协议那一层,是SMB 3.0自带的本事,Windows 8那代就有了。文件传输的时候,客户端和NAS自己商量着开好几条TCP连接,一条走这个口,一条走那个口,单个大文件拆开同时跑。交换机全程蒙在鼓里,它眼里就是四台普通设备各自插着网线收发数据,谁也不用配置。

打个比方:链路聚合是小区物业把两条车道并成一条大道,规则物业定,物业不干你就没辙;SMB多通道是快递公司自己派两辆车分头送,物业根本感知不到。所以我家那台傻瓜交换机,居然一点没改就能用。

对比项链路聚合(LACP)SMB多通道
干活的层网口层,交换机参与协议层,NAS和客户端自己商量
交换机要求要管理型、认LACP傻瓜交换机就行
单文件拷贝单连接钉一根线,不叠加多连接真叠加
谁受益所有走网口的流量一起分流只有SMB文件访问(恰好就是拷文件)

前提账:两头都得有多的口,才谈得上翻倍

SMB多通道要的是「客户端到NAS有多条路」。只给NAS加双网卡、电脑还是单网卡,那两根线只能让电视和电脑各走各的,单个设备还是110。想让我这台电脑的拷贝速度翻倍,电脑那头也得有两张口。

我家书房台式机主板自带一个千兆口,我翻出抽屉里一张老PCIe千兆网卡(82583方案,闲鱼十五块一大把),拧上插好,两个口都接进那台傻瓜交换机。NAS那边,聚合卡的两个口早就插着呢,主备模式下第二口闲着,现在正好全用上。IP都设固定:NAS是192.168.31.10和31.11,电脑是31.201和31.202,同一个网段就行,SMB自己会配对。

算笔硬件账:NAS的卡当年两百多(买都买了),电脑这张十五块,交换机零改动。对比正儿八经上万兆——2.5G网卡两百多还得交换机跟上,万兆那篇我算过全套两千起。家里有闲置双口的,这条路几乎是白捡。

我的配置:飞牛一行,表弟的群晖一个勾

飞牛这边没有图形开关,得走SSH。先按开SSH那篇把口子打开,登进去改Samba的配置文件,在[global]段里加一行:

server multi channel support = yes

这是Samba 4.4就有的参数,默认关着。加完重启SMB服务(飞牛后台把文件服务的开关关一下再开,或者systemctl重启相应服务),两根线就都在听招呼了。顺嘴说一句,改完记得把配置备份一份,飞牛大版本更新后我复查过一眼,参数还在,但养成看一眼的习惯不亏。

表弟的群晖就省事了。DSM 7.1.1 Update 5以后,控制面板→文件服务→SMB→高级设置→其他,里面直接有个「启用SMB3多通道」的勾,打上保存完事。他那台二手四盘位正好双网口,我让他也开了,前后拷贝速度对着我这边看齐。老DSM版本没这个选项,先升级再说。

Windows电脑这头什么都不用动,SMB多通道客户端默认就是开的。想确认它认到几条路,开个PowerShell敲:

Get-SmbMultichannelConnection

配对成功的话,列表里能看见到NAS的两条连接,一行一个客户端IP对一个NAS的IP,31.201对31.10一条,31.202对31.11一条。我第一次敲的时候只有一行,排查半天发现是PCIe网卡驱动没装全,设备管理器里把驱动重装了一遍,第二条就冒出来了。

实测:网口瓶颈解开了,轮到硬盘说话

书房往NAS拷大文件,改前死死钉在110MB/s,改后分两种情况,这个结果特别能说明问题。

往机械盘拷:我家那块4T酷狼,选盘那篇里SATA直连实测170MB/s。现在拷文件稳定在165MB/s上下——网口的110解开之后,第一瓶颈变成了硬盘外圈速度,内外圈落差还在,拷到盘尾会慢慢掉回八九十。也就是说机械盘场景,双通道把「网口不够快」这个限制拿掉了,剩下的就是硬盘本身的物理极限。

往SSD下载盘拷:那块旧SATA固态就没有机械盘的顾虑,实测冲到200~215MB/s。离两根千兆的理论225还差一点,差在哪?N100那颗CPU。两条千兆的SMB流量要把软中断和加密的活全干了,top里看sirq占着七八成,这个级别的软路由CPU已经是超额完成了。真想顶满225还得多花钱,没那个必要。

顺手交代一下电视和盒子的体验:它们单网卡,照旧110一条路,但NAS两个口同时服务多台设备本来就更从容,晚高峰电视拉流我这边拷文件,比以前单口时代互相挤兑得轻多了。

四个坑,踩之前先知道

第一个坑,iperf3测不出来。我配完兴冲冲先跑iperf3,结果还是940Mb,当场懵了。后来想起来iperf3是单线程工具,单线程恰好就是一条连接一根线,天然测不到多通道。要么加-P 4开四条流,能看到1.7G上下,要么别信它,直接拷大文件看任务管理器最实在。

第二个坑,两台群晖之间没戏。表弟知道这功能后第一反应是把他家和丈母娘家两台群晖对拷也开起来,结果扑空。Samba当服务端支持多通道,当客户端不支持,群晖互拷走的还是客户端那套库,速度照旧。这功能目前就是给Windows客户端用的,macOS那头支持也不完整,别指望太多。

第三个坑,别和链路聚合叠加着配。NAS的网口如果先建了Bond再想开多通道,两根线在系统里已经并成一个口了,SMB看到的还是单口。要玩多通道就把聚合拆掉,网口恢复独立、各设各的IP。我那块卡正好早就是拆干净的主备,直接改就行。

第四个坑,交换机端口别想当然。两根线插同一个傻瓜交换机没问题,但如果家里是两台交换机级联,NAS两口插一台、电脑两口插另一台,中间级联线就成了新瓶颈,速度按级联那根算。两头插同一台交换机,最省心。

什么人值得折腾,什么人别碰

手里有双口NAS或者双口聚合卡的,这是把闲置硬件盘活的最便宜路子,电脑补张二手网卡十几块,傻子才不干。经常从Windows往NAS倒大文件的——剪辑素材、虚拟机镜像、4K原盘——收益最直接。像iSCSI挂载那类走块协议的,SMB多通道帮不上,另说。

NAS单网口的,先掂量下是加一张卡还是直接上2.5G。2.5G方案两百多块一根网线全搞定,比千兆双卡多口省机箱位置,速度还略胜一筹,速率三本账那篇的算法直接套用。已经上万兆的更不用回头看,225MB/s对你没意义。

家里就一台Windows电脑偶尔拷点小文件的,110MB/s拷个电影一分钟出头,真不值得为这个开机箱。我这是职业病,配合上家里那台老拓扑里的傻瓜交换机,一行配置白捡将近一倍,这便宜不占睡不着。你要问我后悔不后悔没早点弄——后悔,那块卡的第二个口白睡了一年多。

展开全文


版权说明 手机扫码阅读
版权所有:《数巢笔记》 => 《NAS双网口怎么叠加提速?SMB多通道不用管理型交换机,我那块吃灰的网卡又活了》
本文地址:https://www.shunot.com/nas/1265.html
除非注明,文章均为 《SHUNOT》 原创,欢迎转载!转载请注明本文地址,谢谢。

发表评论

联系我们

在线咨询:点击这里给我发消息

微信号:master_135

工作日:9:00-23:00,节假日休息

扫码关注