大家好,我是晓飞影!
一个数码爱好者,也喜欢在众多平行领域探究摸索,让生活多一点乐趣。
目录
前言
关于 UNRAID,是一个又爱又恨的系统,喜欢是因为非常轻量,功能很全,支持 docker,支持 VM 虚拟机,硬盘阵列不用组 RAID,可以不同的容量,即使损坏一块,数据也只是单块丢失, 而且安装过程绝对是最快速的一种。要说缺点的话也是因为硬盘阵列的独特性,有许多人反应局域网 SMB 协议读写速度不高,以及全英文界面可能会造成一定的学习门槛。好在玩 UNRAID 的人越来越多,分享的方法也越来越全,而且开发者也开始关注中国市场,有汉化语言包,6.9 正式版也会开始支持英特尔十代 CPU 的核显调用,可以说是非常让人期待的一个 NAS 系统。
不过我想强调一点,不管有多少大神或者教程说这个 NAS 系统非常适合新手,我都劝没有接触过的人一定要谨慎,不要立刻装好 UNRAID 就开始迁移正式数据,我自己到目前也是累计重装了十几次系统,所以才会说 UNRAID 绝对是重装速度也非常快的 NAS。因为 UNRAID 安装简单一次成功,但是他可以 DIY 的部分太多了,而且许多代码可以直接修改,尤其是硬件直通部分,有的步骤失误很可能系统就崩了。像群晖和威联通这种成熟的图形化界面普通玩家是很难完全整崩溃的,就算设置错了也能进系统改回来。因此 UNRAID 我踩过许多坑,见过稀奇古怪的错误,甚至有系统崩了,但是局域网共享还正常访问,帮我挽回了一次数据灾难。所以大家在尝试 UNRAID 的时候,第一次就要当测试环境来使用,随便折腾,多试几次,肯定会喜欢上这个系统。
那么接下来就步入正题,前不久DIY 了一台 6 盘位的 NAS 机箱,采用的就是 UNRAID 系统,UNRAID 其实是付费的系统,不同盘位的价格不同,这次是民间制作的 UNRAID 6.8.2 开心版,仅作为学习交流使用,UNRAID 官网正在针对国内市场推进,可能会支持国内的支付渠道,如果有优惠活动的话,应该是入正版的最好时机。
准备工具
U 盘一个,USB 2.0 8G 以上的 U 盘就完全足够;
UNRAID 6.8.2 开心版数据包;
UNRAIDTOOL 安装辅助工具;
制作启动 U 盘
首先将 U 盘用 DiskGenus 格式化为 FAT32 的文件格式,卷标改为 UNRAID。
然后将 UNRAID 6.8.2 开心版的文件全部复制到 UNRAID U 盘根目录。
同时将 UnraidTool 辅助安装工具也拷贝到 U 盘根目录。
右键点击以管理员身份运行 UnraidTool 程序。
如图程序启动界面,看下方盘符是不是 U 盘,以及对应的 Flash GUID,如果输入框内有许多行序列码,找到 0781 开头的数字,其他的都删除,然后选择1.设置 U 盘启动
会弹出命令符界面,输入 Y 后回车,然后按任意键继续,看到 Completed 字样就成功了,可以关闭这个界面。
第二步点击注册 KEY,会弹出提示,已经生成了 BTRS.key 文件在 config文件夹下面,省略了以前很多步骤。
检查一下 config 文件夹下是否出现了 BTRS.key 的文件,有的话就全部制作成功了。
然后插回机箱上开机,不放心的话可以接一个显示器看状态,如果不接显示器就在路由器里关注是否有新设备登入,一般叫 Tower,查看 IP 后在网页端输入IP 地址回车就能看到登录界面了,一般默认账号是 root,没有密码。
所有的系统信息都在面板显示,一目了然,非常方便,我个人很喜欢这种展示界面,很有科技感。
搭建万兆测试环境
都说 UNRAID 系统什么都好,就是读写测速太拉胯,但是我自己也找很多资料,真正分享出来的案例并不多,我打算把每种情况都测试一遍,看看 SMB 读写是不是真的不行,顺便也可以多一个案例分享给大家参考。
首先到 MAIN 菜单,新增加一个或多个机械硬盘到序列,因为 UNRAID 就如同名字一样,是不组阵列的,只是通过一些用户自定义,比如「高水位」规则,每次都是从一块硬盘写入或读取,因此单硬盘或者多硬盘的序列,读写速度应该是一样的。
然后在 SHARES 界面新增一个共享文件夹。
比如取名叫 NAS,所有配置都默认,因为我主要测试用,如图分配方法为 High-water,就是最常见的高水位方式,哪个硬盘剩余空间多就往哪个硬盘里写,保证每个不同容量的硬盘到最后都能均匀写满。
然后建立万兆测试环境,光是千兆口测试不严谨,单硬盘的读写速度其实已经超过 100M/s 了,所以万兆环境更准确一点。而万兆交换机还比较贵,我选择的方式是最便宜的光口万兆网卡直连的方式,分别在 NAS 机箱和 PC 机箱都插上广达 CX341A 双光口万兆网卡。
注意 UNRAID 这里有一个坑,我也是试了好久才发现,如果是通过交换机的连接的话不会有这个坑,因为UNRAID 管理网口和万兆网口都会根据路由器的 DHCP 规则自动分配 IP,而我本来是打算手动分别设置 NAS 和 PC 直连的万兆网线IP,达到直接连接的目的,结果一设置就进不了 UNRAID 系统了。后来发现如果是直连 PC 的方式,UNRAID 的两个网口一定不能是相同 IP 的网段,所以一个是 199,一个是 198,这才成功进入 NAS。我记得黑群晖插上万兆网卡,直连 PC 的话,IP 一样也不会冲突,所以 UNRAID 有点不一样,给大家提个醒,MTU 手动设为 9000。
WIN10 就简单了,自动设备网口,然后手动设置 IPv4 的地址,也是同样的 198 网段,子网掩码填写,网关就不用填了。直接装的是 Nvme 固态硬盘,读写速度超过 1000M/s,高于万兆局域网就能满足测试。
然后在本电脑内,成功挂载万兆网卡 IP 下的共享文件夹,如果保险起见的话,可以拔掉网线接口,只留一个万兆网线连接,试试看这个文件夹能否访问,保证所有数据都是经过万兆光口进行传输的。
机械阵列测速 无校验盘 无缓存盘
直接拷贝数据到 UNRAID,刚开始速度能瞬间达到 800M/s,接下来就稳定到 143M/s,确实超越了千兆网速,不过我之前在群晖测试单盘万兆写入能有 180M/s。
然后从 UNRAID 共享盘直接拷贝数据到 WIN10 本地,速度一直稳定是 131M/s,也是超越了千兆网速,比群晖万兆 170M/s 相比还是略低。但是也说明在没有校验盘,无缓存盘的情况下,UNRAID 跑千兆局域网是完全够用的。
机械阵列测速 有校验盘 无缓存盘
接下来增加条件,新增一块校验盘,这也是 UNRAID 系统的特点,只要一块校验盘容量大于等于阵列中最大的一块硬盘容量,就可以保大家平安,当然,最多只能坏 1块机械硬盘,最多可以加两块校验盘,也就是说最多坏 2 块,但是大家吐槽 UNRAID 读写速度就在于这个校验盘。
校验盘新增后也要重新开始序列,然后就会看到校验盘处理过程需要很长的时间,这只是 4T 就要 6 个多小时,但是这个时候也倒是可以继续正常使用 NAS。
闲着也是闲着,在校验盘还没完全处理结束的时候,我试试往共享盘写入数据,这个时候速度低到可怕,居然只有 30M/s。
那我还是睡个觉吧,等了 7 个半小时,校验盘处理结束后,再进行测试。
这个时候写入 UNRAID 共享盘,速度也是从很高开始跌到了稳定的速度,才 51M/s,只比刚才好一点,因为每次写数据是同时写入校验盘和数据盘,还要保持一致性。
那么校验盘生效后,读取数据速度如何呢,实际测试从开始就能稳定到 183M/s,感觉对读速似乎没有影响,居然比无校验盘的时候还提高了一点,但是实际也是单盘数据读取,应该是机械硬盘的最高极限了。
机械阵列测速 有校验盘 单缓存盘
那么下一步测试,就是给 UNRAID 增加 Nvme 固态硬盘当缓存了,我使用的是铠侠 RC10 500G,读写速度基本都在 1700M/s 左右,多了浪费,少了也不够,应付万兆测试环境挺好。而且 UNRAID 第一次添加缓存只能选 1 个,等会再测试双缓存组 RAID1。
第一次添加缓存也别忘记了一定要格式化。
缓存添加后启动序列,但是并没有立刻生效,必须手动指定哪个文件夹需要用到缓存,比如进入到 NAS 文件夹,在 Use cache 这里选择模式,需要把 No 改为 Yes。
直接拷贝数据,速度立刻起飞,可以达到 800M/s,而且我就有点不理解了,群晖和威联通如果只添加一块固态硬盘当缓存的话,只能作为只读缓存,因为怕断电丢失数据,除非 2 块固态才能组读写缓存,而 UNRAID 单固态硬盘当缓存直接就给当写入缓存了,数据会全部先写入固态硬盘,哪怕校验盘再慢也不怕。
从 NAS 里直接读数据到 PC 本地,果然速度还是 180M/s,压根没经过缓存盘。
机械阵列测速 有校验盘 双缓存盘
那么接下来就添加第二根 Nvme 固态硬盘试试看,这个时候缓存数量才可以选择了,MATX 主板的好处就体现了,双 Nvme 不需要转接卡,不过 UNRAID 似乎能添加的缓存数量远不止 2 个,不知道多了有什么用。
第二块缓存添加后,不需要格式化,UNRAID 会自动将 2 块固态硬盘组成 RAID 1,可以看到实际容量还是只有 500GB,这个时候应该就是真正的读写缓存了。
继续先测试直接写 NAS,速度和刚才单缓存盘一样,可以达到 830M/s,表现不错。
看了下系统状态,两块 Nvme 固态硬盘都在同时写入数据。
那么从 NAS 读数据有没有改善呢?看图,速度直接起飞,真正达到了万兆网速的极限,接近 1Gb/s,这才是万兆网卡的作用啊,读缓存果然必须要两块 Nvme 才能生效。
看了下系统状态,如果是读速度的话,实际是分别从两块 Nvme 硬盘里读取,速度累加在一起才是接近 1000M/s,和刚才的写数据状态有点不一样。
不过我发现 MATX 主板上,第二块 Nvme 硬盘没有装散热片,温度直接报警,所以建议两块硬盘都一定要加上散热片。
总结
所以 UNRAID 的系统被吐槽局域网 SMB 协议读写速度慢,是因为增加了校验盘的缘故,不管是局域网千兆还是万兆,如果不上校验盘,那读写速度基本还是没有被阉割的,尤其是读取速度。但是 UNRAID 的校验盘也是它的特点之一,起码可以起到一定的数据保护作用,所以当硬盘数量多起来的话,我建议还是装上校验盘。那么最完美的方案就是增加固态缓存了,而且根据测试结果,必须是双固态缓存,不然读取速度依然达不到万兆。ITX 上有双 Nvme的主板很少,价格更是夸张,目前来看 MATX 主板是最适合做万兆 UNRAID 系统的,便宜又大碗,还能原生支持 6SATA 插槽,UNRAID 加上双 Nvme 固态硬盘后,就是完全形态了,当然一次性读写的数据可不要超过 Nvme 硬盘的容量上限,不然也要还原到蜗牛速度。
UNRAID 的中文案例参考还不多,希望这次简单的测试能够给观望 UNRAID 系统的 DIY 玩家一个参考。