先给 V 站大佬们汇报一下所谓"最优平衡"的思路,纯粹从个人的"穷+我全都要"的立场出发。若不合理还望指正并轻拍。要点如下:
安全+便捷角度
1 )不用 RAID5 ,大容量单盘失效后重建失败概率过高(Ref1),不展开。
进一步地,不用任何奇偶校验的 RAID (包含群晖的 SHR ),避免重建伤盘。(阵列的核心诉求是保证实时性,而不是数据安全性)
2 )通用数据采用不同存储池下的 1+1 备份实现。工具拟用文件级备份的 Snapraid ,可以实时同步,也可以定期冷备。
(题外话:核心数据额外有 3 地 4 中心机制,即工作机、公司服务器、云、NAS (待增),保证安全性和实时性)。
引入成本角度后
3 )无需一次性配满磁盘,而是根据数据增量分步按需配置,第一次采购 2 块磁盘(假设为 14T )组 1+1 ,之后每隔若干年采购 1 块容量翻倍的磁盘,并基于 Mergerfs 实现存储池的平滑扩容。步骤略见下图:

4 )更进一步地,计算、存储分离(解耦):算力的提升&降本的速度明显快于存储,因此不想采用一体式 NAS 的方式,更倾向于小主机( Homelab/算力)+磁盘柜的方式。
小结一下以上思路,即
1 ) Mergerfs+Snapraid+磁盘逐步翻倍扩容策略,优点:

低成本(对标 raid5 )
数据 1+1 备份(对标 raid5 )
文件级备份,无重建失败 or 伤盘概率(对标 raid/shr 等校验恢复机制)
可用 ext4 ,读写性能和稳定性更优(对标 shr 等 btrfs 文件系统)

2 )算存分离,优点:低成本、高性能等。
疑问
要实现图示的存储逐步翻倍扩容,就要确保磁盘柜(或者一体化 NAS 机)的单盘位可识别容量要>50~60T 。
但好像目前市面上的产品宣传口径都是跟着主流 HDD 的最大容量走的(一般是 16T-20T 左右)。
我的疑问是,撇开厂家的宣传策略不谈,从技术上看,
磁盘柜/一体式 NAS 的最大单盘容量的受限条件实际是什么?是主板?是 XX 接口的类型?是总线的带宽?还是系统里的默认设置?
或,有没有简易+便宜地提升可识别单盘容量的方法?
谢谢大家~~

单个硬盘的容量越大,里面的盘片和磁头数就多,电机负载重,长期看来可靠性堪虞。还是以 4T 8T 容量的多个驱动器组建 RAID5 为上策,用多盘位的笼子和大容量的电源,可靠性和可用性都容易保证,rebuild 事件也能控制在一天之内。

#1 多谢回复。容量-可靠性反比的建议我会再重新思考下。不过 raid 仍然不打算组建,风险收益比太低了。

撇开技术,时间和精力也是很重要的资源。 最优平衡是:把钱花到自己能承担的且不受影响的最高,以换取时间和精力的平衡性。如果是我:1. 服务器+企业级硬盘( SAS )+raid102. 买 NAS ,一体式 nas 的最大优势是省钱省时间省精力。3. 存算分离,纯 nas 为啥要存算分离? 普通 nas+docker 可以满足较多低敏感业务,如果是要高性能可靠性的计算存储分离: 买存储服务器+HBA/SAN 4. 建议提升单盘容量的方法: 一步到位买大点。数据无价,这个有两方面的解读:1. 当你数据丢失后你发现,数据也没有那么重要2. 当你数据丢失后,你发现数据太 tm 重要了如果是 2 ,该花的钱还是得花,要不然企业花冤大头的钱买 SAS 干啥?

完全就是看别人纸上谈兵太多,各种不合理:1. 你实测过重建么? URE 纯粹纸上谈兵,实际很离谱。而且,即使不幸发生 URE ,一般顶多一个文件有静默损坏罢了(群晖的话,还会告诉你哪个文件坏了)。2. 性能的问题,你要那么多性能做什么,难道在 NAS 上炼丹么……一般跑满万兆就可以。3. 不做条带 RAID ,速度难以提高,日后很可能要难受。4. 硬盘柜是很多人的理想选择,很不幸,市面上的产品基本都很烂。实际上真正的伤盘,基本都是硬盘柜干的。5. 群晖中高端型号一般支持的单个 Volume 为 108T (你可以使用多个 volume ),企业级型号也有支持 200T 和 1PB 的。

URE 的事情就瞎扯。还 4 块盘 4T 重建失败机率超五成,一听就是完全脑补。

#3 感谢回复。我逐条回应一下:0."时间和精力也是很重要的资源……把钱花到自己能承担的且不受影响的最高",对我来说就是存储堆上 1+1 ,不考虑重建的等待恢复时间成本。1."服务器+企业级硬盘",我开宗明义说了穷,而且企业级硬盘的噪声没法接受(家里面积太小,说白了还是穷);"raid10",相比 1+1 备份的优势在哪里?3."纯 nas 为啥要存算分离",先说这条,没说玩纯 nas ,打算把算力设备作为 homelab 来着。2."一体式 nas 的最大优势是省钱省时间省精力",然而并不是。本来就有搭建 homelab ( aio )折腾的需求,这种情况下一体式 NAS 相比下感觉没什么优势。4."一步到位买大点",就是想要买大点来着,不是没找到符合单盘位 50-60T 容量的产品么。

#4 诉求是个性化的需求,可能是没有通用合理性。虽然语气有点生硬,仍然感谢了。

我看了好多 NAS 的讨论,我自己有个结论就是重要数据(丢失很严重的)不要放到自己的 NAS ,网盘更可靠,而自己的 NAS 更多是放一些拿取方便,丢失也不至于伤筋动骨的数据。就像我自己就是这样玩的,我重要数据是分开放的,比如代码这种,自动同步到 icloud ,每月保底的 6 元。然后其他大文件(不常用)放百度云或者阿里云,然后一些备份,媒体文件放到自己的 NAS

我选择的是 4 块 HC550 16T RAIDZ2 ,因为只能塞得下 4 块机械硬盘,详见: /t/979429不喜欢小主机或者成品 NAS ,手上两个小主机感觉都不是很好,早些年沉迷 ITX 主机,现在回想起来并不美好,我用这些年花的冤枉钱组了一套 NAS ,感觉不如二手商用服务器 R730我给自己定下的原则是,只买品牌顶级配件,宁可不买也不买小厂硬件,不碰 USB 外接硬盘从备份恢复数据的过程太痛苦,对于非计算机专业的维护人员而言,省时间省精力很重要,于是想提高可用性,首先考虑到 RAID5/RAIDZ1 都不放心,因为我的单盘容量太大了,于是只能考虑 RAID6/RAIDZ2 ,由于我很爱做快照,备份数据,相较于 ext4 ,更想尝试一下 ZFS对于 SnapRAID ,我更多的是用它来校验本地冷数据,防止损坏,而不是备份数据,实际体验上(有限的 Linux 和长期的 Windows )感觉时间较长,只有单份数据,没有分块,单文件较大对于备份/存储都比较麻烦,作为备份软件是不合格的。但是 scrub 功能是很值得表扬的。我同时使用 SnapRAID 和 Restic ,感觉 Restic 更适合用于备份热数据,SnapRAID 更适合校验已有冷数据是否损坏(也有可能是我配置不当)我的核心数据 200G ,大概 8 份,即工作机 3 份( 1 本体,2 定时),云 2 份( 1 实时 1 定时),NAS3 份( 3 机 2 地 1 实时 2 定时),经历过几次丢失数据,我认为备份永远只是备份,当你去找备份的时候,就已经不是原来的系统了

#8 从论坛内多个案例来看,iCloud 不算很可靠的网盘

我的需求跟 LZ 可以说是一模一样,小主机用 SSD 感觉还不错,外接 8 盘位硬盘柜也接了,但是不敢插满长期跑,只是偶尔开。真正 7x24 小时开的有几个成品威联通绿联 NAS ,猫盘,intel NUC 这些,目前都稳定运行 2-5 年了。

为避免争议,还是追加解释几条:1 )用一体式 NAS 、还是算存分离模式?首先标题里的"NAS 存储",即可指一体式 NAS 的存储仓,也可指算存分离模式下的硬盘柜。我自己并没有排他性的结论,只是目前倾向于采用算存分离,所以写在思路的最后一条里。后者的优点在主贴里已经写过了,但其缺点由#4 的 V 友提了一下,目前产品力很差。不过这个缺点不是"算存分离"理念本身的缺点,而是硬盘柜达不到可用性造成的缺憾。基于此,这一阶段的结论自然可调整为选购一体式 NAS 。只不过若干年计算需求提升了,再入手新的小主机,变相实现算存分离。2 )为什么不想用 RAID/群晖贴 ref1 不是想引战的,只是顺便一句我的担心来由。raid 5 重建失败、毁盘的案例用相关关键字搜一下其实很容易搜得到。当然你可以说这是"沉默的大多数"现象,实际概率远远小于网上的说法,但我想强调的是,按照风险=风险概率 x 风险后果的公式,由于风险后果的严重性(包含了数据不可恢复的可能后果,也包含了可恢复数据的找寻/重下时间成本、或 raid 重建的等待历时的时间成本等等),我仍然倾向于用 basic 1+1 的同步/备份方式做数据保护。至于 RAID/群晖的其他缺点,在小结里也提了一下。3 )最后还是想要聚焦一下疑问点,即 NAS 的最大单盘容量的受限条件实际是什么?目前好像没看到对应的解释。

1.关于存算分离:你需求的实际上是算力的持续升级,然后用解耦的方式,第一反应是小主机+硬盘柜,但是这种方式本身并不美好,无论是硬盘柜本身还是和小主机的连接,都引入了更多变量,而这些变量并不能忽视,甚至是导致数据不安全的致命因素。那么回归需求:算力持续升级,你自己组装一个 NAS 无非换一下主板和 CPU ,其他外设几乎平移即可,不也可以“无痛”做到算力持续升级吗?(升级价格的疼痛要比小主机小很多)2.关于 RAID ,我也是用的 Mergerfs+Snapraid ,原因是它足够灵活,可以让我随意更换硬盘配置,但是 Snapraid 一个痛点是不能实时同步,你是怎么来处理的?另外你都是在对比 raid5 ,可是 1:1 实时备份应该是 raid1 做的,为什么不对比 raid1 呢?3. NAS 的最大单盘容量的受限条件是硬盘技术,目前还没出现能超过 Ext4 上限 1EB 的单盘。

一个 zfs 可以解决所有问题

#10 感谢回复。我主贴里有写,针对重要数据有额外的备份/同步机制,加入 NAS 后能做到 3 地 4 中心,目前也是做到了 2 地 3 中心。普通数据打算做 NAS 存储下的 1+1 的单地备份。

#9 感谢回复。"买品牌顶级配件"的理念我是能理解的,甚至一定程度上我也是认可的。不过我是想投入到购买"存储盘位"上,不管这个盘位的形式是一体化 NAS 、硬盘柜还是自组机上,因为长远来看,盘位形态的稳定性是最宝贵、最不折腾的;而算力方面,当下的重金投入过一两年就被摩尔定律折旧掉("速朽")了。对 ZFS 没怎么研究,主要是感觉个人用户好像也用不上太多 COW 、CDP 等企业级特性,而且读写性能好像类似 btrfs ,不及 ext4 。高价值数据我用 3 地 4 中心机制,一般数据用 1+1 备份感觉就差不多够用了。同时万一紧急情况下,Windows 读取 ext4 下文件也更便捷一些。关于冷备/热备,我高数据用多中心机制做热备,一般数据冷备即可。你提到的的"SnapRAID 更适合校验已有冷数据是否损坏",能够扩展开来详细讲讲碰到问题?谢谢~

#11 感谢回复。的确我看到硬盘柜的评价好像都不高,不行的话只能跳开这个需求了。

#13 感谢回复,尤其是你针对我的疑问进行了解答,特别感激。1.1 "自组 NAS"的确是一个方法,主贴里没有写一个是想要降低"折腾"的程度,把主要精力放到后面 homelab/aio/pve/lxc/docker 应用上面去;另外还有一个私心没有说,是想着以后老人那边谁的电脑坏了,我能很方便地拆下现有小主机给他们顶上(满足简单网页+炒股即可,连视频需求都没有),自己再无缝衔接一个新主机(说白了还是省钱……)1.2 当然现在看到 n 位 V 友都强烈不建议用独立硬盘柜,那么我要重新思考这一部分的需求了。多谢大家规劝、提醒。2. 我用 Snapraid 就是打算当成普通数据的定期冷备机制来用,重要数据用多中心同步机制来保障安全。3. 你的意思是不是这样——群晖也好、其他品牌 NAS 也好、硬盘柜也好,在产品介绍里写的支持的单盘最高容量,实际是因为市面上的主流 HDD 的最高容量就这么大?实际如果过个几年买得到几百 TB 的硬盘,插上去也能识别的?

#18 漏回了了一点"为什么不对比 raid1 呢",其实我做了比较了,写在小结的第 3 条,只是没点 raid1 的名而已,而是囊括 raid1/5/6/10/shr 。为啥其他点主要和 raid5 对比?因为我这个思路天然有 raid1 的优点,即①数据 1+1 冗余,②可延迟采购磁盘从而降低单字节存储成本;又规避了 raid1 的缺点,即第 3 、第 4 盘位扩盘后的 raid 重组的麻烦和风险(因为是数据复刻备份,数据+校验字节的条带化存储)

@首页 #19 换句话说,这个思路是天然抢占了 raid1 的生态位并优于 raid1 ,因此在主贴重点讨论与其他形态 raid 技术的优缺点比较。

@首页 #19 最后一句修改为"因为是数据复刻备份,而非数据+校验字节的条带化存储"

偶自己实测:四个 4T 硬盘组成的 RAID5 ,更换一块硬盘后 rebuild 需要 22 个小时。

首先,22 小时,还好。其次,raid 重建速度取决于系统的负载和性能,如果系统本身空载(家用条件)而性能足够( ds1821+),10Tx8 的 Raid5/6 单盘重建,也就 10 多个小时,亲测。

Mergerfs 性能很少,2 个 nvme 盘用 mergerfs 合并后速度不到单个盘一半

会不会哪里没设置好?我看到的说法 mergerfs 的性能基本上就取决于单盘的读写性能么

如果你的机器有 2 个现成的 nvme 硬盘,可以自己实测一下大文件写入和读取

别用 Mergerfs ,坑多

snapraid 不能备份群晖系统,这是个坑

哈哈 freebsd + zfs 一把梭🤣

假设一下你的某个硬盘的数据丢失之后,你是否可以接受。在这个原则下来设计你的 nas 就好了。有的人可以接受,那你就朝着容量的方向建,硬盘加加加不能接受,那就备份,raid 也是一种备份方案。

LVM?

snapraid

我就是!底层跑个 PVE ,把 SATA 控制器分配给 FreeBSD 跑 zfs 了,日常维护靠命令。上面装了 nginx 、samba 。

#30 事实上是,"我全都要"。主贴的图已经画了,采用存储池 1+1 备份,因此不光可以接受某个硬盘数据丢失,还可以接受这个存储池下任意 n 块硬盘数据丢失。

#27 感谢回复,能稍微扩展说一下吗?或者给几个关键词我自己去搜一下,谢谢~

URE 的问题众说纷纭,但是 Mergerfs 的 io 真的不行,理论就是单盘读写性能,而且实际小文件的话会慢的多,我没有具体测,但是之前用的时候跟 raidz2 对比很明显。对于你说的最大单盘容量的受限条件,我感觉还是硬盘厂商的制造成本和商业策略的考量,毕竟单盘最大容量是有限制的。但是硬盘扩容对我来说不是什么问题,每次备份的硬盘数量翻倍就好。至于"最优平衡",我觉得分期就好。

用过很多年的 MergerFS+SnapRAID 方案,分享几个坑。1. SnapRAID 进行奇偶校验同步的时候要求文件不能正在被写入,所以只适用于冷数据。2. SnapRAID 的原理是每块盘上的数据块进行奇偶校验,所以在 1 块校验盘的情况下,当一块盘坏了的时候,想要恢复数据,就要确保其他盘上的数据仍然是上一次奇偶校验同步的版本,但如果在上一次奇偶校验同步之后其他盘的数据发生了变化,那么这些变化的数据块就无法恢复了(可能仍然可以恢复其他未变化的数据块的数据)。也就是说发生多盘修改文件的情况下,被修改的这些文件可能就会随着硬盘损坏而丢失了。需要对硬盘组的使用方式进行规划,比如每两次校验同步之间确保只在一块硬盘上修改数据,需要在其他盘上修改数据之前先进行奇偶校验同步。3. MergerFS 是基于 FUSE ,所以要关注 FUSE 本身的短板,以及你目前系统上的 FUSE 是否存在 bug 。4. 我遇到过两段时间 MergerFS 频繁挂掉的情况,MergerFS 的挂载点会提示 input/output error ,需要重启或重新挂载才能解决。跟 MergerFS 开发者交流过,很难 debug 定位到问题。根据我的观察是当打开状态的文件数量超过 3000 之后就很容易挂掉,不知道是我硬盘 IOPS 跟不上,还是 FUSE 有 Bug 。建议数据分冷热;假设你的热数据是小部分,那么可以热数据用 RAID-1 等镜像方案;冷数据用 MergerFS+SnapRAID 备份方案,如你画的图写满一块硬盘再写下一块。单盘容量限制理论上是文件系统方面的限制,不过现代文件系统基本都很难达到这种限制。如果厂商对单盘容量进行了限制,可能是因为对设备系统进行测试后认为系统在单盘大于某个容量后会导致产品使用体验下降,又或是显著加大了售后服务的难度。不过话说回来我并不推荐用超大容量的硬盘,一旦硬盘故障了,恢复数据需要很长的时间,如果采用奇偶校验备份的方式,在超长时间的恢复过程中会有较大概率再坏盘,导致奇偶校验失效。如果主板有 PCIe x8/x16 槽可以考虑 HBA 卡+硬盘笼,我用了浪潮服务器上拆下来的 HBA 卡和 12 盘位硬盘笼,很便宜。P.S. 我在后来评估认为 SnapRAID 不是很符合我个人的需求,转而去使用实时奇偶校验的 unRAID 方案了,当然 unRAID 也有它自己的短板。

我公司就是做 nas 系统的,叫 CasaOS ,由mergerfs导致的 issue 有不少😪。当然我这里不是说 mergerfs 不好,我们还是挺喜欢 mergerfs ,但是有时会有一些奇怪的问题。

#38 感谢!学到新知

#36 感谢回复!Mergerfs 的实际体验是我特别想知道的,感谢提醒避坑~