新浪网

构建数据中心级 NAS - 硬件篇

什么值得买

关注

确定不再关注此人吗

作者:AnonSaber

前情提要

本文所提供的方案具有可复制性,指导性,研究性,然而绝非代表最佳实践,本文内的所有讨论都基于上下文做论述,请不要断章取义,转载需注明来源

本方案意在探讨如何在家用环境下构建数据中心级的 NAS,设计过程中充分考虑了性价比,然而绝非性价比很高的方案,也并非纯小白用户能够驾驭的方案(然而相信纯小白用户依旧能从本文得到一些收获),部分情况下甚至需要较深厚的 Linux / Network 知识。

本文中提到的 NAS 为狭义上的 Network-attached storage,与消费级市场上对 NAS 的解释有些不同。本文提到的 NAS 只能提供存储功能,并不能直接的提供计算和媒体功能。因此需要计算或是媒体中心硬件的存在。

完全套用本文所使用的设备,推荐用于 2T - 4T 存储数据量的需求,在不考虑成本的情况下 16T 甚至更高存储数据量的需求也能被使用,请酌情考虑。然而本文的方案可用在其他设备上,这时容量规划受其他设备的瓶颈所限制。

本方案与本文在本文中的意思请注意区分,本文指本文提到的方案+本人目前使用的设备,本方案则指本文所提到的方案,经过合理的改造也可以用在其他设备中。

本人不具备详尽调查所有商业 NAS 的能力,本文中对于商业 NAS 论述均取自于各产品在本文发布时的正式版或稳定版产品文档,对于商业 NAS 未公开的事项不做猜测,不做评论。

本方案所使用的系统及软件全部使用了 开源、非商业或免费许可,因此许可费用在本方案中为零。

本人职业: 较为资深的运维工程师

设备清单

  1. Riverbed CX-570 

    Intel B925C (15W TDP) + 2 x 8G DDR3 (ECC UDIMM Support) + 6 x 1000Mbps RJ45 Port (Bond) + 4 x 1T SATA SSD (RAIDZ2) + 2 x 16G SATA SSD (ZFS Mirror)

  2. TP-LINK TL-SG2218

    Managed switch with 16 x 1000Mbps RJ45 Port

在这组设备清单中,Riverbed CX-570 充当 NAS 角色,是我们要讨论的主角,TL-SG2218 则可以更换成任何品牌的网管交换机。

FAQ

本文将 FAQ 放置到较列的位置,以节省非目标读者的时间。

Q: 为什么你的设备规划了 2T - 4T 的存储数据量?

A: 因为受制于 Riverbed CX-570 的体积,最多使用 4 块 2.5 英寸 (7mm) 厚度的 SATA SSD,且本文使用 4 块硬盘组成 RAIDZ2 的方式,对于单块容量超过 2T 的 SSD,将变得缺乏性价比。使用 2.5 英寸的大容量 HDD 由于厚度的问题也是不可行的。如果你希望在更大容量下使用本方案,请自行寻找合适的设备。

Q: 为什么你要使用 Riverbed CX-570?

A: Riverbed CX-570 提供了 ECC 内存支持,且某鱼上价格只有 500 元,提供 6 个端口 (4个端口需要进行特殊设置),在配合网管交换机的情况下能够提供最高 6000Mbps 的传输速率。对于我个人来说,2T 的存储空间完全满足需求(我更关注恰到好处的性能,因此全部使用了 SSD)。

Q: 为什么要使用 ECC 内存?

A: 由于本方案定位企业级,企业也可以使用本方案构建 NAS。关于是否是必要使用 ECC 内存的讨论有足够多的文章,本文这里不做介绍,本文只提示不使用 ECC 内存可能会发生的问题 (这一点在理论方面没有专业人员给于否认)

在不使用 ECC 内存时,与文件系统无关,无论是使用 ZFS (威联通使用的文件系统) 或是 BTRFS (群晖使用的文件系统),如果你购买他们的非 ECC 内存版本,在最糟糕的情况下,文件系统的元数据可能遭到破坏,这将是致命性的,会有概率导致全部文件的丢失。

Q: 为什么要使用 ZFS 而不是 BTRFS?

在宿主机上使用 ZFS 是我个人的习惯,对于 BTRFS 和 ZFS 孰优孰劣,威联通和群晖两家争论得不可开胶。从我个人目前的使用经验上来看,ZFS Mirror 和 RAIDZ2 的可靠性是得到时间检验的,他们从未出现过故障,而我的 ZFS Single Disk 在有或是没有 ECC 设备上都出现过损坏的故障,我的 BTRFS Single Disk 在没有 ECC 的情况下也出现过故障。我并没有遇到 BTRFS Single Disk 在有 ECC 设备上的出现故障的情况,然而我使用 BTRFS 的时间不够久 (6年),这并不能证明 BTRFS Single Disk 优于 ZFS Single Disk ,或许意外还没有发生。至于 BTRFS 的 RAID 5/6 我并没有足够的测试过。

架构图

Riverbed CX-570 通过如下的架构向其他设备提供 NAS 服务。

其中,Mikrotik RB952Ui-5ac2nD (5 x 100Mbps Bond) 作为我出租房子的二级路由器 (我无法修改一级路由器,DDNS 是不可能的),用于访问公网,可以替换为更好的无线路由器。

Tencent Cloud HK (30Mbps) 作为向公网提供服务的设施,可以替换为任何其他内网穿透方案,或 DDNS 方案,甚至可以直接使用公网 IP。

至于 Jetway JNF795T2-Q170 (4 x 1000Mbps Bond) 则是充当了计算和媒体中心(I5-7600T 是能够支持 4k 视频播放的),它与 NAS (Riverbed CX-570)之间的通信带宽目前为 4000Mbps,每秒 500MB/s 的传输速度还是能满足家用场景的。可以更换为其他的计算单元,通过 bond 的方式最多可以与 Riverbed CX-570 实现最大 6000Mbps,即每秒 750MB/s 的传输速度。

设备改造与使用

Riverbed CX-570 的示意图:

Riverbed CX-570 内部包含了一个板载的 Intel B925C CPU,两个 2 SATA 接口,一个 PCI-E 2.0 x8 接口 (是的没错,是 2.0 不是 3.0) 以及两个 4020 风扇。

尽管 ZFS RAIDZ2 提供了断电保护能力,然而为了尽可能的保证数据的安全性,Riverbed CX-570 应使用 UPS 供电,并监控 UPS 失去市电后执行关机操作。

本文的案例中所做的处理:

  1. 使用 PCI-E 延长线链接外置显卡完成 Proxmox 的安装。

  2. 将 CPU 的被动散热器高度削减为一半,在上面叠放两个 m.2 固态硬盘用的带风扇的散热器。

  3. 将两个 4020 风扇替换为 4007 风扇,配合步骤 1 的处理,能保证散热的情况下降低噪音,目前温度在 30-48 度之间。

  4. 将 PCI-E 使用转换为 nvme,再将 nvme 转换为 4 个 SATA 3.0。

  5. 将 4 个 SATA SSD 两个一组使用硬盘架固定。

  6. 为了平衡成本和容量,四块 SSD 建议按照 1 x MLC + 2 x TLC + 1 x QLC 的方式配置,或是 4 x TLC 的方式进行选购。由于能够同时损坏两块硬盘,其中两块硬盘的质量可以稍微降低。

系统与软件

在 Riverbed CX-570 中,创建虚拟机后创建 samba/webdav/mysql/garagehq (s3)/juicefs (s3-gateway) 服务,使用 Rclone 定期备份数据到其他位置。

在充当计算和媒体中心的 Jetway JNF795T2-Q170 中,部署 Seafile Pro (3 用户免费) 对接 S3 存储,用于提供更便捷的数据访问方式。部署 JellyFin 对接 Samba,实现流媒体观看。

计算和媒体中心上可以部署更多的服务,用来实现商业 NAS 中支持的很多扩展功能。

这部分将会在软件篇提供具体的实施步骤。

优势

  1. Riverbed CX-570 的体积较小,功耗较低,使用 DC 供电,搬家或是挪动都比较方便。

  2. 使用 ECC 内存的商业 NAS 价格相当高,本方案改造的 Riverbed CX-570 能够以较低的成本提供 Samba + Webdav + S3 三种存储协议,通过部署在计算中心上的 Seafile 则可以提供 C/S 架构,B/S 架构的访问。

  3. 提供企业级抗数据损坏风险能力。

  4. 计算和媒体中心独立,可轻易的升级计算和媒体中心的硬件,甚至可引入多个计算和媒体中心。

劣势

  1. Riverbed CX-570 容量空间有限。

  2. Riverbed CX-570 没有集成显卡,无法 All in One。

发布于:北京

特别声明:以上文章内容仅代表作者本人观点,不代表 新浪网观点或立场。如有关于作品内容、版权或其它问题请于作品发布后的30日内与 新浪网联系。
中央巡视组进驻四川首虎落马409万
纽约市民凌晨排两条街长队买中国相机386万
35岁女子月入五万北漂十几年只攒下十万341万
太原一美人鱼表演者表演时疑溺水326万
以旧换新带动销售额超7200亿289万
央视曝光剧本式直播诈骗套路286万
查看全部实时热点
请输入评论内容

举报成功

举报

请您选择举报的原因

说说你的看法

打开APP
意见/建议 反馈入口
  • TOKEN
  • 标题/昵称
  • 反馈内容

已反馈成功~

意见/建议 反馈入口
  • TOKEN
  • 标题/昵称
  • 反馈内容

已反馈成功~