网络提升计划 篇二:内网2.5G提速,给群晖NAS安装2.5G USB 网卡 & iperf3测速方法

年前买了一个 J4125 小主机,刷了 openWRT 系统当软路由用,机身有 4 个 2.5G 的网口,不用上真是暴殄天物!可是我并没有 2.5G 的设备,春节期间蠢蠢欲动,打算把内网升级到 2.5Gbps,正月里拜完年,内网 2.5G 提速计划马上安排!

一、内网2.5G提速方案

根据木桶理论,内网速度由网速最慢的设备决定,我现在的网络拓扑结构很简单,主机和 NAS 连到了无线路由器上。

620103837c5996097.jpg_e1080

  • 主机、NAS 和路由器都是千兆网口(1Gbps),传输速率上限 125MB/s。

  • 网线是超五类(cat5e),别看是千兆网线,短距离跑万兆都没问题。

  • 台式机里有 SATA 固态硬盘+机械硬盘,SSD 速度上限 500MB/s,机械硬盘一般来说读写速度 180MB/S 左右。

  • NAS 里面是两块 2T 机械硬盘组的 raid1,写速度不变,读速度 2 倍。

62010422737045339.png_e1080

当前电脑与 NAS 的读写速度之前有过记录,你的硬盘有多快? 一文了解速度极限,教你提升「硬盘 / NAS」读写性能,测试结果为 NAS 与电脑之间互传都达到了 100MB/s,也就是千兆网络的上限。

620103837afdf7301.jpg_e1080

换成 2.5G 的软路由之后,主机与 NAS 读取数据流程中最短的那块木板就是台式机和 NAS 的千兆网口了。

所以打算购买两个 2.5G 的网卡分别给台式机与 NAS 装上,理论上就能跑满 HDD 的读写了,读写速度将是千兆网络的两倍左右。

62010383965978721.jpg_e1080

如果你也想突破 NAS 与电脑之间的千兆带宽传输瓶颈,但是没有 2.5G 的软路由或者交换机设备的话,B 站 UP 主山猪折腾记还提到了一种 NAS 与电脑用直连的方案,电脑的 2.5G 网卡连接到 NAS 的 USB 2.5G 网卡,NAS 的原生千兆网卡连接到路由器。NAS 开启交换机功能,这样电脑就能通过 NAS 连接到网络,据说基本不会影响 NAS 性能和网速。

6201038375f4d2833.jpg_e1080

所以现在需要买两个 2.5G 的网卡分别给 NAS 和台式机电脑装上。

二、2.5G 网卡选择

2.5G 网卡有 PCIE(PCIE3.0 1x,2Gbps)的和 USB3.0(5Gbps)两种,USB 网卡芯片一般用的都是螃蟹家的 RTL8156B,据说比上一代 RTL8156 修复了 bug,改善了发热,两者的驱动是通用的。

我的 NAS 是入门款 DS218j,不支持 PCIE 扩展,主机也打算升级,到时候直接换支持 2.5G 网卡的主板,所以就买了两个 USB 转 2.5G 千兆网卡。ULT-UNITE 品牌之前没了解过,京东自营用上津贴 93 一个。

 

包装简陋,铝合金外壳的质感还算可以。

62010383859ab9822.jpg_e1080

三、驱动安装

安装驱动不需要插网卡,建议提前安装驱动,搞定了驱动再买购买 2.5G 网卡也不迟。

电脑端 Win10 系统免驱,主要是 NAS 上装驱动麻烦些。

1.查看 DSM 版本

安装驱动之前首先要确定下自己的 DSM 系统版本,目前驱动支持 DSM6.2 和 DSM7.0,DSM6.1 及更早的系统不支持(主要是黑群晖),可以升级或降级系统,不会破坏数据。

我的 DS218j 系统版本为 6.2.4。

62010383927ab462.jpg_e1080

2.查看套件架构

然后去群晖官网查看 NAS 的 CPU 架构,DS218j 的套件架构为 Armada38x。

如果是黑裙的话,不用管是什么 CPU,只需根据引导的机型来确定驱动。

620103848b3ee6472.jpg_e1080

下面我们用群晖DS220+作为试验机,来教大家如何在群晖NAS上安装RTL8156B 2.5GbE万兆网卡驱动。

首先我们要去群晖官网找到DS220+的CPU型号,在DS220+硬件规格这一页,我们能够看到这款机器的处理器型号是Intel Celeron J4025。

60f6659c99c6f1195.jpg_e1080

紧接着我们去英特尔ARK知识库查询一下这款产品属于第几代架构,英特尔ARK知识库网址

英特尔ARK知识库页面的搜索规格框中输入J4025后,系统就会自动搜索相关产品,我们选择第一个J4025

60f667480c54a3553.jpg_e1080

然后进入J4025处理器的详细参数页面,在详细参数页面找到代号名称一栏,从这一栏信息中我们可以得知J4025处理器采用的是Gemini Lake架构。

60f66db5c14e32114.jpg_e1080

 

 

3.下载驱动

然后去 GitHub 上找大神 bb-qq 提供的驱动文件,作者说该驱动适用于 realtek RTL8152/RTL8153/RTL8156 ,实测 RTL8156B 也能用。

DSM7.0 版本的 NAS 下载后缀 DSM-7.0 的驱动,我的是 DSM6.2 版本,就得往下翻,搜索 armada38x,找没有后缀的条目。

将“aqc111-armada38x-1.3.3.0-2.spk”文件下载到本地。

62010384766419910.jpg_e1080

接下来我们要去Github上下载RTL8156B网卡驱动,找到Gemini Lake架构的下载地址

60f66d60908e84832.png_e1080

4.安装 NAS 驱动

DSM6.2 版本直接点击套件中心,选择手动安装。

62010384c2e896410.jpg_e1080

然后在已安装的套件里就能看到网卡驱动了。

620103852a1486340.jpg_e1080

插上 USB 网卡,重启系统,然后应该就能在网络界面里看到新增的局域网了。

然鹅……并没有,折腾了半天依旧无法识别这个 2.5G USB 网卡 。

620103857eb669330.jpg_e1080

好在 DS218j 是支持 DSM7.0 的,于是又把 NAS 升级到了最新的 DSM7.0,重新下载 DSM7.0 版本的驱动,手动安装。

62010385b76f64364.jpg_e1080

会提示无法安装,因为 DSM7 系统需要先从 SSH 终端登录并运行以下命令。

sudo install -m 4755 -o root -D /var/packages/r8152/target/r8152/spk_su /opt/sbin/spk_su

再次安装。

620103859ceaf93.jpg_e1080

将网线插到 USB 网卡上,重启 NAS。

然后找不到后台登录地址了,于是下载了群晖助手,手动指定了 IP 地址为 192.168.100.3。

62010385ce04c9365.jpg_e1080

登录 NAS,查看网络界面,新增了一个局域网连接,显示是 2500Mb/s,全双工了,YES185

62010385c6606667.jpg_e1080

到这NAS上的驱动就装好了,实测在群晖 DS218j 上面这块2.5G USB网卡不支持热插拔,也就是如果将网线从原来的千兆网口直接插到USB网卡上,是不会直接识别的,需要重启。

5.安装电脑驱动

这款 2.5G 网卡的产品介绍界面里说是免驱,插上电脑后没法直接识别,还是需要去Realtek 官网下载驱动,安装完成后需要重新插拔下,然后就能识别出这个 2.5GbE 网卡了。

620103863792e3843.jpg_e1080

四、测试工具 iperf 安装

下面用 iPerf 测试下网络传输性能。

iPerf 是一个网络性能测试工具。iPerf 可以测试最大 TCP 和 UDP 带宽性能,可以报告带宽、延迟抖动和数据包丢失。

为了测试软路由/NAS 和电脑之间的传输性能,需要在软路由/NAS/电脑端都安装 iperf,软路由/NAS 作为 iperf 服务器端,电脑作为 iperf 客户端。

1. NAS 安装 iperf3

由于 DS218j 不支持 docker,无法直接安装 iperf,有两种方法,一是在套件中心安装 SynoCli Monitor Tools,介绍里写着提供 iperf3 命令行,下载量竟然为 0。

62010386553726646.jpg_e1080

第二种方法是下载 Jadahl 的群晖版 iperf3 套件(只支持 DSM6.2),手动安装。

62010386445744289.jpg_e1080

安装套件后,需要在本地电脑开启 SSH 登录后输入 iperf3 -s 开启服务端监听功能。

默认端口是 5201,如果跟其他服务冲突的话可以指定端口 iperf3 -s -p 5555

62010386637c81930.jpg_e1080

2. 软路由安装 iperf3

用 putty 连接 openWRT,输入下面指令安装

opkg update
opkg install iperf3

安装完成后可以输入 iperf3 -v 查看版本。

62010386996ac9053.jpg_e1080

3. 电脑安装 iperf3

Win10 电脑端无需安装,只要在官网下载 iperf3 的 Windows 安装包并解压。

切换到该目录,运行 iperf3 -c ip -p 端口号 -i 间隔几秒 -t 测试次数,这里的-c 表示作为客户端, IP 地址填软路由网关或者 NAS 所在地址,-i -t 可以省略。

五、iperf3 内网测速

1. 测速结果

电脑/软路由/NAS三者任意一个作为服务端,输入 iperf3 -s 开启服务端监听功能,其他一个作为客户端,运行iperf3 -c ip 就能测试两者之间的带宽性能。

实测电脑与软路由之间的带宽为 2.3Gbps,平均传输速度 268MB/s。表现完美,电脑的 2.5G USB网卡与软路由的 2.5G LAN 口工作正常。

6201038687b201326.jpg_e1080

但是 NAS 和软路由之间平均带宽只有 1.77Gbps,NAS 和电脑之间平均为 1.65Gbps,波动极大,最大带宽能有 2Gbps,最低才几百 Mbps,也就是说 2.5G 网卡工作了,但是没完全工作。

62010386ea1481932.jpg_e1080

6201038722e569401.jpg_e1080

实测拷贝一部 10G 的电影,NAS 的读取速度为 90MB/s,写入速度只有 60MB/s。而且速率波动极大,远不如之前的千兆网络 100MB/s 均速稳定。

62010387395d83808.jpg_e1080

站内有两位值友给群晖 920+ 装上 2.5G 网卡后实测传输速度为 280MB/s,跑满了 2.5Gbps 带宽,用 iperf3 测试也是 2.48Gbps 的满分成绩。

620103874885959.jpg_e1080

2. 问题排查

电脑和软路由之间的 2.5G 网络速率正常,电脑和 NAS 之间没跑满 2.5G 带宽的原因出在 NAS 和软路由之间,但是在各自的后台查看又都是 2500Mb/s 全双工,iperf3 测速期间软路由的 CPU 占用率最大 20%。

6201038795f4a591.jpg_e1080

尝试了下网上一些教程里说的开启巨型帧,没啥用,电脑设置了巨型帧后反而会上不了网。

620103878f0919098.jpg_e1080

各个客户端后台检测 2.5Gbps 的网卡驱动没问题,都是正常工作的。

62010387ba40a4023.jpg_e1080

目前来说内网 2.5Gbps 没跑满可能有以下原因:

1. 2.5G USB 网卡的原因,这个应该被排除,因为驱动都安装好了,台式机电脑上的这块 USB 网卡是2.5Gbps 速率工作的。

2. 软路由的原因,有人说软路由并不适合做交换机,因为没有专门处理数据交换的芯片,内网数据多会增加 CPU 的负担。iperf3 只能单点对单点测试,没法测量 4 个网口全部满载的情况,不过在我各种折腾下,CPU 的占用率始终没有超过 30%,软路由当成交换机用应该还是绰绰有余的。

62010387c50485934.jpg_e1080

3. NAS 的原因,我的 NAS 是群晖 DS218j,4 年前最便宜的入门产品,后面两个 USB 口都是 USB3.0 的,USB 网卡的驱动打好了理论上应该没啥问题。还有一种可能是机械硬盘的使用空间只剩 12%了,空间不足会影响传输速度。

620103882b1719781.jpg_e1080

总结

买了两个 USB 2.5G 网卡分别给电脑和 NAS 装上,配合 2.5G 软路由使用,打算将内网提升到 2.5Gbps,传输速度翻倍。

结果电脑和软路由之间正常,软路由和 NAS 之间只有 1.7Gbps 左右,没跑满 2.5G 带宽,而且用 iperf3 测试网络性能时波动极大,试了很多方法仍没有解决,有懂行的值友可以评论区指导一下,谢谢~

目前软路由的 4 个 2.5G 网口已经插满,一个 WAN 接入户网线,三个 LAN 分别接电脑/NAS/无线 AP,于是就下单了一台 TP-LINK 的 8 口 2.5G 以太网交换机 TL-SH1008,下一篇分享下使用体验,看看能不能跑满 2.5Gbps 内网,欢迎关注~

发表回复