Chiphell - 分享与交流用户体验

 找回密码
 加入我们
搜索
      
查看: 127342|回复: 290

[整机搭建] 把折腾进行到底——我的高性能家用NAS搭建

  [复制链接]
发表于 2017-3-5 19:22 | 显示全部楼层 |阅读模式
本帖最后由 阿崔 于 2018-3-4 21:54 编辑

下篇

1 需求

nas.jpg

身为一个资深码农,从开始接触计算机到现在也有将近30年的历史。用到的存储设备也从一开始的5.25"软盘到现在的固态存储。在经历过各种存储介质损坏数据丢失的悲剧之后,越发的了解到数据安全在这个信息化时代对个人是多么的重要。备份方式也从一开始的软盘到光盘再到硬盘+远程服务器的备份方式。这些方式尽管可以保证数据的可靠性,但是不管是日常使用还是进行数据完整性检查都非常不便,所以在两年前最后还是购入了某品牌的TS-651成品NAS。经过两年多的使用,尽管TS-651可以满足日常的基本需求,但是由于硬件限制,实际上还是有很多不便的地方。所以最后在今年年初的时候,下定决心自己DIY一个NAS系统。

有过TS-651的经验之后,基本能了解自己对NAS的需求:

  • 足够可靠的存储,能有不依赖系统或者硬件的RAID就更好,这个经过调研之后选择了FreeNAS,尽管ZFS有着各种扩展上的不便,但是可靠性和性能还是可以信赖的,而且马上就要发布的 FreeNAS 10 用户界面也变得非常方便好用。
  • 支持SMB的文件共享,这个各种NAS系统都支持。
  • 带有各平台客户端的文件同步服务,老婆在之前已经习惯了用QSync同步各个设备上的工作文件,切换NAS后,还是需要这个功能。OwnCloud在这方面是不二人选。
  • 在家庭网络中共享媒体文件。这个功能最后选择了使用Plex,主要是方便易用。
  • 支持虚拟机,这个功能最后选择了使用VMWare的ESXi 6.5作为启动环境,然后在上面运行FreeNAS、Ubuntu Server等系统来完成。
  • 6盘位以上,小型机箱并且足够静音。小型机箱本身就会有散热问题,加上静音要求,那么整个机箱的总功耗就会被限制在一个非常严格的范围内,事实上,整个系统就是在这上面花的心思最多,具体的细节会在后面硬件选型的时候详细描述。

2 硬件
2.1 选型
2.1.1 机箱和电源
机箱方面,首先考虑的就是直接抄FreeNAS的公司iXsystems的官方版本FreeNAS Mini XL。那个的机箱是台湾Ablecome的CS-T80,不过在看过FreeNAS论坛上大家的讨论之后,基本放弃了这个方案,一个是散热不良,只有一个12cm风扇的安装位置,对于8盘位的应用来说,散热能力堪忧。另外一个也是最主要原因就是没有购买渠道。下一个考虑到的方案就是银欣的DS380,但是美亚评论里提到的主要问题还是散热不良,甚至比CS-T80还糟糕,所以也放弃了。后来还是在FreeNAS论坛里发现了一款国货——万由的NSC-800。8个热插拔的3.5寸硬盘位,两个12cm风扇,一个全高的PCIe扩展槽,可以完美满足我的需求。另外在FreeNAS论坛和网上有很多人的装机经验,基本没有什么坑。电源在确定机箱之后,基本也就定下来了,因为机箱支持的只有Flex ATX规格的电源,这个规格下最后选择了海韵的SS-350M1U。

机箱的体积只有316mm x 254mm x 180mm,基本就是紧紧围绕着8个硬盘位设计的,非常紧凑。主板有专门的进风口。 正面除了开关和Reset按钮之外,还有一个USB口,可以和卖家要求是USB3或者USB2。我由于主板限制,用的的是USB2接口。
case-right-front.jpg

使用背面的两个GELID Silent 12 PWM 12cm PWM风扇排出主板和硬盘的热量。
case-back.jpg

两个分别有4个SAS兼容接口的背板使用12个螺丝固定在机箱上,非常的稳固。
case-backplane.jpg

每个背板使用两个4针的Molex接头供电,购买机箱的时候可以选择是8根独立的SATA线还是两根Mini SAS转4口SATA线,我这里因为要用到HBA卡,所以使用的是双Mini SAS。
case-sataconnector.jpg

机箱使用约1.2mm厚钢板加工而成
case-thickness.jpg

2.1.2 主板
机箱决定了只能选择Mini-ITX的主板。由于对数据可靠性和ZFS的需求,大容量的ECC内存成为了必选项。而机箱有限的内部空间,决定了不能使用高发热的CPU。在这些限制条件下,Intel专为高密度计算设计的Xeon D成为了非常好的选择。8个支持超线程的Broadwell核心,最大128G的ECC内存支持,32通道的PCIe总线,集成万兆网和6个SATA。这些特性使得Xeon D-1541有足够强的能力支撑起一个多用途的家用核心存储服务器。更重要的是,在集成了这么多外围接口的情况下,D-1541的TDP依然只有45W。


主频
2.1GHz
最大主频
2.7GHz (单核心)
核心数
8
线程数
16
TDP
45W
L1 Cache
8x32KiB
L2 Cache
8x256KiB
L3 Cache
8x1.5MiB
内存类型
DDR3L-1333, DDR3L-1600, DDR4-1600, DDR4-1867, DDR4-2133, DDR4-2400
ECC支持
通道数量
2
最大内存
128GB
PCIe通道数
32
USB数量
8
SATA数量
6
网络支持
SFI, KX, KR, 1000Base-T, 10GBase-T
CPU特性
x86-64, NX, TXT, TSX, HT, TBT2.0, VT-x, VT-d,
MMX, SSE, SSE2, SSE3, SSSE3, SSE4, SSE4.1, SSE4.2, AES, AVX, AVX2,
BMI, BMI1, BMI2, F16C, FMA3, EIST, Secure Key, OS Guard

在确定了CPU之后,主板本来是准备选择超微的X10SDV-TLN4F,但是找到的超微经销商那里都要么没货,要么就是采用D-1540的Rev 1的版本,最后还是从公司供货商那里找到一个说是D-1541的,结果到手一看,居然是块当初研发用的内部工程板,上面的CPU连ES都不是,干脆是Intel的Xeon D的某个原型芯片,频率规格不符合后来量产的任何一个型号(这个也从某种程度上说明了这些大厂和Intel紧密合作的程度)。
supermicro-cpu.jpg

折腾了很久,最后发现华擎下属的永擎也有相关产品线。永擎作为专门生产工作站/服务器的公司,产品在Homelab圈子里还是有着良好口碑的,iXsystems的FreeNAS mini产品线就全部使用了永擎的C2750D4I主板。我这里使用了D1541D4I-2L2T,规格如下:

CPU
Xeon D-1541
内存容量
4个DDR4 DIMM插槽,最大支持128GB ECC RDIMM
内存频率
RDIMM: 1600, 1866, 2133, 2400MHz
PCIe槽
1个PCIe 3.0 x16
M.2槽
1个PCIe 3.0 x4 支持2242/2280
SATA
6个SATA3 6Gb/s (1x mini SAS, 1x SATA DOM, 1x SATA)
千兆网
2个RJ45, 芯片为Intel i210
万兆网
2个RJ45, 芯片为Intel X557-AT2
BMC控制器
ASPEED AST2400
IPMI 接口
1个RJ45千兆网专用接口,芯片为RTL8211E
显卡芯片
ASPEED AST2400
显存
DDR3 16MB
显示接口
D-Sub, 最大分辨率1920x1200 @ 60Hz
VGA接口
1个D-Sub
USB 3.0
后面板2个
网口
2个RJ45万兆, 2个RJ45千兆, 1个RJ45 IPMI专用千兆
UID按钮和指示灯
1个
COM接头
1个
辅助面板接头
1个(包括机箱入侵检测、定位按钮和LED、前面板网口LED、系统故障LED)
TPM接头
1个
IPMB接头
1个
风扇接头
4个12V PWM接头(1个CPU和3个机箱风扇)
ATX电源接头
1个24针(可以只接20针)和1个8针(和24/20针不能同时接入)
BIOS
128Mb AMI UEFI BIOS

这个主板和超微的X10SDV-TLN4F在布局上几乎如出一辙,不过实际上还是有点不同。一是超微的主板通过一个Hub芯片扩展出来4个USB 2.0接口,而永擎的只有一个USB 2.0接口。二是超微主板上的M.2通过交换芯片共享了CPU的一个SATA 3的接口,所以可以支持SATA的M.2固态硬盘,而永擎的只能支持PCIe的M.2硬盘。三是超微的千兆芯片选用的是i350,而永擎用的是i210,在虚拟化上i350对CPU占用比较小,不过对于Xeon D这种级别的CPU来说,千兆网的占用影响并不大。四是永擎的主板上改用mini SAS提供了4个SATA 3接口,极大的减少了需要的连接线。

motherboard-arch.jpg
这是D1541D4I-2L2T的系统结构图,可以看到受到mini ITX的规格限制,在CPU提供的32条PCIe总线中,只用到了23条。8个USB中只用到了2个USB3.0以及4个USB 2.0(其中有2个用于提供USB 3.0接口对USB2.0的兼容性),6个SATA倒是都已经全部用上。如果想发挥Xeon D的全部扩展能力,还是需要Micro ATX及以上大小的主板才行。

从热成像图上可以看出来,D1541D4I-2L2T的温度比较高的部分都在供电的电感上。但是实际上机的时候,由于万兆网卡的芯片位置,这部分温度也是比较高的。
motherboard-ir.jpg
M1 - 52.1
M2 - 65.2
M3 - 61.2

主板上密密麻麻的全是各种电子元件,最左边是一个PCIe 3.0 16x的插槽。紧挨着的就是PCIe 3.0 4x的M.2插槽,下面是提供4个SATA接口的mini SAS口,靠近边缘的地方是两个SATA接口,其中红色那个支持DOM。CPU使用一个Delta的5cm PWM风扇。注意右侧的24针和8针12V电源接头,切记只能接其中一个。
motherboard.jpg

BIOS还是非常传统的文字界面,不过该有的功能都有了。
bios.png

主板提供的传感器非常丰富,除了CPU之外,还有内存和万兆网卡两个发热大户的监控。
bios-sensors.png

内置的风扇管理调节起来也非常简单,可以根据自己的实际情况进行设置。
bios-smart-fan.png

另外一个需要注意的是,如果和我一样使用三星的M393A4K40BB1-CRC 2400MHz的内存,那么需要在内存设置里关掉Enforce POR。不然因为BIOS里的内存信息数据库比较陈旧,内存只能跑在2133MHz上。这个应该会在未来的更新里面修正过来。
bios-por.png

2.1.3 存储

由于主板只提供了6个SATA端口,除掉系统用掉的一个之外,只有5个可以用于存储。这种情况下,就需要额外的扩展卡,由于FreeNAS使用的ZFS实际上是由CPU完成Raid,扩展卡只需要提供足够的带宽和接口连接硬盘就行了,额外的硬件Raid功能反而有害无益。考虑到FreeNAS的驱动支持,LSI的SAS 9211-8i就成了非常好的选择,8个SATA/SAS接口配合NSC-800机箱刚刚好,PCIe 2 8x提供的32Gbps的带宽也足够支撑大部分情况下8个SATA 3的硬盘使用。

不过用在FreeNAS下面的话还需要把固件升级到最新的20版本,同时最好使用it模式固件。这个可以要求卖卡的店家帮忙刷新。也可以自己从官网下载固件后,在FreeNAS命令行中刷新。
lsi-bios.png

另外需要注意的是由于SAS 9211-8i设计是用于服务器内部的,本身只有一个被动散热片,如果用在不能被风道直接覆盖的地方,需要改用主动散热,大概需要7CMH的风量。我用了一个Notcua的NF A4x10 FLX风扇。
lsi-9211-8i.jpg

系统盘对性能要求并不是太高,一个850 EVO就足够了。

存储方面,ZFS有两种Cache,一个是用于读取的L2ARC,一个是用于写入的SLOG。考虑到家庭应用场景中很少会有高并发的同步操作,SLOG由于需要高可靠性,有非常多的额外成本,而在使用SMB这种非同步写入的时候,对性能没有任何提升,完全可以不使用。所以最后用了一个三星的960 EVO做L2ARC,对反复读取相同文件还是有非常好的性能提升。


2.1.4 散热

原配的机箱风扇和CPU风扇都有噪声过大的问题,CPU风扇相对比较简单,直接换成GELID的Silent 5即可,最大风量从23CMH变成22CMH,损失5%,但是噪声等级直接从33.5dBA降到了23dBA,还是非常可观的。
silent5.jpg

机箱风扇的选择比较复杂,为了延长机械硬盘寿命,硬盘温度最好控制在35-40摄氏度之间,加上CPU/内存/SSD/万兆网卡等的散热,还是需要大概进行一些计算。首先,以室温26度,流经主板空气最终温度60度计算,中等负载的主板大概需要63CMH的流量,而以硬盘空气最终温度37度计算,8块硬盘大概需要138CMH的流量,加起来201CMH。

理论上两个Noctua的NF S-12A PWM应该刚刚好。但是,显然我算错了,按这个计算安装之后,万兆芯片温度可以飙升至90度以上,硬盘温度也在41-42度左右,甚至某些时候会跑到44。经过测量,发现问题出在NSC-800结构过于紧凑,尽管机箱风扇是对外排风,但是由于进风阻力比较大,还是会损失不小的风量。在所有的高风量风扇中找了一圈,最后考虑到噪声和风压的平衡,还是选择了Noctua的NF F-12IndustrialPPC-2000 PWM。

2.1.5 零件清单

部件
型号
数量
主板
ASRock Rack D1541D4I-2L2T 集成 Intel Xeon D 1541
1
内存
Samsung M393A4K40BB1-CRC 32GB DDR4-2400 ECC RDIMM
4
HBA
LSI SAS 9211-8i 8口SAS适配卡,固件IT模式
1
系统盘
Samsung 850 EVO 250GB
1
缓存SSD
Samsung 960 EVO 500GB M.2 NVMe SSD
1
机箱
万由 NSC-800 8盘位NAS机箱
1
电源
SeaSonic SS-350M1U 350W Flex ATX规格电源
1
CPU风扇
GELID SILENT 5 5cm风扇
1
机箱风扇
Notuca NF-F12 IndustrialPPC-2000 PWM 12cm风扇
2
HBA风扇
Notuca NF-A4x10 FLX 4cm风扇
1
电源延长线
24针硅胶软线
1

2.2 安装

首先是所有部件的全家福,960EVO把外包装落在公司,所以没出现。
all-parts.jpg

这是后来改用的Noctua NF F-12 IndustrialPPC-2000 PWM风扇。
f12ppc2000.jpg

这个机箱比较特殊的地方一个是主板反装,机箱自带了一块透明塑料片,用来防止主板在特殊情况下接触到外壳短路。
case-motherboard.jpg

另外一个比较特殊的地方是由于位置的限制,PCIe扩展卡的插槽需要用一根延长线连接到主板的插槽。电源也要注意不要选太长的,否则可能会放不进去。
case-up.jpg

日常待机温度
temperature.png

3 总结

噪声方面在经过尝试多个风扇之后,最后把日常工作噪声控制在40dB之下
noise.jpg

性能方面SMB共享因为FreeNAS 10的某些配置问题,写入速度只有50多MB/s,暂时还在研究解决办法中。NFS和iSCSI速度都非常正常。
Windows下面iSCSI性能如下,可以在多线程情况下跑满万兆网的带宽。
benchmark.png
benchmark-result.png

本来是想用PXE搭配iSCSI做无盘工作站,但是微软从Windows 8开始PXE启动就必须使用VHD作为iSCSI Target上的磁盘格式了,对于我们这种买不起Windows Server的穷人来说,基本就没啥办法了,只能拿iSCSI作为副硬盘使用。

评分

20

查看全部评分

 楼主| 发表于 2017-3-5 19:29 | 显示全部楼层
本帖最后由 阿崔 于 2017-3-5 19:37 编辑

4 软件(待完成)
4.1 网络环境
4.2 底层系统
4.2.1 IPMI

4.2.2 ESXi
4.2.3 FreeNAS

4.2.4 Ubuntu Server

4.3 应用
4.3.1 OwnCloud
4.3.2 Plex
4.3.3 Sage
4.3.4 Ubnt UniFi Contoller
发表于 2017-3-5 20:04 | 显示全部楼层
赶上直播了么?支持楼主,可以借鉴的地方很多。
发表于 2017-3-5 20:18 | 显示全部楼层
我这顶起来  等楼主更新
X宝搜了一下 这机箱有点贵。。
发表于 2017-3-5 20:21 来自手机 | 显示全部楼层
很不错,等更新。
发表于 2017-3-5 20:25 | 显示全部楼层
从规模到选型  不恰当的比喻

楼主简直是在家里搞核试啊
发表于 2017-3-5 21:00 | 显示全部楼层
从选型考虑到理论分析都很翔实全面,然后我去搜了搜价格...确实比群晖1815实惠一点
发表于 2017-3-5 21:04 | 显示全部楼层
LZ的装备真齐,红外测温仪,噪音计。
发表于 2017-3-5 21:21 | 显示全部楼层
多盘位是亮点!
发表于 2017-3-5 21:22 | 显示全部楼层
厉害
不过岁数大了,实在是懒得弄自建NAS咯
发表于 2017-3-5 21:27 来自手机 | 显示全部楼层
期待楼主大作
发表于 2017-3-5 21:33 | 显示全部楼层
技术贴啊,学习了
发表于 2017-3-5 21:43 | 显示全部楼层
个人用 X10SDV-TLN4F
请问下你这D1541D4I-2L2T多少购入的
如果它的sas可以接Expander ,就可以省一个pcie位了

可惜没有ITX 10G网卡 SAS口*2那就完美了
发表于 2017-3-5 22:08 | 显示全部楼层
好详细啊,看得想换一个。
发表于 2017-3-5 22:18 | 显示全部楼层
楼主的机箱多少钱买的?能PM下价格吗?
发表于 2017-3-5 22:19 | 显示全部楼层
楼主说下一共花了多少米吧
发表于 2017-3-5 22:26 来自手机 | 显示全部楼层
lz 能不能帖下价格。。。
 楼主| 发表于 2017-3-5 22:33 | 显示全部楼层
vgbjack 发表于 2017-3-5 21:43
个人用 X10SDV-TLN4F
请问下你这D1541D4I-2L2T多少购入的
如果它的sas可以接Expander ,就可以省一个pcie位 ...

价钱是一样的。。。
SAS是从CPU导出的,和Cxxx的一样,都不支持Expander。
Micro ATX的Xeon D就有集成LSI芯片的了。
 楼主| 发表于 2017-3-5 22:33 | 显示全部楼层
本帖最后由 阿崔 于 2017-3-5 23:07 编辑


发重复了。请删除。
发表于 2017-3-6 09:51 | 显示全部楼层
让楼主搞得心痒痒了,等楼主更新,先学习一下
发表于 2017-3-6 10:15 | 显示全部楼层
我本来以为这机箱贵不到哪里去,看到主板知道LZ是土豪,再看评论知道我彻底错了
发表于 2017-3-6 10:39 | 显示全部楼层
其实这个速度还是960evo的slc缓存速度吧,大量数据写入还是跑不满万兆,期待有个实测
发表于 2017-3-6 10:59 | 显示全部楼层
楼主这是下了血本了
发表于 2017-3-6 11:31 | 显示全部楼层
技术贴,不错不错,万由得就是做工差了点,性价比较高
 楼主| 发表于 2017-3-6 12:17 | 显示全部楼层
本帖最后由 阿崔 于 2017-3-6 12:21 编辑
errantry83 发表于 2017-3-6 10:39
其实这个速度还是960evo的slc缓存速度吧,大量数据写入还是跑不满万兆,期待有个实测 ...

和我用的阵列也有关系,我这个纯粹是为了低成本和可靠性,用东芝的3T桌面盘做了一个6盘的Raid Z2加一个2盘的Raid 1,而且也没开写入的SLOG,内存的缓存用光了就掉到200多MB/s了。大量数据写入应该用Raid 0或者Raid 10,写入带宽都是可以直接算出来的。
发表于 2017-3-6 12:30 | 显示全部楼层
这套系统功耗多少?
发表于 2017-3-6 12:40 | 显示全部楼层
楼主这个好折腾,羡慕楼主。。。
发表于 2017-3-6 12:52 来自手机 | 显示全部楼层
用过u nas的机箱,时间久了不知表面磨砂塑料会不会溶解,黏糊糊的。
发表于 2017-3-6 14:19 | 显示全部楼层
关注关注 期待更新
发表于 2017-3-6 15:10 | 显示全部楼层
这种机箱为啥要卖这么贵?
以后有降价可能性么?
您需要登录后才可以回帖 登录 | 加入我们

本版积分规则

小黑屋|手机版|Archiver|Chiphell ( 沪ICP备12027953号-5 )沪公网备310112100042806

GMT+8, 2019-1-24 10:25 , Processed in 0.030014 second(s), 15 queries , Gzip On, MemCache On.

Powered by Discuz! X3.1

© 2007-2017 Chiphell.com All rights reserved.

快速回复 返回顶部 返回列表