
前几天跟群友说起这件事,才发现这机器组完之后居然一直没写过文章做个记录。
现在补上应该还来得及。
起因是之前用普通 PC 机箱+硬件阵列卡+便宜电源组装的简易 NAS 在某个深夜开始尖叫,吓得我赶紧找硬盘开始备份数据,要不是下血本做了 RAID 10,恐怕数据还没搞出来就彻底玩完了。
借此契机,在各种网站上做了一天的功课,最终敲定了一整套 NAS 机箱+ x86 平台的方案,具体配置如下(价格为 2023 年当时的数字):

由于机械硬盘起转时需要大量的瞬时电流(≈2A),这其中最不能省的就是电源,特意挑选了符合机箱要求的 1U 小电源,总功率 300W。
不在表格上的有系统盘 SATA SSD,是从之前的 NAS 上转移过来的,没有专门写上去;当然,8 块数据盘也不在上面。

安装的过程没什么好说的,与普通 PC 装机主要差异就是内部空间紧凑,还有机箱的边缘比较割手。
8 块数据盘中的 2 块直连主板,余下的 6 块用那根 6 对 6 的数据线连接到乐扩的 SATA 扩展卡上。
OS 选择了 TrueNAS,只是它的 SMB 共享配置实在难以理解,最后在群友的帮助下,配置了只读账号和读写账号,平时使用只读账号,需要写数据时使用读写账号,并在写操作结束后立刻清除共享连接。
这台机器迄今为止已经使用 3 年(非 7×24 小时开机,仅需要取数据时才打开),期间经历过的事件简单总结如下:
(一)由于硬盘体质的原因,8 块盘中有 2 块盘每次启动时反应都比较慢,导致 TrueNAS 每次开机都认为有两块盘掉盘,再次重启就会识别到,属于虚惊。
(二)大约用了两年后,可能是由于“捡来的”硬盘终于开始发生故障了,TrueNAS 开始频繁地报阵列损毁,尽管由于下本采用了 RAIDZ2 短时间内不会影响正常使用,但好几个 T 的数据备份一次还是挺费劲的。然而换盘之后,时间不长仍然会出现新盘损毁、掉盘的情况,最严重的一次掉了 2 块盘、阵列直接不见了,经过惊心动魄的抢救才勉强找回。
(三)此后尝试将 JMB585 的扩展卡换为 ASM1166 的扩展卡,没有效果,只是知道了前者是一块一块拉起、后者是一起拉起的细微差异。
(四)最后还是将那根 30 来元没牌子的 6 对 6 数据线换成了 60 多块钱的安费诺品牌线,才终于安稳下来,迄今再也没见到 TrueNAS 抱怨阵列降级的问题。
SMB共享堪称奇幻,即使是专业的搞存储的公司也搞不定,原因也很简单,SMB的各个版本是互不兼容的,Windows操作系统最多只兼容两个版本,所以会出现特别奇葩现象:
– Linux 客户端能看到 Linux 服务端
– Linux 客户端能看到 Windows 服务端
– Windows 客户端能看到 Linux 服务端
– Windows 客户端不能看到 Windows 服务端
TrueNAS我只用过其前身FreeNAS,反正当时公司内最后的决定是强迫所有人用sftps,因为SMB根本不可能搞定同时兼容xp win7 win8 win10,而公司内场景就是4种Windows操作系统并存,然后Linux复制文件时还要先挂载再复制,开发用的原型机上还没安装samba客户端(也不想装)
目前个人坏盘只有两块,一块2013年的主盘和一块2011年的备份盘,都是用到2023年。
反正我自己是放弃NAS了,现在主机是全塔大机箱,全塞机器里直连主板了(反正机械盘SATA2就够用)。尤其是大部分时间不开机的NAS,那还不如买硬盘盒或者SATA2USB转接线。
6对6数据线啥的我还真没见过,搜了一下淘宝,感觉这玩意也根本伸不开到每块硬盘吧。
Windows 共享以一种近乎黑盒的方式存在了这么久,以至于连它的创造者也搞不定了。
我自己用的情况还好,我可以掌控一切,但是我司还有一台群晖,一直到 2024 年之前,都要兼容最低到 XP 的系统可以访问,不得已将 SMB 版本最低要求放到 v1,而为了同事们访问方便,又不能使用对普通人来说比较复杂的连接方式,只好保留着 Windows 共享的方式。这样做的代价当然就是要忍受 SMBv1 的低安全性,直到 2024 年 XP 客户机彻底淘汰,这个问题才自然消弭,现在我敢把最低版本要求开到 SMBv2 了。
Windows 共享还有很多奇怪的现象,比如我们有套系统本来要使用 smbd 向 Windows 客户端共享存储空间,结果在服务端、集团网络和客户端的配置都不存在问题的情况下,硬是一直报 0x80074005(不是 0x80070005),最后还是靠 winfs+sshfs 解决了问题,开源社区真的拯救世界。
关于六对六数据线,由于这个机箱内部控件极为局促,用普通的 SATA 线真的会成一团乱麻。至于伸展不开的问题,是由于这个机箱给每 2 块硬盘准备了一个背板,线只需要接到背板就可以了,不是直连硬盘的,但是或许正因如此,对线缆的质量提出了较高的要求。
Windows共享最大的问题在与其「网络发现」和「权限认证」,尤其是后者,微软这几十年在本地主机都搞不定,就更别说网络上了。
网络共享这一块基本上属于费力不讨好的领域,谁都不想做。Windows共享SMB至少还是个真文件系统,其他好多同类产品最后都只能做到复制到本地缓存后再使用,如果是使用iso这种大文件的话基本上是要血崩的。