垃圾佬低成本搭建多盘位NAS服务器

2021-02-08 18:25:51 90点赞 386收藏 46评论

在之前,我一直使用打游戏的Windows台式来兼职作为NAS。Windows下虽然也有FTP、jellyfin等工具支持,但还存在很多问题。第一个就是远程访问麻烦,没有ssh这样简单高效的工具;第二个是功耗太高,外围设备多,休眠策略不能有效工作,挂了7个盘,待机功耗就往80W上走,吃下CPU直接给你100W看。

为了绿色环保的宗旨,我决定利用手头闲置配件和上某鱼捡垃圾,搭建一个专门的低功耗NAS服务器,用来提供一个6盘以上的文件访问服务。问题来了,苦逼博士生没有钱,预算从哪里来?那就从未来省下的电费来!垃圾佬低成本搭建多盘位NAS服务器

硬件选择

搭机器最重要的就是选择平台了。网上大部分的自组NAS方案都是基于J1900/3455,带T酷睿,或者200GE等。但除了J1900、E-350这两个方案外,整机预算都会破1000。1000元远远超出我的预算,三四百内还有可能。

此时我不禁想起了去年年中的惠普一批N3050/N3700的二手板子。N3700的性能接近J1900,N3050则还要弱10~20%,但反正主要只是用来传输文件,挂PT,性能完全不重要垃圾佬低成本搭建多盘位NAS服务器 !N3050的TDP才六七W,闲鱼上找了一个130打包主板和4G双通道内存的,收下!

扩展性上,HP N3050有一个PCIE,一个M2口,千兆口,HDMI+DVI,2个板载USB3.0,几个前置USB2.0针脚,两个板载SATA。需要注意的是有商家称这个板子BIOS不支持阵列卡,不知道插个直通的SAS2008这种可不可以。我手头有个乐扩的4口扩展卡,插上加起来一共6口。有需求的朋友可以用SAS2008,或者再利用上M2口,最多12个SATA口。。
PS:我用的这张扩展卡在其他平台上自检会有信息等入口,但在这个平台上是没有的,BIOS不支持RAID可能就是指这样的?另外这块板子还有DC输入的版本。

垃圾佬低成本搭建多盘位NAS服务器

如果有热拔插、小型化的刚需,可以在机箱的选择上增加预算。如果没有需求,一个普通ATX机箱其实就可以实现即便宜、又多硬盘位,又好散热,又可以用ATX电源。

线下10元自提了一个垃圾38度机箱。被动散热的平台也没有发热大户,保证硬盘有风扇吹就好,就可以把硬盘温度压制在40度以下。我沿用了以前的光驱位转3.5盘位的,一次性到位还是买3光驱位转5盘位这种。这样ATX机箱基本就不用担心硬盘位的问题。因为光驱位没有风扇位置,同时堆积了一些线材,积热比较严重,于是祭出尖嘴钳强拆爆改,卡了一个12cm风扇进去,装光驱位风扇后,温度可以直降20度。

垃圾佬低成本搭建多盘位NAS服务器

电源收了一个台达的ATX电源。因为需要长期开机,电源是一个比较关键的部分,建议还是尽量买有PLUS牌子认证的。另外用手上一个创见MLC SSD的垃圾用来做系统盘。大家不介意的话,用U盘做系统盘就可以了。

所有项目完整金额(参考*鱼价格)

  • HP N3050 + 2*2G 1333 尔必达,130

  • 台达电源,90

  • 机箱,10

  • 乐扩PCIE SATA扩展4口,75。(如果用SAS2008扩展8口,算上线材,要贵出100元左右)

  • 便宜风扇*2,10

  • 创见64G MLC SSD,60

  • 光驱位转3.5寸盘位 x3,20

总价400元内,这个价格现在其实也可以直接收到一个没有改过的4盘位热拔插星际蜗牛。两者相对的优劣很明显,以自己需求为准吧。如果对扩展性有需求,蜗牛肯定不行。

系统

因为是一个低性能平台,选择了OpenMediaVault。OMV本质上就是一个debian的扩展版,增加了一个web界面来对服务、磁盘等状态进行管理。因为对linux比较熟悉,所以没有什么门槛,如果大家没有linux基础,个人不太建议使用。

为什么不上群晖?群晖可能是一个更针对开箱即用场景的方案。感觉除了photo station以外的所有功能都能找到开源软件替代,而刚好我照片管理用的google photos。同时群晖相对而言,在性能上还有额外的开销。

官网下载OMV5镜像,整体流程类似安装debian。需要注意在安装时,除了系统盘和引导盘,不要插入其他磁盘,否则可能会遇到grub安装失败(明显bug,我看社区15年就有讨论过这个问题,但直到OMV5都没有完善解决,真的嗷)。

在文件管理上,我拒绝使用RAID:

  • 对我来说廉价磁盘阵列并不那么廉价

  • 我的磁盘杂乱,不对称且性能、寿命不均

  • 我对可用性(availability)需求低,冷备的方式也能增加硬盘空闲时间

  • 我的绝大部分数据都是影音文件,它们连冷备都不值得做。

  • RAID并不能保证数据完整性的安全,现在单盘容量越来越大,URE会成为一个关键的问题,用ZFS才是正确的解决方案。

同时因为已经有大到不易迁移的老文件,Linux就直接挂载上NTFS,新盘可以用exFAT等其他系统也能用的格式。在Windows上我管理多盘是使用简单的挂载策略来合并多盘,或者跨区卷。在linux上有个很有意思的工具,mergerFS,在FS层以上提供一个中间层来把对多个FS的访问透明地根据设置的策略制定到不同的FS上。多个FS的目录树合并后,是mergerFS的文件树。由于负载均衡的最小粒度是文件,只有多文件并发场景可以提速(千兆内网做这个其实也没什么意义)。

我为了减少所有硬盘总运行时间,分配策略就是先占满现有的再往后分。但现实很骨感,因为目录树等元数据的访问,事实上一个ls就会叫醒所有盘。但mergerFS因为实现是在原有FS之上,因此可以做跨不同文件系统的弹性扩容缩容。所以根据占用情况去增添磁盘还是可以实现减低功耗的目的的。

如图所示,两个2T的FS可以组成一个4T的FS。

垃圾佬低成本搭建多盘位NAS服务器

使用mergerFS可以在OMV管理界面上通过unionflesystem插件操作。为了安装unionfilesystem,首先需要安装extra这个第三方插件支持。

安装extra插件:$ wget -O - https://github.com/OpenMediaVault-Plugin-Developers/packages/raw/master/install | bash

然后就可以在web上安装各种的插件了。(开源万岁

warning: 需要注意这个地方我出现过各种bug…比如装好extra后安装其他插件全部显示failed。

另外,使用rsync来做异盘冷备,更重要的文件会额外上传Onedrive,由onedrive做文件历史版本的完整性维护。有更高要求的同学也可以再使用snapraid来提升数据的完整性保证。

远程开机:wake on lan。因为出现过机器无法正常关机,路由器找不到这个机器,但机器其实还是上电状态的问题。因此增加一个智能插座,来实现强制关机,同时也可以上电开机。

感觉其实在配置OMV的过程中坑挺多的,遇到了不少问题,文档也并不是很完善。举几个例子

  • /var/log下syslog等无限制飞速增长,直接吃满系统盘,导致所有服务(web console, transimission…)罢工。

  • 做普通文件操作卡住了,这个命令和log一起狂吃CPU

  • 无法登陆web console

  • 很多插件并不能跨版本兼容,OMV5就没有transimission插件可用。

  • 没有前台文件访问的情况下,mergerFS突然一直吃满CPU

  • 无法正常重启,只能强行断电,这个对远程管理挺致命

  • ……

在debian的基础上,装了transimission、chfs做webdav文件服务器迅雷快鸟等支持。这么弱的平台还是不要用docker了,配这些也不难。

PS:配置完后感觉如果对linux熟悉的话,用一个普通的发行版,加一个web探针可能是一个更稳定的选择。另外不得不说,做服务器,linux真的有各种先天的优势。

硬解

编码推流则可以通过其他高性能机器上的jellyfin挂载samba来实现。内网就无所谓了,直接推流就好。

好奇N3050到底能做到什么水平,非冲一波,参考jellyfin官方文档来做(例子也是debian),VAPPI硬件加速很好配置。我在N3050上测试1080p x264的普通码率视频,十几秒就会卡顿,720p就没有问题。通过htop和Intel gpu tool查看,CPU和GPU的使用率都不高,不知道瓶颈出现在哪里?

垃圾佬低成本搭建多盘位NAS服务器

功耗测试

5个HDD + 1个SSD

  • 类型 功耗(W)

  • 空载(including 一个智能插座)~1.5

  • 待机 ~15

  • 访问 ~35

  • 满载 ~50

  • 开机瞬间 ~100

15W的功耗也就俩路由器的水平,电费节省出一个亿。

总结

虽然价格表总结出来400元,但因为有些硬件是闲置的,花销很低。7*24h开机的前提下,用未来一年省出来电费换这台机器的目的还是顺利达成了!

展开 收起
46评论

  • 精彩
  • 最新
  • 有个这么大的机箱,其实matx主板会便宜很多。把SATA扩展卡的钱算上去 ,性能还有很多升级。

    校验提示文案

    提交
    嗯嗯是的,大家也可以找J1900的MATX板子

    校验提示文案

    提交
    我认为这就是浪费我国电能,为啥关不上机,因为CPU太弱,强制关机伤硬盘不?坏了就扔,还买新的不?说的好像垃圾佬的钱不是钱一样

    校验提示文案

    提交
    还有2条回复
    收起所有回复
  • 牛*啊铁子

    校验提示文案

    提交
    [欢呼] 还得亏领导批准资金

    校验提示文案

    提交
    收起所有回复
  • 我有d2550双千兆10sata [邪恶] ,比你这个还便宜一些,不过我没那么多盘需求,现在放着吃会呢 [大囧]

    校验提示文案

    提交
    真正的垃圾佬难道不应该有一堆硬盘

    校验提示文案

    提交
    还有这种神板?

    校验提示文案

    提交
    还有3条回复
    收起所有回复
  • 啊这。机箱直接掏洞加风扇,噪音会不会比较明显

    校验提示文案

    提交
    可能因为转速不高吧,没有可感声音

    校验提示文案

    提交
    收起所有回复
  • 这性能也太低了吧,如果挂万兆网卡能跑动吗

    校验提示文案

    提交
    这性能和价格肯定和万兆网络是不匹配的 [喜极而泣]

    校验提示文案

    提交
    收起所有回复
  • 二手n3150品牌四盘+内存+msata也就六百,外观比这养眼多了。 [高兴]

    校验提示文案

    提交
    因为不需要外观呀,而且小机箱硬盘位太少了,我现在已经上了7个盘了。

    校验提示文案

    提交
    收起所有回复
  • 是张大妈的真·垃圾佬了!大妈这里无聊看了一大堆,只在这里看出图吧的精神!!!忍不住分享下个人方案,不喜矿者劳烦当看不见,谢谢。我是一个往nas里面塞了一张显卡跑win,从而使电费负增长的垃圾佬(在特定情况下,硬件费用也能实现负增长> [傻笑] [傻笑] [高兴] [高兴] [高兴]

    校验提示文案

    提交
  • PCIE通道不够

    校验提示文案

    提交
  • 这才是垃圾佬

    校验提示文案

    提交
  • 是垃圾佬没错了,但这方案作业我应该不会抄,条件不一样 [龇牙]

    校验提示文案

    提交
  • (用)垃圾(成就大)佬(之路)

    校验提示文案

    提交
  • 用上m2口直上12sata,这个利害了。

    校验提示文案

    提交
  • 别人都是“伪”垃圾佬,你这。。。。

    校验提示文案

    提交
  • 给你点赞,真正的垃圾佬!

    校验提示文案

    提交
  • 真正垃圾佬 [鼓掌]

    校验提示文案

    提交
  • 够用就好!

    校验提示文案

    提交
  • 这简直是硬核垃圾佬啊,后面一堆代码都不懂

    校验提示文案

    提交
  • 400都要批,也挺好的

    校验提示文案

    提交
  • 建议以后截图右下角留个空白区域给张大妈打logo哈哈

    校验提示文案

    提交
  • 从插件那个地方就开始看不懂了。。。。还是群晖吧 [喜极而泣] [喜极而泣]

    校验提示文案

    提交
提示信息

取消
确认
评论举报

相关文章推荐

更多精彩文章
更多精彩文章
最新文章 热门文章
386
扫一下,分享更方便,购买更轻松