自建 NAS 的存储方案的技术选择,求建议

2021-04-10 10:32:21 +08:00
 sidkang

前帖提要:链接在此

在上回发帖之后,中途也陆陆续续对现有 NAS 做了些许改动,作为不折腾不舒服星人,出于各种原因,打算进行更动

类型 现有配置 预期方向 备注
CPU i5-8500 E5-2690V4
主板 E3C246D2I(ITX) EPC612D8A(ATX)
内存 金士顿 16G*2 三星 REG DDR4 16G*4
机箱 MineNas 四盘位 Define R6
系统盘 0.5T*2(Mirror)
容器盘 0.5T*2(Mirror)
存储盘 8T*4(1+0)
系统 Proxmox Ubuntu LTS(待定)

先总结一下目前配置的优点:

  1. 体积小、做工在线、4 盘位热插拔;
  2. 机箱容量大:虽然是 4 盘位机箱,但实际上我可以塞入 3.5 寸4 、2.5 寸4,目前板子仍空着一张 M.2 2242 插槽,所以还可以加入一个 2.5 寸 U.2 盘;
  3. 主板接口足够:
  4. 性能还不错,因为用的 8500,我日常开着两个 docker lxc (一个默认科学上网、一个直连,上面各运行数个 docker 容器)、2 个 WIN10 VM 、一个 Debian Testing 开发机、一个 Hackintosh VM ( surge 盘路由),剩余若干 lxc 容器( samba 、webdav 、plex 、syncthing 、jellyfin(专攻受限影片)等);
  5. IPMI 维护便利。

期间发现的一些不足及缺陷(不分排名先后):

  1. 噪音。由于房屋面积实在有限,机箱目前被安置在客厅,这就导致在客厅观影的时候经常受到硬盘炒豆子声音的影响;
  2. 四盘位机箱维护不便。使用期间发生了三个 pool 分别发生了一次降级事故,2.5 寸硬盘倒还好,腾挪方便,由于我的存储 pool 用满了四张盘,3.5 寸的替换确实有些困难;
  3. PCI-E 插槽的不足之一。之前在采纳 ITX 作为主板时,考虑万兆的需求还比较遥远,AIO 一体机对于万兆的需求相对也不太高就暂时放弃,当时也是看到了 QNAP 及其它厂商所出的 2.5G/5G USB 网卡,感觉在全面万兆内网前可以凑活,遂暂时放弃,但实际使用中发现 USB 网卡在使用中存在着过热降速、延迟不稳定的情况,SAD ;
  4. PCI-E 插槽的不足 2 。其实组装前就想要在机子上有一个直通显卡的 WIN10 VM 和 Hackintosh VM,但是后来采用了 NUC8+雷电显卡坞的方案解决,但发现这个方案有些 bug,打算淘汰掉这个组合,所以这也就成为了一个缺点
  5. 容量不足。这一点严重失误,估计不足。受限于 ZFS 以及盘位闲置,存储空间的升级实在太贵,大家都懂。

于是基于上述理由,开始寻找替代方案,也请各位 V 朋指教:

  1. 机箱。目标 8-10 盘位机箱。考虑到 PCI-E 扩展性及散热性能,锁定了几款 ATX 机箱,Define R5 、Define R6 、Antec P101-S 这几款机箱,目前偏好 R6,因为打算放入双显卡及万兆卡,目前手上两张都是双槽卡,R6 这方面最合适,静音效果看起来也不弱;
  2. 主板。目标是三条 x8 、一条 x4 槽位(双显卡+冗余 HBA 卡+万兆卡),可以使用相对便宜的 REG DDR3/4 、U 性能相对不那么落伍(因为需要玩游戏及桌面 VM,所以希望主频不低、核心数也够)、同时虚拟化相对稳一些( iommu 、PCI 直通方面不存在障碍,这一点经过了较长时间的网上资讯确认,暂时放弃 AMD 系列,对此有不同意见的朋友也欢迎提出来),多方面调查后,目前确认了 AsRock Rack 的 EPC612D8A 主板;
  3. CPU 。这个就比较简单了,根据主板直接选择 E5-26XXV4 系列 U,考虑到核心数足够,主频相对不弱,性价比足够的原则,暂时选定了 E5-2680/90V4,暂时还未采购,闲置的小伙伴可以出给我;

另一大块就是 Host 系统选择及 Raid 组合有比较大的不确定:

  1. 目前的方案是系统盘 Mirror 和容器盘 Mirror 分离,考虑到都是 SSD RAID1,实际使用中是否需要严格分离呢?如果不的话,这两个应用是不是可以考虑放在一个 pool 里?
  2. 由于有多媒体存储、PT 的需求,当然 PT 不算重度,但是多媒体对于性能的偏好要求并不高,目前打算使用 MergerFS+SnapRaid 的类 Unraid 方式来组合存储多媒体存档文件、而 PT 和重要文档文件采用大容量 HDD 组 mirror 或 Raidz1 使用,这样做是否合理?
  3. 是否能将 Raidz1 放在 MergerFS 的 pool 中?也就是多个 Basic 盘+Raidz1/Mirror 作为 MergerFS 的 pool,Snapraid 对这个整体进行运作,该参考方案来自于linuxServer.io,各位对这种 RAID 堆叠的方案有什么看法呢?
  4. 根据以上的选择,如果采用 MergerFS 和 ZFS 的混合方案,个人倾向于选择 Ubuntu,如果是纯 ZFS 方案,个人可能就会选择 Proxmox,另外的 Truenas Scale 版本正在官网,由于目前仍然是 alpha 状态,有些打鼓,各位有在实际使用中的么? 欢迎提出建议和宝贵意见。
3083 次点击
所在节点    NAS
56 条回复
sidkang
2021-04-11 10:47:32 +08:00
@wenwen226400 对,这个我也在 Youtube 上看到过,我先试试看,我也可能会考虑埋超长 DP&USB 线缆之类的方法“伪远程”,😄
sidkang
2021-04-11 10:48:36 +08:00
@Eleutherios 嗯,N 卡只拿来解码了,还有张 5600XT 闲置,可以拿出来搞直通用
libook
2021-04-11 10:51:10 +08:00
一个设备承载的功能越多,就越复杂,可选择的硬件就越少,成本也高,而且因为是小众需求还经常会找不到合适的硬件。举个例子,便携性+桌面级性能=外星人笔记本,结果最后便携性在笔记本里算差的,性能跟 PC 比起来也不是特别能打。

对于纯存储功能来说,CPU 、内存性能需求极低,除了网络通信和阵列卡可能会需要 PCI-E 以外几乎不需要 PCI-E (尤其是普遍网卡和阵列卡都板载集成)。如果你还要糅杂虚拟机、游戏等需求,一方面配件厂商做不做就是个问题,另一方面性价比难以提升。所以是否考虑把你的需求拆分成两台机器,一台专精存储,另一台专精计算。

我就是按照这个思路弄的。Nas 极低功耗,放电视旁边也不影响观影(包括跑了一些重存储、轻计算的 Docker 容器);另外有一台淘汰下来的 4790k (游戏性能已经吊打绝大多数至强了,还超便宜)+980ti,但玩游戏完全没问题(特别是 VR ),我日常会跑 Minecraft 和 Space Engineers 的服务器(后者对 CPU 主频要求很高),还能解码 4K HDR (这个 10 系及以上可能会更好,追求 AV1 解码可能需要 30 系)。

根据做运维的朋友讲,一台机器里的硬盘超过 4 块可能就会受到共振效应的影响,然后企业级存储盘就是专门解决这个问题的,但相应成本也高了很多。所以还是建议 4 盘位,或至多 6 盘位,这是个临界值,小于的话可以考虑家用和工控硬件,大于的话就可能只能考虑服务器硬件了。然后真的有超大的存储空间需求考虑一下多台机器做存储集群?

我用的是迎广的 MS04 4 盘位机箱,参照群晖家用产品用的英特尔 J4105 板载 CPU (这货带核显,支持 4K 非 HDR 硬解),内存 4G,主板要是用 PCI 转 SATA 的卡还能至少再扩展 2 个 SATA 位。10W 极低功耗,用 20cm 的风扇几乎没啥声音,希捷酷狼的 4T 盘噪音也可以忽略(至少我用的批次)。

我调研了挺长时间阵列方案,4 盘位比较尴尬,RAID-5 (或 RAIDZ1 等)安全性争议很大,很多人说两块盘同时坏的概率还是不低的,再加上大容量硬盘恢复时间很长,期间再坏一块硬盘的情况也时有发生,所以一般推荐至少冗余 2 块硬盘,但那样就不适合 4 盘位方案了。另外尽可能让自己所有硬盘批次不相同,同批次寿命相同,我硬盘互相都是隔了差不多 1-2 年时间更换的。

所以我自己用的四 SnapRAID+MergerFS 的方案,主要是对冗余的实时性要求不高,且需要在故障发生后能够恢复尽可能多的资料( SnapRAID 只要不是全盘完全损坏,能访问的扇区里的数据还是可以直接访问到的),只不过 SnapRAID 依赖于定期执行检查和备份指令,之前找到过一个脚本用了一段时间,但后来某个版本更新之后就不好用了,暂时也还没时间修复,隔一段时间手动备份一下。还有,有的 RAID 方案是可以通过把一个文件的数据分散到多块硬盘上来提升读写性能的,SnapRAID 本质上还是单硬盘访问,一个文件只会在一块硬盘上,所以你硬盘本身的 IO 速度是瓶颈,不过家用存冷数据应该也绰绰有余了,至少看 4K HDR 电影是完全没问题。

我系统用的 OMV,基于 Debian,提供了 SnapRAID 和 MergerFS 的插件,安装配置有 Web 图形界面比较傻瓜,系统跑在 U 盘里,用 OMV 的插件优化写入可以延长 U 盘使用寿命(我这 2 年多了,还没啥问题),很稳,尽可能保持系统环境纯净,乱七八糟的东西扔到容器里。

以上就是我自己攒 NAS 的一些经验,可能与你的需求有很多出入,觉得有用的话可以参考一下。
Ellison
2021-04-11 11:20:12 +08:00
现在 NAS 直接白群了,折腾就另外搞了台机器
sidkang
2021-04-11 11:37:40 +08:00
@libook 灰常感谢耐心的回复,非常有参考意义。

首先是存储方案部分,非常同意你的意见,我的绝大多数存储内容也属于多媒体文件(图片&视频),典型的使用场景下的确不需要使用过高的 IO 性能,MergerFS 和 SnapRAID 的组合确实是十分适合的场景,我也打算这么应用;另外四盘位本身在使用上的确是一个有些尴尬的情况,但超过四盘位后,合适的机箱选择就成了最大的难题,合适的六盘位或者八盘位机箱都已经基本属于接近中塔机身,同时过于紧凑的机身也不利于硬盘的散热,选着选着就到了中塔机身。

然后就是关于 AIO 的部分,我也再分析一下自己的思路:
1. 可靠性的问题。从硬件上分析,目前的方案基本在于增加了物理显卡(插着看看,囧)以及更多的硬盘,短期内我的硬盘应该不会快速增加到最大的 11 盘容量,这个过程应该会持续较长时间,可以逐步验证;
2. 然后就是考虑合适的机箱(掺杂了部分的 AIO 需求,不太好解耦),考虑到 6-8 盘 3.5 以及 4*2.5 左右的需求,不考虑刀片的话基本就是中塔的尺寸,同时也顺便满足了 AIO 中的 PCI-E 插槽需求;(即便不考虑 PCI 扩展需求,机箱的体积也很难满足需求了)
3. 预算( lol );
4. 目前的板 U 方案也是参考了目前使用的一些平台的情况对比后得出的结论(包括八代 NUC,MacBook Air M1,在公司使用的一台双路 E5-2630V2 的 HPZ640 ),E5-2690V4 应该可以完美解决存储、转码及虚拟化的需求,比较好的解决游戏串流或伪远程玩耍需求。
5. 如果确实出现了崩盘情况,首先重要的数据可以保证存活(包括工作机、NAS 本身的 ZFS MIRROR 的一盘冗余、SnapRAID 提供的再一盘冗余,远程 G Suite&OneDrive Business 的远端加密备份),不重要的数据也可以在 SnapRAID 提供的一盘冗余下至多损失损坏硬盘上的部分数据,这样的安全性目前我自己看来应该是足够了

结论的,我也认同你已经楼上其他人的看法,可靠性会下降,但是现阶段我应该还是会先去往这个方向走,在其他条件满足的情况下再考虑进行拆分(包括购置万兆内网交换、租房占地条件、对于显卡 CPU 性能的要求大幅提高等等)。系统的部分,Proxmox 估计也还是我的选择,无论作为 AIO,还是拆分后一台主存储一台主计算的两个 cluster,都可以作为良好的选择,OMV 的话可能只适合作为单一节点使用,不论是 AIO 还是拆分,对我可能都不那么合适。
sidkang
2021-04-11 11:41:46 +08:00
@Ellison 哈哈,群晖的存储模式无法接受,监控和云端同步套件是真不错,如果我装了监控打算看家里喵星人的话,可能会用黑裙装个监控套件用,😄
BeautifulSoap
2021-04-11 14:16:25 +08:00
@sinxccc 我搞 nas 只打算用作文件存储,不拿来挂下载,到了晚上肯定硬盘休眠,不会有噪音的。比如我一台电脑里挂了 5 块机械硬盘,一到晚上躺床上,硬盘休眠了没有声音,但是风扇声音是真的很吵
woshijidan
2021-04-11 17:11:31 +08:00
风扇声音吵 尝试换被动散热+静音风扇 可以基本很小声
底层系统用 Ubuntu ?可以试试 centos7+kvm/debian10+pve6 (建议后者,用过,不错)
llyuan
2021-04-11 21:58:10 +08:00
可以等等华硕新出的 ProArt B550-Creator 主板 AM4,支持 Thunderbolt 4,可以菊花链外置硬盘盒,这样可以少用一个 PCI-E 口。就是不知道 iommu 支持怎么样
mingl0280
2021-04-12 03:57:24 +08:00
@libook 其实现在某些企业盘比同容量的非企业盘还便宜,挺离谱的,比方说希捷的 Exos X10 ST10000NM0086,这个盘 10T 的 220 多刀,同容量的 CMR 红盘或者 IronWolf 都是 280 多刀……
mingl0280
2021-04-12 03:58:32 +08:00
@sidkang 不要考虑超长 USB/dp,稳定程度和延迟都会让你想砸键盘的。
sidkang
2021-04-12 06:16:43 +08:00
@mingl0280 get,我去确认一下。希捷的企业盘的确便宜,确实搞不太懂= =,但是唯一上手过一块,结果还坏了,囧
doyel
2021-04-12 09:40:48 +08:00
我一般日常使用我觉得 Docker 都用不上,Gen8 直接 Centos7,一个 TR 挂 PT,文件共享走 smb 和 NFS,1060T+4G 还有富裕。。。

顶楼说得很好,先看你要他干嘛。。。
aniua
2021-04-12 09:53:12 +08:00
曾经我也是 All in one,最后还是分离需求,让 NAS 纯粹 NAS,服务器的工作交给服务器。
chevalier
2021-04-14 11:32:37 +08:00
请问楼主最后用 Define R6 了吗? 我也想知道,R6 的硬盘架到底稳不稳
sidkang
2021-04-14 12:41:12 +08:00
@chevalier 参考 https://www.v2ex.com/t/732202#reply16
我个人装机应该需要等到五月份了~

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/769653

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX