打造半万价位(不含硬盘)的地表最强 NAS
本内容来源于@什么值得买APP,观点仅代表作者本人 |作者:什么值得买匿名网友
自我介绍:某不可描述圈的边缘小站 OP 一枚,10 年家用 NAS 经验。
从 2010 年入坑 NAS 以来,经历了品牌 NAS 的高价格低性能,DIY NAS 的低颜值、不稳定,最终决定彻底的把家里的 NAS 一步到位升级为 Dell PowerEDGE R720xd + TrueNAS。
价格:5000元(其实 2600 就够了,价格不包含硬盘)
功耗:低负载 140w,高负载 200w
噪音:约 50dB(不可放在卧室)
存储配置:8 x 8TB 7200rpm 企业级硬盘 + 2 x 800GB SATA SSD,有效存储空间 40TiB
性能:连续读:5115 MiB/s,连续写:2797 MiB/s,4K 连续读:718 MiB/s,4K 连续写:313 MiB/s
正面 12 个 3.5 寸热插拔盘位
背面 2 个 2.5 寸热插拔盘位,冗余双 495W 白金标热插拔电源,双10G+双1Gb网卡
IDC 机房下架的二手 Dell PowerEDGE R720xd 12 x 3.5硬盘 准系统 - 980元(运费75)(自带)iDRAC Enterprise 授权,H310 mini 阵列卡,4x1Gb 网卡,1个 495W 白金电源,2个 CPU 散热器 - 0元更换 2x1Gb + 2x10Gb 网卡 - 360元额外 11个 Dell 3.5 硬盘架(12元/个) - 132元(可以选购)第二个 495w 白金电源 - 50元(可以选购)后部 2 x 2.5 硬盘扩展卡,包含两个 2.5 硬盘架 - 224元(可以选购)Dell 面板保护罩 - 20元
Dell PowerEDGE R720xd 内部
E5-2630Lv2 6C12T - 104元(包邮)
CPU 基本上买一个可以兼容的便宜的低功耗的型号就可以了,我在淘宝花了 5 分钟时间研究了一下,这个型号性价比比较高。
E5-2630Lv2 6C12T
REG DDR3 64G - 600元(可以选购)额外增配1 REG DDR3 64G - 600元(可以选购)额外增配2 REG DDR3 128G - 1200元内存频率无所谓,1066/1333/1666 找便宜的买就行
其实对于大多数用户来说 32-64G 就可以达到足够的性能需求了。我这里直接上了 256G。
三星 REG DDR 3 RDIMM 32G,8条
CPU、内存、散热器安装完毕
系统盘
16G U盘 - 40块钱
网卡
用于另一端台式机的 Intel X520 单口/双口 10G 网卡 - 200元/500元
注意:此网卡必须插在 PCI-E x8 的插槽中,x4 的不行。我选择它是因为他便宜,并且我也有空闲的 x8 插槽。如果没有 x8 了,可以考虑用其他型号的网卡替代。
Intel X520 双口万兆网卡,光纤模块,多模光纤
线缆
SFP+ 直连线 - 50元 或者 2 x SFP+ 模块 + 多模 OM3 光纤 - 约200元
总计价格
约 2600元 - 5100元。基础配置和满配主要相差在内存上,2600 元的配置几乎有 5000 元配置的 80% 性能。
可额外再增配两块 Mellanox ConnectX-3 Infiniband 56G 网卡 + 电缆 - 大约 1000-1200元
磁盘
磁盘价格并未计入 NAS 价格,这部分视不同需求和预算因人而异。以下是我的配置。
HGST HC320 8TB 7200rpm 企业级硬盘
Intel SSD DC S3510 800GB 固态硬盘
完整的测试应当使用内存容量 x2 进行,但是实在太慢了(要超过一天时间),本测试只使用 16GiB 数据进行,并且只测试了顺序和随机读写,结果如下。
测试参数:iozone -Raz -g 16G -i 0 -i 1 -i 2 -f /mnt/pool0/test/testfile -b /root/iozone.xls
存储池配置:8 x 8TB 7200rpm @ RAID-Z2 + 2 x 800GB SSD L2ARC
8 x 8TB 7200rpm @ RAID-Z2 + 2 x 800GB SSD L2ARC
- 顺序写入
Max 2797MiB/s,Min 91MiB/s,Avg 1438MiB/s
- 顺序再次写入
Max 3341MiB/s,Min 222MiB/s,Avg 1601MiB/s
- 顺序读取
Max 5115MiB/s,Min 432MiB/s,Avg 2468MiB/s
- 顺序再次读取
Max 5256MiB/s,Min 418MiB/s,Avg 2634MiB/s
- 随机读取
Max 5566MiB/s,Min 125MiB/s,Avg 2712MiB/s
- 随机写入
Max 4601MiB/s,Min 21MiB/s,Avg 1731MiB/s
功耗
根据 iDRAC 中的功耗显示,低负载时(idle)大约 140w,高负载时(万兆网卡持续读写)大约 200w。
BIOS 中有两个设置项需要修改:1. iDRAC Settings - Thermal 设置为:Minimum power (Performance per watt optimized)2. System BIOS 设置为:Performance Pre Watt (OS)
iDRAC 功耗显示,idle 状态大约 140w
NAS 的功耗主要还是集中在硬盘上,一般来说 5400/5900 rpm 的硬盘大约 5-8w,7200 rpm 的硬盘大约 7-12w 功耗。使用标准服务器作为 NAS 在功耗上肯定和 ARM/低端x86 架构的设备比不了,但是硬盘安装的越多,差异就越小。前面的价格清单中,价值 50 元的二手电源实际上是具有白金标顶级能耗水平的电源,功耗效率会比 DIY 机型更有优势。部分零部件功耗估算值:7200rpm 机械盘大约 7-12w5400rpm 机械盘大约 5-8wREG DDR 3 1333 RDIMM 32GiB 内存大约 8-12wREG DDR 3 1333 RDIMM 16GiB 内存大约 5-6w2 x 1Gb + 2 x 10Gb 网卡大约 20-30w 功耗(所有端口满负载)4 x 1Gb 网卡大约 15w 功耗(所有端口满负载)
噪音
我没有可靠的设备进行噪音测试,只能使用手机和主观感受做一下描述。首先,启动时风扇会 100% 转速自检,大约持续5秒,噪音大约等于飞机从头顶飞过。之后,风扇回落到 10-15% 转速,iDRAC 显示风扇大约在 4000rpm 左右,噪音变得可以接受,大约 50dB,差不多和具有 GTX1070/RTX2070 以上级别显卡在轻度负载时的噪音相同。所以,这台机器是不能放在卧室使用的。我放到了阳台,一窗之隔的卧室几乎无法听见噪音。R720xd 具有 6 个模块化的风扇,系统会自动根据硬件配置情况调节每一个风扇的转速。比如,如果只安装 1 个 CPU,并且只在左侧安装 1-6 块硬盘,那么右侧的 3 个风扇多数时间只会运转在大约 3-5% 的转速上,而左侧会在 10-15%。
如果仍然感觉噪音太大,还可以通过更改 BIOS 设置,降低风扇基础转速系数达到静音节能的目的。
大多数朋友可能平时并没有接触过 IPMI/BMC 这一类专业服务器才有的东西。
iDRAC 就是 Dell 给自家服务器研发的一套 BMC 系统,可以说是一台微星小电脑,它包括自己的 CPU/内存/闪存/网卡。他在服务器电源关闭时仍然可以正常工作,模拟键盘/鼠标/显示器/光驱远程控制服务器,请注意它不是远程桌面那种基于操作系统的软件协议的,而是直接接管 USB/VGA/CDROM。
iDRAC 分为两个版本:Express 和 Enterprise,前者免费,后者需要单独购买 License。iDRAC 的主要功能都需要 Enterprise 版本才能使用。本文中提及的二手服务器价格包含了 Enterprise 授权(上家遗留的)。
更具体的 iDRAC 功能请自行百度,在这里简述一下我认为比较有用功能:
- 基于 HTML5 的远程控制,全周期远程管理服务器。包括开关电源、进入 BIOS 更改配置、安装操作系统等。
- 覆盖全部硬件的健康监测系统,并记录日志。详细对应到某个具体的内存插槽位置、磁盘位置、电源模块等。
- 对于硬件的报警(比如温度、电缆故障)可以通过 Email/SNMP 等方式主动发送报警信息。
- 实时的电压、电流、功率和温度监测日志,最长可以保存一周的曲线图。
- 通过 Web 界面更改部分 BIOS、网卡、阵列卡设置,更新 iDRAC/BIOS 固件。
ZFS 作为免费的、成熟的文件系统,可以说是最强的,没有之一。作为代价,需要足够强大的硬件来支撑。更具体的 ZFS 的先进性请自行百度。
ZFS 所能提供的读写速度大幅超越千兆口的最大带宽,上万兆是必须的。
ZFS 是一套重度依赖内存容量的文件系统,建议内存容量为 0.5GB内存/TB硬盘容量。
TL;DR: 在预算还有剩余的前提下,应当优先购买内存而不是考虑 SSD 缓存。
L2ARC (Level 2 Adjustable Replacement Cache) 是 ZFS 针对读取的一种缓存机制,敲黑板划重点:针对读取。所以开启 L2ARC 是不会提升写入性能的。与 L2ARC 对应的是 ARC(Level 1),也就是内存。每个 L2ARC 块(通常为4KiB)需要占用 88 字节的 ARC 内存用于存放记录,大约 480GiB L2ARC 需要消耗 10GiB ARC 内存。所以当内存不足时,增加 SSD L2ARC 可能会导致性能不升反降。
SLOG 是 ZIL 中的一部分,用于确认 sync write(同步写入)操作。请注意,大多数场景下写入都是 async write(异步写入),此时 SLOG 设备并不会提升你的写入速度。SLOG 所担负的功能决定了 sync write 时的性能和数据完整性,设备选择方面需要符合以下几点:
- 足够高的 IOPS 和足够低的通讯延迟:如果 SLOG 的 IOPS 还没有 pool 里的硬盘快(比如用一个 SATA SSD 做 12 x SSD 的 SLOG),那要他何用?
- 完整的企业级掉电保护(PLP):SLOG 数据丢失可能会导致你的 pool 数据发生异常,这一点非常重要。
- 容量:SLOG 最多只需要保存 5s 左右的记录,所以容量并不需要太大,10GiB 容量足以满足大多数场景的需求。
- 寿命:SLOG 的重要性决定了他必须非常的可靠,建议使用企业级 SSD 颗粒或者傲腾颗粒。
推荐的 SLOG 设备:Intel Optane P4800X(不用搜了,天价产品)
有些朋友可能会想到使用顶级的消费级 NVME SSD 来充当 SLOG,例如 16G/32G 傲腾,SN750,三星 980 Pro 等。这些 SSD 是没有完整的掉电保护功能的,在异常发生时他们无法保障数据安全。如果你决定使用他们的理由是只要性能不要安全,那么可以通过设置 dataset 的 sync=disabled 参数将所有的 sync write 转化为 async write,可以理解为此时内存充当了 SLOG 设备,同时失去了数据安全的保障,但是性能比任何 SSD SLOG 都要快。
最后,再次强调 SLOG 只针对 sync write 有效,而用到 sync write 的场景是非常少见的(esxi 访问 datastore 是纯 sync write,无论通过 iSCSI 还是 NFS 协议)。
更多软件层面的玩法,以后有时间了我会在继续写。在这里只是抛砖引玉,给各位盘爸爸一个新的思路,不要局限于渣渣辉、渣渣通、某些动辄上千元的 NAS 专用(塑料)机箱这类高价低质的产品上。