搭建家庭 NAS 服务器有什么好方案?

我也来说下我的方案,自认为比较完美了,先说效果:

1. 7*24小时开机,小型UPS电源保护,断电可自动让NAS优雅的关机,防止对硬盘造成不良影响,电力恢复后自动开机,意外关机后也可远程开机。

2. 家庭影院服务器,影视剧使用自动化工具下载,只要把想看的添加进去就可以了,如果有了资源,系统会自动下载并分类整理,包括重命名下载字幕等,当然也可以手动添加种子下载,特别适合玩PT。

3. NAS上存储的海量影视等多媒体资源,在家可以在电视上观看,在外可通过手机或电脑客户端在线观看,不需要下载。

4. 文件共享服务,这是最基本的了,可以很方便的开启SMB、FTP等服务。

5. 私有云盘,实现类似Dropbox和OneDrive的自动同步功能,比如今天我在家拿主力机工作,明天拿轻薄本出去,相关数据在后台自动同步,不需要手动来回拷贝;另外手机客户端可实现照片自动上传至NAS服务器,手机小容量的福音。

6. 家里局域网在外随时连接,只要有互联网,可以访问家里任一设备,包括路由器打印机等,和在家访问没有多大区别。其实这个功能是通过另外一个独立的小盒子实现。

7,硬件和软件均为DIY,非成品,系统采用开源方案Openmediavault(OMV),需要较强动手能力,暂时想到这么多,有人感兴趣再补充细节……

======分割线======

2月9日更新:

有人看了今天就来更新一下。

先说硬件,上面说了那么多功能,其实硬件配置很简单,照例先上图:

四盘位U-NAS

万由四盘位NAS,华擎Q1900-ITX主板,J1900CPU,4G内存,目前我放置了4块4T硬盘,两两做成RAID1,一个主要用来存储个人及工作文档,另一个主要用来存储多媒体资料,为了不占用硬盘插槽,操作系统装在了从主板扩展出来的SATA接口的固态硬盘上。可能有人会问这点配置够吗?可以做HTPC吗,可以看4K视频吗?我的想法是,NAS就回归NAS的本质,做好网络存储功能,将NAS做HTPC使用完全没有必要,因为:1、把NAS同时作为HTPC使用,需要有较高的硬件配置,成本会更高;2、NAS一般需要24小时开机,HTPC需要放在显示器或电视附近,这时候就得考虑位置、散热、噪音等等问题,这些条件都满足吗?3、如果家里部署了千兆网络,使用高清播放盒即可实现高清播放需求,完全没必要利用NAS。因此,这台NAS对于我来说,完全足够,放在阳台角落的一个机柜里,7*24小时开机,功耗、噪音等问题统统可以忽略,非常省心。

主要的硬件设备介绍完,但是我认为还缺一项非常重要的设备,即UPS不间断电源。为什么?既然使用NAS了,大家一定比较关注设备和数据的安全性,而家里时不时的会有突然停电的可能,万一硬盘正在读写的过程中突然断电,数据丢失怎么办?虽然我还没有遇到过这种情况,但是考虑到整个NAS系统的完备性与稳定性,防止不必要的麻烦,我在很早的时候就购入了一小型UPS电源,该UPS可支撑NAS运行半个小时左右,有了它,停电时就会通知NAS:“现在停电了,我正在给你供电呢,你需要准备关机了,倒计时开始:45秒,44秒,43秒......(倒计时参数可设置)”,倒计时结束后NAS就可以从容不迫以优雅的姿态关机啦,完全不用担心上述突然断电可能会造成的影响,如果这45秒内电力又恢复了,则取消自动关机。关机后等到电力恢复,NAS会自动开机,也可以手动远程唤醒开机。还是上个图吧,UPS就是这货:

APC BK650-CH UPS不间断电源400W 自动开关机电脑 防浪涌

好了,硬件部分基本介绍完,软件部分涉及的内容比较多,下次有空再继续更新...

======分割线======

2月12日更新:

大家好,忙完正事了,今天来更新一下,感谢关注。

在更新之前,先申明几点:

1、关于NAS系统的选择,每个人的需求不尽相同,该方案不一定适合所有人,也有一定的难度。如果你在用成熟的商业软件比如群晖,我建议你继续使用,并不断根据自己的需求增加和配置功能,没有必要从头更换另外一个方案,当然这里指的正版商业软件,不建议盗版。

2、关于软件功能实现,有些选择也不是唯一的,这里主要提供思路,不会详细到每个软件的具体配置,我会介绍一下大概方向,感兴趣的伙伴可以自行去谷歌或百度,家里搭建NAS服务器的童鞋动手能力应该都不差,之后若有时间可视情况更新一些软件使用经验。

3、天下没有免费的午餐,该方案里涉及的某些服务也是收费的,但物有所值。

嗯,啰嗦完了,现在正式开始(好像又要开始重新编号了)。

1、系统:前面已经提了,系统采用的是OMV,即openmediavault,我为什么要采用OMV而不是FreeNAS,一是因为FreeNAS需要大内存,我的设备只有4G内存,二是我本人比较熟悉Debian,而OMV正是基于Debian的。OMV官网在此:The open network attached storage solution。

为了不熟悉的童鞋有个直观感受,照例上图:

openmediavault

由于我家NAS是放阳台的,并没有接显示器和键鼠,也没有图形界面,行话就是headless server,一根网线完事,平时管理NAS,除了登录web界面外,就是ssh远程登录啦,画风是这样的:

ssh远程登录nas(你并没有看到密码,因为配置了密钥登录)

关于文件共享,我开启了SMB服务,平时使用的画风是这样的,打开我的电脑(不对,WIN10变成了此电脑...),网络位置里多了我映射的网络磁盘即NAS的共享文件夹,双击进入,就和本地硬盘一样。

细心的人可能还发现了OMV管理界面服务(Service)里面有一项UPS,OMV方便之处就是可以安装各种插件来扩充系统功能,这个UPS插件就叫做openmediavault-nut(Network UPS Tools)。好像有人问怎么配置的,我再来个图吧,注意驱动那一块的设置,因为是通过USB连接的;另外注意Shutdown mode和Shutdown timer的设置,意思就是当检测到UPS电池供电后,倒计时45秒,45秒之内如果还没有恢复供电,则自动关机,如果恢复供电,则取消自动关机。

openmediavault-nut设置

好了,系统部分就先简单介绍到这吧,下一部分是重点,多媒体服务器。

2、多媒体部分:

答主是是个比较喜欢看电影的人,欧美影视居多,这一块其实涉及的软件还是蛮多的,今天先介绍其中之一吧,当然这款软件很多回答都已经提到了,它就是大名鼎鼎的——Plex。

1) Plex:

大名鼎鼎的Plex,服务端叫作Plex Media Server,客户端涵盖网页浏览器、安卓、苹果等全平台。除了自动从imdb等数据库补全影片介绍等meta信息进行索引外,最重要的还能实时转码,解决客户端不支持某些视频格式或是网速慢等问题。不想打字了,继续上效果图吧。

感觉上这两张图把自己收藏的电影电视剧都暴露了......

======分割线======

2月15日更新:

大家好,今天我又来更新了,直接进入正题。

2)自动化工具:

多媒体服务器作为NAS的一项重要功能,如果影视资源能够实现自动化(或半自动化)的下载或整理,无疑将极大提高使用体验,试想一下如果想看一部电影或电视剧,还得满世界寻找资源,好不容易下载到了还需要手动归类整理,下载字幕等等,整个流程十分繁琐,浪费时间不说,兴致可能都减少了一半。

好了,我先直接给出我NAS中使用的软件,这些软件相互配合,配置好以后,几乎完全实现了自动化管理,日常我只需要将想看的电影添加进去就行了,寻找资源、下载、整理、字幕等等,都是由这些软件自动完成的。还有一个好消息是:这些软件均是开源的!不需要付任何费用!

这些软件分别是:

Sonarr(我个人将它翻译为“声纳”,电视剧自动化管理软件);Radarr(暂且叫“雷达”吧,电影自动化管理软件);SABnzbd(Usenet下载客户端);Transmission(bt下载客户端)。

以上每个软件都有其它的功能类似的软件可以完成相似的功能,这里列出的是目前比较主流或是社区比较活跃的。

Transmission,bt客户端就不做过多介绍。SABnzbd是Usenet下载客户端,什么又是Usenet呢?这里引用一下维基百科的介绍:

Usenet是一种分布式的互联网交流系统,源自通用用途的UUCP网络(名字亦类似),它的发明是在1979年由杜克大学的研究生Tom Truscott与Jim Ellis所设想出来的,Usenet包含众多新闻组,它是新闻组(异于传统,新闻指交流、信息)及其消息的网络集合。Usenet里的消息(帖子)根据所分Usenet层级(新闻组)存储在服务器,多数服务器不断转发其消息给其他服务器,最终新闻组消息被分布式存储于全球大量的计算机中,但它不是万维网。通过软件用户能够选择订阅感兴趣的新闻组、消息进行阅读、索引、删除过期消息等。Usenet的最初构想是借助网络进行技术信息交流,后来被广泛推广到大众领域,如社会新闻、业余爱好、个人兴趣等主题。现在默认情况下,它使用NNTP协议。Usenet最主要的特色是统一分组、全球转信(转发消息)。一些人认为Usenet一词来自于User Network。

可以看出Usenet是一种非常古老的技术,甚至比万维网还要早。Usenet发展至今,二进制新闻组的数据交流占据了很大一部分,里面的资源非常丰富,这里只简单介绍一下Usenet怎么使用:

下载软件:SABnzbd就是其中之一;nzb索引网站:通过nzb文件搜索,找到自己需要下载的文件,有免费的索引网站,比如Binsearch,也有收费的,个人建议使用收费的索引网站,索引质量和稳定性较高;购买Usenet服务:有很多Usenet服务提供商,购买后服务商会给你服务器地址和账号,把这些信息配置到下载客户端比如SABnzbd里面。

好了,有了以上的这些,你其实就可以手动下载了:在nzb索引网站找到你想下载资源的nzb文件下载下来,使用SABnzbd等客户端打开,由于下载软件里面已经配置好了服务器,所以你的资源就会从这些服务器上下载了,不是很难是吧?

但是上面的流程还是复杂了,说了半天还是需要手动下载,这时候Sonnar和Radarr就派上用场了。

Sonarr是自动化的电视剧管理软件,用来追剧再合适不过了,软件里面将重命名规则、清晰度要求、nzb索引、bt索引(当然不要忘了bt哦,是个很好的补充)、nzb或bt下载软件等都配置好后,剩下的都交给Sonarr吧,Sonarr里面有保存你的想看列表,并会定期自动在索引网站上寻找是否有这些资源,如果有并且清晰度符合要求,则会自动交给nzb或bt下载软件,下载完成后Sonarr就会根据重命名规则自动完成归类整理。

Radarr其实和Sonnar非常类似,连界面都很像,它其实是Sonnar的一个分支,只不过是用来管理电影罢了,只要你会配置其中任何一个,另外一个应该就会了。

最后还有字幕的自动化,这个其实是可以交给Plex去做的,Plex有个插件叫Sub-Zero,可以很好的完成字幕自动匹配和下载的工作。

再上几个截图说明一下:

Sonarr主界面Sonarr点开某个剧的样子(大猫)Sonarr添加自己想看的剧,就是这么简单!Radarr,电影自动化,界面功能和Sonarr都很类似~SABnzbd,盗用官网图,逃~~~Transmission,盗用官网图,再逃~~~

3、私有云盘:

私有云盘,文件自动同步,评论里也有人提到,我使用的其实就是Nextcloud,这个东西其实就跟Dropbox,OneDrive一样,类似网盘的功能,非常推荐有多个设备文件自动同步需求的人使用,建立自己的网盘,不再依赖互联网网盘服务。这个安装起来稍微有点麻烦,我装了很多次才成功,服务端装好以后,下载电脑和手机客户端,添加需要同步的文件夹就可以了。手机客户端可以设置照片后台自动上传,不过IOS端的后台自动上传需要依赖GPS定位,有时候需要打开客户端才能上传,安卓版的据说没有问题,由于没有安卓手机,还有待验证~~~

客户端的图就不上了,感兴趣可以自己下载下来看看,设置非常简单。

最后,这些服务Openmediavault都有对应的插件,但是我本人建议最好使用docker安装!(重要的事情说三遍!)给大家推荐linuxserver的docker容器:plex, sonarr, radarr, sabnzbd, transmission, 以及官网的nextcloud容器。

======分割线======

4、内网穿透

网络这部分留到最后,也是最重要的,NAS如果仅仅只能在家里访问也就没有多大意义了,我们需要的是在世界任何一个角落,只要有互联网,就能方便的访问NAS。

要能实现这一点,第一个想到的方案自然是:公网IP+DDNS+端口映射了,可惜,我的宽带服务商并没有提供公网IP,我甚至一度想打运营商电话投诉,但是后来发现了其它方案,也就作罢。

后来目光一度转向了花生壳盒子之类的设备,仔细看了介绍之后,价格贵不说,还有端口和流量限制等等,实在是有点坑啊,果断弃之。

直到我发现了这款神器——Zerotier。

Zerotier的介绍和使用方法大家可以自行上网查查资料,简单来说,Zerotier可以创建一个虚拟局域网,将设备加入这个虚拟局域网后,就能像在一个局域网内那样方便的访问了,如果我们将手机、笔记本电脑、平板电脑等常用的终端和NAS都加入这个虚拟局域网,那么我们无论在哪里都可以访问NAS中的资源了,就像在家一样!经过实际使用测试发现,这玩意速度也出奇的好,在外面ping值通常只有几十,据说使用了点对点技术。

好像一切都很完美,NAS、手机、电脑、ipad等都有对应的Zerotier客户端,安装起来不麻烦,然而问题来了,NAS中装Zerotier虽然可以,但如果NAS意外关机了怎么办,关机了NAS就没法加入虚拟局域网了,还怎么远程访问,怎么远程开机呢?这好像是个鸡生蛋蛋生鸡的问题?另外还有一些设备比如智能家电、网络打印机等,是不可能装Zerotier的,在外面怎么访问这些设备呢?

再想想还有没有解决方案?看来好像还需要一个“跳板”?

直到某一天,我逛Zerotier官网时发现了这货:ZeroTier Edge,一个小盒子,看介绍貌似可以即插即用,不需要什么配置,接在路由器下面应该就可以实现内网穿透了,看起来很神奇,真是良心产品,可是这货貌似还在众筹阶段,国内买起来不太方便,价格也比较感人,这盒子的内核无非还是Zerotier嘛,于是......我若有所思,能不能自己实现一个呢?

最后直接上图吧,我完成的“山寨”盒子长这样的(话说这盒子我不满的地方就是灯太亮了,所以贴了胶带,请无视):

盒子已经配置好了Zerotier并加入了我的虚拟网络,接在路由器下面一个lan口,只要这个盒子保持开机状态且网络正常,就能在外访问家里的网络,这样的好处还有如果NAS意外关机了,可以用手机连上Zerotier虚拟网络,发送一个网络唤醒(wake on lan)请求给NAS就可以远程开机了,完美!给想琢磨的童鞋奉上一张原理图吧:

======分割线======

评论里有人问这个盒子怎么实现的,其实就是刷了OpenWrt,装好Zerotier,加入你的虚拟局域网,然后把虚拟局域网接口和实际lan接口桥接,原理如上图所示,因为这个盒子只干这一件事,可以把一些其他无关的服务关掉,就像官方盒子宣传的一样:Do One Thing and Do It Well,哈哈。

更新记录:

2019-07-16: 把集群的运维过程放到了我的专栏,这里将不再更新. KCORES​zhuanlan.zhihu.com/kcores2019-04-06:到目前的集群使用状况更新,位于最底部。2019-03-19:更新了自己的数据使用需求,ipad pro的价格对比. 防止有大佬觉得我家里有矿而买ipad pro的都是普通消费者. 【手动滑稽】2019-03-18:更新了表格,将表格更换为截图,方便阅读。2019-03-14:考虑到颈椎问题,重新上传了导致颈椎病的图片。

-----------------------------------------------------------------

看到没有分享CEPH方案的, 那我来分享下CEPH方案吧. 老规矩, 先上图:

ceph -s 信息见下图:

总计容量 61TB, 19OSD, 3节点mon, 2节点OSD host.

一段往事

我个人NAS也跟大家有差不多的经历.

最先是Apple Airport 3TB, 几块零散的硬盘和一个硬盘座. 完全不需要维护, 只要往里面扔数据就行了.

后来装满了以后, 就开始考虑用盘柜的方案, 于是在14年买了个盘柜:

图中的Rackable就是了, 16盘盘柜, SFF-8088接口, 接下来就是垃圾佬的血泪史了:

我有个IBM X3650M2服务器,对,就是图中的那台IBM. 配了 LSI 9260-8i 卡(用转接线转成SFF8088). 然后我买了6块 WD30EZRX 3T,没错,著名的WD绿盘。插到盘柜里组RAID50.

接下来喜感的事情出现了, 9260-8i 不能识别全部的WD绿盘... 于是又败了一张RAID卡(HP Smart Array P812):

这卡在14年算是相当强劲的, 1G缓存带电池, 8i 16e. 把卡插上服务器又傻眼了,这HP卡提示,只能插在HP机器上.... 逼着我又弄了台HP DL380G6...

该RAID50组成的18T(可用12T左右) 服役到了18年, 由于容量, 性能都不是很能满足我现在需求了, 于是在今年初, 我组了个基于 CEPH 的60T系统.

为什么该停止用RAID了?

首先, 随着现在的盘越来越大, RAID5在大容量下已经完全不可靠了, 可以直接看

@木头龙 大佬这篇回答:raid5 磁盘阵列真的不安全么?607 赞同 · 143 评论回答

我这里也翻译了个简单的RAID5重建失败概率计算器:

RAID重建成功概率计算器​raid-failure.eth6.org/

以我上文的6块 3TB WD 绿盘来算, 如果挂了一块盘, RAID 5 重建成功概率只有30%:

RAID 6,除去重建过程中再挂一块盘的情况下,安全很多,RAID 1 目前仍是小型存储保证数据安全的最好方案. 当然自己手动复制一份也行.

但RAID最大的问题是, 完全没有CEPH那么灵活, 多机多盘柜情况下很复杂. 而且性能完全依赖于RAID卡. 当你的磁盘带宽总和大于RAID卡后, 就不能有效利用磁盘的性能了.

我需要什么样的存储?

综上, 我开始考虑一个新的存储系统, 我整理了个简单的“家用”存储系统评分点, 供大家参考:

使用简易的评分标准: - 1 分, 需要专业知识才能使用 - 3 分, 看看说明书就能使用 - 5 分, 很好用, 而且符合平时操作习惯 可靠性评分标准: - 1 分, 很可能会丢数据 - 3 分, RAID 5 - 4 分, RAID 6 或 双副本, RAID 1 - 5 分, 多种副本策略, 分布式 安全性: - 1分, 不安全, 可以假定数据是可以被匿名访问的 - 3分, 只要正确使用安全性就有保障 - 5分, 可以进行数据加密 恢复/重建速度: - 1 分, 无法恢复 - 3 分, RAID 5, 6 恢复速度 - 5 分, 副本恢复速度 数据与环境依赖性: - 1 分, 强依赖, 迁移数据只能通过软件复制 - 3 分, 弱依赖, 通过适当修改就可以将存储设备应用到别的系统 - 5 分, 无依赖, 数据直接存储到设备上 硬件可扩展性: - 1 分, 无法扩展 - 3 分, 仅可以扩展容量 - 5 分, 随意定制硬件进行扩展 软件可定制性: - 1 分, 只能使用厂家或第三方提供的特定软件 - 3 分, 可以刷xxx, 刷xxx - 5 分, 开源 访问延时: - 1 分, 仅能用来存储文件 - 3 分, HDD 水平 - 5 分, SSD 水平 噪音: - 1 分, 机房设备, 无法忍受 - 3 分, 可以放隔壁 - 4 分, 可以放桌面 - 5 分, 可以睡觉 功耗: - 1 分, 500W 以上 - 2 分, 500W 以下 - 3 分, 100W 以下 - 5 分, 50W 以下 体积: - 1 分, 需要机柜 - 2 分, 全塔 - 3 分, 半塔 - 4 分, 10 - 5寸 - 5 分, 5寸以下 价格: - 直接是RMB

根据上表,导出我的需求是:

使用简易:无所谓, 就当学习新知识了可靠性: 至少要双副本, 如果支持多种副本策略更好安全性: 反正内网用, 无所谓恢复/重建速度: 副本恢复速度最好数据与环境依赖性: 最好无依赖, 这样操作方便硬件可扩展性: 一定要能随意选择硬件进行扩展, 不能再吃HP的亏了[手动滑稽]软件可定制性: GNU大法好访问延时: 如果能当系统盘用当然再好不过了噪音: 最多能接受放隔壁功耗: 500W 以下吧体积: 无所谓价格: 20K以内能接受

另外还有一些自己的使用考虑和需求:

由于租云服务器太贵, 所以我家里有CDH全家桶(hadoop什么的), kubernetes全家桶. 因此存储的性能至少不能拖累这部分的计算需求.有数据抓取和分析的需求, 典型场景 一千万平均大小 200k 的网页文件. 因此IO性能也有需求.提供块设备, 挂载到linux下给samba server用. 存普通的娱乐数据.60TB 左右, 方便扩容, 如果没有容量上限就更好了.接入10G/40G 网络, 网络传输不会成为存储瓶颈.不要求可用性 (不是线上业务, 程序挂了大不了重跑. 可以忍受长达几天的停机维护, 数据恢复, 故障恢复)

这套方案我在17年初就有考虑了, 最终在ZFS和CEPH方案中摇摆不定, 后来需要用kubernetes, 于是妥妥CEPH了.

开工

程序猿总要讲究些方法, 我们就自底向上设计吧(误), 首先是:

硬盘

好的硬盘会省很多事情, 比如你的盘在RAID卡的支持列表里, 可以被顺利识别. 比如企业盘URE比家用盘低一个数量级.

目前最划算的垃圾佬盘除了3TB的一些, 剩下就是这款了:

没错, SEAGATE ST6000NM0034 6TB SAS 12Gb/s 便宜的话弄到手每块大约620CNY左右. 不要想太多, 当然是二手的. 作为一个垃圾佬怎么可能买新的.

来10块, 顺便之前还买了一块看看通电时间和坏块情况, 总计11块:

RAID 卡:

都CEPH了为啥还要RAID卡呢, 不用卡怎么把SAS盘怼到主板上. 我可不要板载SAS控制器的主板, 好的太贵, 垃圾的性能不行.

由于盘是12Gb/s 的, 自然卡也要 12Gb/s的.

这卡是 Fujitsu PRAID CP400i, LSI 3008 芯片. 支持HBA. 我也只需要HBA. 进入BIOS设置为JBOD就可以把盘直接给系统用了.

当然还需要电缆. SFF8643 转 SFF8482, 带个大4pin口给硬盘供电. 注意检查插硬盘这一侧的 SFF8482 口, SAS盘有的是需要这部分的针脚的. 没有可能会有问题. 我的两根线有一个有, 有一个没有, 不过盘都正常运行了. 我没有去查SFF8482针对这部分针脚的定义.

主机

RAID卡自然不能自己运行,我们还需要块主板, 这里权衡的点有以下几个:

CEPH 要求最好每 TB 盘配置 1GB 内存, 我打算用两台主机, 这样每台主机就是5块 6TB盘, 折合需要30GB内存. 然而XEON E3早期版本不支持这么大内存, 而我恰好手里有多余的E5-2670. 那么x79 就这么愉快的决定了.RAID 卡 能直接连接8块盘(有expander卡能插更多盘.), 那么机箱也要能装下至少现阶段的5快盘. 这就需要 5个 3.5寸盘位.ST6000NM0034 这盘单盘接近12W, 5块就是 60W. 电源的大4pin输出功率要够. 最好还是ATX主板, 这样魔改方便.同样ATX电源. 魔改方便.我要插10G/40G 网卡(PCI-E 3.0 x8), RAID卡(PCI-E 3.0 x8), 那么主板至少要提供俩PCI-E 3.0 x8插槽. 如果主板不支持无显卡启动. 那么还要插亮机卡. 还要个PCIE(这个就不用x8了, 阉割下x4,甚至x2插槽插x16的卡都可能显示的.)便宜, 毕竟x79在12年就有了再战10年不太可能了, 迟早要换.功耗按说应该没啥事.

最终选择的是这个:

(图片来源见水印, 懒得拍我的机器了.)

ThinkStation S30. 单路x79 , 560W电源. 2个5.25寸位置, 3个3.5寸位置. 中间的软驱位还能插块3.5寸盘. 总计可以直接上6块3.5寸盘. 下面还有些空间可以后续再魔改插几块. 2个 SATA3 6Gb/s. 2个PCI-E 3.0 x16, 一个 PCI-E 3.0 x4 (x16长度槽) , 一个 PCI-E 2.0 x4. 还有个PCI.

上图就是弄到一半的状态.

不要在意电缆乱. 盖上机箱盖就看不见. —— 软件工程之何为封装

最终插了5块3.5寸盘, RAID 卡, 一块 Connectx3 40G单口 IB卡, 一块INTEL DC P3700. 2块 INTEL SSD 545. 4条 8G DDR3 ECC REG, 一个XEON E5-2670.

为了散热, 在PCI-E卡, 硬盘处又用双面胶粘了3个风扇. 否则SAS盘发热还是挺可怕的.

两台这样的机器.

网络

参见我家用万兆局域网的回答, 我之前已经弄了个40G内网了, 所以直接上IB卡.

如何在家庭布设万兆局域网?627 赞同 · 123 评论回答

图中是两块Mellanox ConnectX 3 56G, 这个卡的IPoIB模式支持40G以太网.

怼到 已经魔改完猫扇的 Mellanox IS5022 40G IB 交换机上. (还没开opensm, 所以灯是黄色的)

5 分钟 CEPH 入门

好了, 我们准备要装ceph了, 所以要对ceph有个简单的理解.

ceph 有这么几个角色:

OSD (object storage daemon)就简单理解为硬盘好了(实际上不是这样的). 一般一块硬盘对应一个osd程序. SSD 为了提升性能可以一块SSD分配多个osd. osd负责向硬盘存储数据.

MON (monitor daemon) 监控节点, 用来监控调度啥的.

RADOS (Reliable Autonomic Distributed Object Store)简单来讲就是个算法, 把这个算法包装成软件装到电脑里, 每次向CEPH里面读写数据, 先把数据塞到RADOS里面计算下, 就知道数据在哪个OSD了. 这样就彻底摆脱了依赖. 只需要这个软件就有了RAID之类的功能. 而且没什么状态, 没有本地数据库啥的. 全靠这个算法定位.

好了,剩下MDS, RGW 啥的用不着就不用了解了. 是不是很简单?

还缺点什么?

好了, 现在我们有了两个一模一样的 CEPH 存储节点. 每个 30TB. 然而CEPH的架构是这样的:

(图来自网络)

其中, OSD (可以简单理解为硬盘), 承载OSD的主机我们有了. MON(可以理解为监控节点) 还没有. 我们可以在两个OSD主机上部署 MON, 但MON为了仲裁(Quorum) 我们最好还是 3 个mon 节点比较好(至少三人投票才能决出结果). 另外RGW啥的也需要放一放.

于是, 废物利用, 把之前的HP Microserver Gen8 当做了 mon 节点, 也插了个 IB 网卡.

搞定. 接下来开始安装CEPH.

安装CEPH.

我懒了, 所以没写教程. 后续会补充到我的专栏里. 感兴趣的同学先看官方教程吧. 挺简单的.

Installation (ceph-deploy)​docs.ceph.com/docs/master/start/

用 ceph-deploy工具安装非常方便. 当然还需要后续调整才能达到理想的性能. (默认也足够用)

跑分

CEPH 的一个好处是可以定义副本数量( 没错 CEPH 就是把你的数据存成多份来保证数据全的 ).

我在OSD中建立了三个osd pool(理解成分区好了)

如图, 分别叫 L1, L2, L3.

L1 是单副本, 坏一块盘就丢了一块盘中的数据, 所以用来放完全不重要的东西, 比如你们懂的, 还有Steam游戏.

L2 是2副本, 用来放平时用的东西.

L3 是3副本, 用来放代码和一些重要的东西.

仔细看的同学会发现L1+L2 x 2 +L3 x 3超过了我的60TB存储容量. 没错. 这个pool 是虚拟的, 你可以随时扩容. 当然不会超过物理磁盘的容量. 物理磁盘满了会导致OSD满了, 到时候CEPH会提醒你要满了. 满了的话插盘, 增加OSD, 扩容就行. 是不是很灵活?

下面是将三个pool映射为块设备, 然后挂samba, 本地windows机器访问的跑分结果.

比较遗憾的是, 我本地只有一块INTEL 545, 所以这个跑分结果不是卡在了CEPH, 而是卡在了我本地机器的硬盘读取速度上.

这是用软件跑分的结果. 按说也没达到性能上限( 6TB 这个盘号称持续写入速度有200MB+ 10块就是2个G啊, 这成绩连RAID0都跑不过, 太丢脸了) .

优化

优化手段有很多, 比如开RDMA, 比如调整MTU. 我这里做了如下优化:

MTU 2044 (ConnectX3最大支持4000左右, 但是我调整到4000出现了内核问题, 为了稳定还是默认的2044了)RDMACEPH Journal 单独放了块 intel 545CEPH 开启缓存, 用了块 intel 545优化CEPH参数.[global] fsid = 0f7be0a4-2a05-4658-8829-f3d2f62579d2 mon initial members = storage01-ib,storage02-ib,storage03-ib mon host = 10.0.7.1,10.0.7.2,10.0.7.3 mon pg warn min per osd = 1 public network = 10.0.7.0/24 auth cluster required = cephx auth service required = cephx auth client required = cephx osd crush chooseleaf type = 0 osd pool default size = 2 osd pool default min size = 1 rbd op threads = 4 [mon] mon data = /var/lib/ceph/mon/ceph-$id mon clock drift allowed = 0.5 mon osd min down reporters = 1 mon osd down out interval = 600 [osd] osd journal = /data/ceph-osd-journal/$cluster-$id/journal osd journal size = 10000 osd op num shards = 8 osd op num threads per shard = 4 [client] rbd cache = false

关了RBD cache, 防止突然掉电丢数据. osd 线程开到2倍.

那么, 加了缓存后, 性能啥样呢?

往死了优化

这717MB (折合5.6Gb/s)的速度对不起我的40G设备啊. 但是俩Intel 545 做缓存也就这样了(545 写入速度 500MB/s左右).

上NVME.

跑分:

[root@storage02-ib ~]# rados bench -p lc 60 write hints = 1 Maintaining 16 concurrent writes ofbytes to objects of sizefor up to 60 seconds or 0 objects Object prefix: benchmark_data_storage02-ib.lobj.eth6.org_ sec Cur ops startedfinishedavg MB/scur MB/s last lat(s)avg lat(s) 0 0 0 0 0 0 - 0 116 723 707 2827.5128280. 0. 21614491433 2865.5129040. 0. 31621552139 2851.582824 0. 0. 41628762860 2859.6128840. 0. 51636133597 2877.222948 0. 0. 61643354319 2878.952888 0. 0. 71650585042 2880.712892 0. 0. 81658035787 2893.082980 0.0. 91664936477 2878.2627600. 0. 1016723672202887.62972 0. 0. 111679467930 2883.242840 0. 0. 121686868670 2889.6229600. 0. 131693809364 2880.852776 0. 0. 1416 10114 10098 2884.772936 0. 0. 1516 10862 108462891.929920. 0. 1616 11604 11588 2896.642968 0. 0. 1716 12313 12297 2893.052836 0. 0. 1816 13036 13020 2892.9828920. 0. 1916 13760 13744 2893.122896 0. 0. 2019-03-13 08:03:43. min lat: 0. max lat: 0. avg lat: 0. sec Cur ops startedfinishedavg MB/scur MB/s last lat(s)avg lat(s) 2016 14501 14485 2896.652964 0.0. 2116 15229 15213 2897.362912 0. 0. 2216 15940 15924 2894.922844 0. 0. 2316 16662 16646 2894.6128880. 0. 2416 17411 17395 2898.822996 0. 0. 2516 18145 18129 2900.2929360. 0. 2616 18890 18874 2903.342980 0. 0. 2716 19607 19591 2902.022868 0. 0. 2815 20312 20297 2899.232824 0. 0. 2916 21022 21006 2897.042836 0. 0. 3016 21715 21699 2892.862772 0. 0. 3116 22439 22423 2892.952896 0. 0. 3216 23164 23148 2893.1629000. 0. 3316 23884 23868 2892.752880 0. 0. 3416 24582 24566 2889.782792 0.0. 3516 25331 253152892.82996 0. 0. 3616 26031 26015 2890.2228000. 0. 3716 26771 26755 2892.092960 0. 0. 3816 27512 27496 2893.982964 0. 0. 3916 28238 28222 2894.2329040. 0. 2019-03-13 08:04:03. min lat: 0. max lat: 0. avg lat: 0.9 sec Cur ops startedfinishedavg MB/scur MB/s last lat(s)avg lat(s) 4016 28984 28968 2896.4729840. 0.9 4116 29719 29703 2897.522940 0. 0. 4216 30447 30431 2897.862912 0. 0. 4316 31182 31166 2898.832940 0. 0. 4416 31907 31891 2898.8529000. 0. 4516 32645 32629 2900.022952 0. 0. 4616 33374 33358 2900.3629160. 0. 4716 34103 34087 2900.692916 0. 0. 4816 34837 34821 2901.4229360. 0. 4916 35567 35551 2901.792920 0.0. 5015 36313 36298 2903.512988 0. 0. 5116 37030 37014 2902.732864 0. 0. 5216 37760 37744 2903.0529200. 0. 5316 38469 38453 2901.7828360. 0. 5416 39188 391722901.32876 0.0. 5516 39897 39881 2900.1128360.0. 5616 40674 40658 2903.813108 0. 0. 5716 41400 41384 2903.812904 0. 0. 5816 42149 421332905.42996 0. 0. 5916 42855 42839 2904.012824 0.0. 2019-03-13 08:04:23. min lat: 0. max lat: 0. avg lat: 0. sec Cur ops startedfinishedavg MB/scur MB/s last lat(s)avg lat(s) 6016 43591 43575 2904.672944 0.0. Total time run: 60.0109 Total writes made:43591 Write size: Object size: Bandwidth (MB/sec): 2905.54 Stddev Bandwidth: 67.5243 Max bandwidth (MB/sec): 3108 Min bandwidth (MB/sec): 2760 Average IOPS: 726 Stddev IOPS:16 Max IOPS: 777 Min IOPS: 690 Average Latency(s): 0. Stddev Latency(s):0. Max latency(s): 0. Min latency(s): 0. Cleaning up (deleting benchmark objects) Removed 43591 objects Clean up completed and total clean up time :2.05853

平均写入速度2905.54 MB/s , 最高 3108 MB/s, 最低 2760 MB/s.舒服了.

P.S. 该数据由rados bench生成. 并不是 rbd 块设备性能. RBD块设备的测试结不理想:

974MB/s 作为两块写入速度能达到 1900 MB/s 的P3700来说, 这个成绩明显裁判有问题(dd从 /dev/zero 往 /dev/null 写入的速度接近 9GB/s, 所以不是dd的问题).

我怀疑要么是我的RBD没设置或优化正确. 要么是RBD的实现有性能问题. 但查了半天资料也没有什么结果. 这里就只能期待有大规模集群实践经验的大佬关于RBD的使用经验数据了.

总之, 够用了.

One more thing ...

总之比买云服务便宜不是? [手动阿Q]

看到有同学问价格, 梳理下价格:

6T 硬盘 620 * 11 = 6820HBA卡 590 * 2 = 118056G IB 网卡 495 * 4 = 198056G 线 200 * 4 = 800SAS线 60 * 4 = 240ThinkStation S30900 * 2 = 1800E5-2670 450 * 2 = 9008G DDR3 ECC REG 95 * 8 = 760INTEL 545 128G 250 * 4 = 1000

总计 : 15480 CNY

新版 iPad Pro 顶配 15299 CNY, 这么一想是不是很划算?

以上是本次新增的设备, 之前还有的设备是:

mellanox IS5022 IB交换机 2500 * 1 = 2500HP Microserver Gen8 3800 * 1 = 3800INTEL DC P3700 800G 2600 * 2 = 5200

总计:11500 CNY

一些 Tips

CEPH可以用SSD当缓存盘, 缓存超过设定容量或时间可以回写到机械硬盘, 对常用文件还能缓存到SSD提升读取性能.使用2副本最好编辑下CRUSH map, 防止预期外的掉盘导致副本不和期望问题.数据恢复速度与单盘最大写入速度有关. 所以单盘最大容量还是控制下, 6TB 按照写入速度 200MB/s算, 恢复一块盘也要 8.3 小时.最常用命令: ceph osd set noout 【手动滑稽】.家用写入500MB/s 真的够了...... 编辑4k视频当我没说.....掉盘恢复非常简单, 插上新盘, 添加osd后, 坐等就行了.最好常看看CEPH健康状态, 万一运气不好2块副本盘全掉还是要注意下的. 想到再补充

到目前的集群使用状况

截止到2019-04-06,期间小区突然断电3次(无UPS),在一次系统维护中不小心干掉了mon节点,目前数据正常,系统正常使用,无故障。

CEPH-RBD映射的块设备给iSCSI,ESXi连接iSCSI给15台虚拟机使用。目前状况良好。

最后, 欢迎加入垃圾佬Q群, 交流50TB+NAS, 万兆网络, 家用服务器等.

本答案于2018年5月重写,内容维护记录如下(不定时更新):

2018.12.18:更新Plex简介;2019.1.2:更新Webmin简介; 2019.1.10:更新Linux环境Web面板介绍; 2019.1.14:增补远程控制思路,增补Windows Admin Center截图; 2019.1.18:增补Linux环境NAS搭建思路; 2019.1.25:增加自攒MicroServer方案; 2019.5.22:增补FreeNAS/XigmaNAS/OMV介绍;2019.9.12:增补FreeNAS官方配置要求;2019.9.14:增补Jellyfin介绍;2019.9.29:更新NAS OS介绍;2019.12.15:更新Proxmox VE方案;2020.4.4:更新HP Gen 10 Plus介绍;2020.7.23:更新OpenMediaValut内容;2020.12.5:增补ESXi内容;2021.9.14:增补硬盘选择部分内容;2022.3.18:增补overseerr、Sonarr、Radarr内容;

本答案的核心思路:越简单越好。

这些年软硬件及个人对NAS的认知也在不断更新,期间有一些新的想法方便大家避坑。

折腾NAS的四年中,本人换来换去用过方案很多,黑群晖、Linux、Windows、OS X、各种虚拟机混搭等等,现在感觉搭建家用NAS的目的是简单易用,而不是把自己搞到身心俱疲。

首先 —— 你是否真的需要一台NAS:

如果您需要的只是挂机下载、SMB局域网共享文件:PC或路由器+移动硬盘;如果在1的基础上还需要作视频服务器:PC,核显即可;如果你需要手机相册同步外网调用/分享个人云上的文件,并且要有成熟的APP支持,那么你需要一台NAS。

NAS:私人云相册、异地(外网)分享、各种成熟APP。

注:目前windows/linux上没有完备的私人相册方案(服务器端+客户端app),NextCloud的相册功能比起群晖/威联通来差距较大。

重复一下:私人相册基本只能选成品NAS。

方案选型太长不看版:(以时间成本排序)

图省心开箱即用、客户端完备的:群晖/威联通;仅需内网文件共享:Windows(简单,无学习成本),配合Plex/Emby可实现外网视频分享;需要外网文件分享的:OMV / UNRAID,自带基本功能,其他模块Docker安装;超清/原盘影视下载收集狂:UNRAID,可随时添加硬盘扩容;全功能个人云盘:Linux(高定制化,且Nextcloud/Seafile只有linux版);蛋疼非要在小鸡下跑NAS的痴汉:Proxmox VE(家用主板不建议ESXi)。

基本概念

NAS即网络附加存储(Network Attached Storage),通过网络提供数据访问服务。

NAS产品逐渐被大众熟知的今天,相当多的用户会认为此物是个人/家用产品,而实际上这货面向的并不是家庭用户,这也是为什么NAS系统都有RAID模块的原因。

注:本答案面向有外部访问/远程控制需求的用户,如仅做内网备份/文件共享/视频播放的朋友们装个windows最省心,顶多通过docker增加TimeMachine备份功能。

基本需求

硬件——NAS硬件需要满足以下几点:稳定性:24x7稳定无故障运行;兼容性:硬件对操作系统兼容性良好(系统电源管理、硬盘控制器兼容性等);体积小巧:占地面积小,便于放置;节能:7x24小时挂机下载的情况下,动辄一两百瓦的家用电脑显然不适合作NAS;静音:做工优秀,廉价机箱的箱体共振等问题不应该存在;性价比:合理价格内兼顾以上6点。

2. 软件——NAS的功能需求:

须具备远程控制功能如Web面板,方便配置操作;须有移动端app的支持;挂机下载(PT/BT/电驴/各种云盘同步);媒体服务器(配合机顶盒或本机播放);本地及远程文件共享(个人/家庭云);文件备份(TimeMachine等);(附加)办公用途(CardDAV Server / Directory Server / Mail Server);(附加)其它用途(DNS Server / 小型网站服务器等)。

3.远程控制:

作为一台NAS,远程控制(包括局域网内)应为刚需;远程控制方式包括远程桌面、WebUI两种方式:远程桌面即RemoteDesktop、TeamViewer、JumpDesktop等,WebUI即浏览器面板,如群晖的DSM、Linux下的Cockpit/Webmin、Windows的Windows Admin Center等。当然Plex、Aria2也是WebUI的典型方式;个人建议WebUI方式,浏览器内搞定,无需安装客户端软件,手机/Pad皆可控制NAS。

其他:部分用户希望NAS具备HTPC功能,本答案已充分考虑。

写在前面1:关于DDNS

DDNS是各类远程操作的必需品,简单罗列下本人用过的几种:

华硕路由自带asuscomm方案:稳定性尚可,但出现过中断的情况;群晖QuickConnect:仅白群晖用户可用,亮点是自带内网穿透,实属内网用户福音;花生壳/花生棒:尚可,支持各类操作系统平台(路由器/Windows/Linux/群晖);阿里云DDNS:强烈推荐;腾讯云DDNS:推荐,证书验证不如阿里云方便。

写在前面2:关于RAID及备份

友情提示:家庭用途不建议配置RAID,孱弱的软RAID机制不要指望稳定性;千兆网络带宽只能跑到单盘速度,家用环境RAID0用途不大;RAID5模式下任何文件操作所有盘都参与读写,于家庭用途中甚为蛋疼;RAID5模式下磁盘故障后换盘重建的时间非常长,甚至会有坏第二块盘的可能;数据无价。与其折腾RAID不如冷备份。没有BckupPlus或MyBook 8TB不能解决的备份问题,如果不能,那就两块(海淘价格有惊喜)。

写在前面3:关于磁盘的选择

不要神化所谓NAS硬盘,本人两块国行4T红盘在2万小时左右都挂了(非24x7工况、家用环境读写不频繁、未进行PT/BT下载),这货的MTBF可是号称100万小时的。

“NAS硬盘”这个概念起于WD红盘,因红盘的大卖,Seagate、Toshiba也跟进推出NAS硬盘,但无论是WD的"NAS Ware",还是Seagete的“AgileArray”技术,都是在RAID错误校正、减少RAID重建时间等方面的技术;至于震动补偿等技术,在4盘以上的多盘系统下才能够充分显现作用;与几十上百个客户端同时访问的企业NAS不同,家用环境下磁盘工作强度非常低,日常数据吞吐量极小;既然家用环境下磁盘工作强度低,RAID模式又蛋疼,震动补偿又只算个赠品,所以硬盘选择方面丰俭由人,NAS专用硬盘对于家庭/个人用户并不能算做硬需求。

综上所述,磁盘方面如下考量:

24x7开机 --> 紫盘或酷鹰,建议企业盘;非24x7开机 --> 普通磁盘;需要RAID--> 红盘或酷狼,建议企业盘;如果没有冷/热备份的打算,仍然建议企业盘。

(其实我的建议是:要么企业盘,要么桌面盘)

写在前面4:关于磁盘格式

功能越强的文件格式速度往往越慢(Btrfs慢,ZFS吃内存);工作文件夹共享、文件内容频繁更新的磁盘可使用支持回滚操作的Btrfs/ZFS;仅作下载/存储用途不需要快照功能,ext4足矣,简单方便速度快。

写在前面5:关于黑群晖

目前黑群晖已无法洗白,即便能通过DDNS解决无QuickConnect远程访问,但个人感觉仍然问题多多。大致总结如下:

A. 软件方面——功能缺失:

系统不能更新/迭代,安全漏洞自然也无法修复;DS Finder无推送(半洗白无解);Chat无消息提醒(半洗白无解);DS Video无硬解码(半洗白可解);Virtual Machine Manager无法启动虚拟机(提示内存不足)(半洗白无解);High Availability Manager无法使用(半洗白无解)。

B. 硬件方面——兼容性问题:

DSM6.2的bootloader对网卡驱动支持不全,导致无法安装或升级系统(需换网卡);由硬件兼容性导致的硬盘无法休眠(视bootloader);设置定时开机导致BIOS重置(视硬件设备);磁盘性能低下,如Gen10在DSM6.1下磁盘对拷60M/s (DS3617xs);J3455-itx DSM6.1磁盘性能极低,DSM6.2无法关机/重启。

C. 虚拟机方面——只能作为玩具用途:

VMware虚拟网卡不能跑满带宽;VMware挂载实体盘会因诸如重装/迁移宿主系统时忘记attribute disk clear readonly等操作导致DSM提示磁盘损毁,好像还无法修复;目前Hyper-V对DSM6及以上黑群晖无解;EXSi不能休眠的来着(虽然不是黑群晖的锅,但家庭用途用EXSi干毛);未直通SATA的PVE/EXSi,黑群晖无法读取S.M.A.R.T信息,而直通的话……话说你都直通了干嘛不实体安装;如果用PVE/EXSi的目的是软路由+黑群晖,不如实体黑群晖的VMM中跑软路由。

(如果您一定要用黑群晖,个人建议实体安装)

——虽然黑群晖一张启动优盘搞定安装,但后期的折腾并不比装个Windows少,况且并不是没有群晖的替代方案。

小结:数据无价,远离黑群晖。

写在前面6: VideoStation的替代品

相信许多人折腾黑群晖的起因,仅仅是这个VideoStation:

自动下载匹配字幕、自动获取影片讯息、远程解码播放

但实际上PC上有同样的解决方案:

6.1 Emby server:

同样的自动匹配字幕、自动获取影片讯息、同样的远程解码播放群晖的VideoStation木有的在线电视,Emby连播出表都直接给出了好么此神物几乎支持所有已知平台,包括安装在各类盒子、游戏机的客户端远程Web控制面板,选项颇为全面移动端界面

6.2 Jellyfin:

话说Emby server闭源(硬解码收费)之后,对之不满的开发人员另起炉灶,也就是现在的Jellyfin了,基本框架与Emby server并无二致,但保持免费开源。唯一不足是客户端支持并不像Emby那样广泛,目前没有iOS客户端。

Server端平台列表,暂无群晖套件支持主界面详情页视频硬解

6.3: 老牌的Plex

Plex大名鼎鼎,与新秀EmbyServer相比优势在于UI/UX,唯一的问题是有点小贵(付费订阅模式,880终身订阅,终端app免费)。

写在前面7:Overseerr,一劳永逸的聚合解决方案

这货是把下载器(qBittorrent/Transmission)、资源监控/自动追剧(Radarr/Sonarr)、视频播放管理(Plex)聚合在一起的东西,虽然说配置过程比较繁琐,但这货确实是一劳永逸的方案。

调用Radarr、Sonarr进行追剧、资源监控等

如上图,电影和电视剧我可以放在两个服务器上,通过overseerr进行聚合

想看的资源直接提交请求,立等可取(并不,视下载速度)手机端自适应是必须的

额,请注意这货只是一个前端,它起到的作用是资源浏览,播放、管理、搜刮、下载等工作是调用其他工具完成的。

没错,我是用docker跑的

个人建议用docker跑,省时省心。

感觉随手下载的overseerr跟随时加硬盘的unraid真的是绝配,当然群晖、OMV、Linux等方案也没问题

写在前面8:Linux Server的Web面板

群晖DSM的优点在于全图形化Web操作,对于小白用户而言Linux Server的全命令行模式令人望而却步。实际上Linux一样可以有图形化Web面板,个人推荐以下两种:

7.1 Cockpit(超轻量级) 功能简单

简单配置网络/防火墙/开关机等

7.2 Webmin(轻量级) 较全面

图形化文件管理,文件编辑可以直接在WebUI中完成命令行上传文件麻烦?Webmin给你图形化方式新手常常搞不明白的定时运行

7.3 Kloxo(重量级)不推荐,资源开销较大不太适合NAS使用;

7.4 介于Cockpit与Webmin的其它WebUI不做赘述,有兴趣的同学可自行谷歌后尝试。

正题:NAS硬件平台的大致分类

1. 成品NAS:群晖/威联通方案,购买建议:四颗星

适用对象:不想折腾、动手能力弱,对价格不敏感的用户。

优点:一站式方案,套件及app丰富,远程控制及操作方便;缺点:本质上只是阉割掉声显卡后的赛扬解决方案,稳定性也只能称得上尚可,RAID属于软阵列,个人仅建议采用Basic磁盘方式使用;(威联通HTPC机型在硬件上与群晖差别不大,可认为是集成播放功能的群晖)购买意见:建议4盘位起,有较大的腾挪空间 (双盘位用到后期很痛苦)。群晖新出的DS918+,不差钱的小伙伴们可以考虑下(某宝3680包邮)

2. 成品微型服务器:惠普ProLiant MicroServer,购买建议:五颗星

优点1:性价比高(比同等配置的群晖低30-50%);优点2:稳定性强(毕竟隶属Server产品线);优点3:可扩展性强,可根据需求添加硬RAID卡及各类扩展卡;缺点:需要自行安装及配置系统,Linux的话需要一定的动手能力。

购买意见A:HPE ProLiant MicroServer Gen10,可做NAS+HTPC使用;New HPE ProLiant MicroServer Gen10 with AMD Opteron X3000 APUs购买意见B:无需高清硬解的童鞋可950元购买N54L(目前各类盒子与移动设备的本地解码能力够用)HP ProLiant MicroServer N54l

3. Gen8的继任者:HPE ProLiant MicroServer Gen10 Plus,购买建议:三颗星

扣分原因:这货对标群晖/威联通性价比不咋地

Intel Xeon 22xx / Pentium G 54xx;HPE iLO 5远程管理;最大内存支持32GB x 2 (ECC/Non-ECC);板载四个千兆网口;一个PCI-E x16扩展槽;高度是Gen10的一半,可以水平或垂直放置(11.6 x 24.5 x 24.5 cm);支持Silicon Root of Trust / TPM;180w外接电源,解决电源噪音问题;S100i软RAID卡(0,1,5,10)。

HTPC玩家需要注意的几个问题:

Xeon版本无集显,硬解需上刀卡,但注意电源只有180w;S100i貌似目前只支持Windows;价格未进入真香期(某宝奔腾型号售价达4xxx)。

4. 自攒(廉价)NAS,购买建议:一颗星

优点:便宜(便宜不等于性价比高);缺点1:没有ECC内存 (虽然群晖也没有);缺点2:稳定性捉急,J3455之类的平台+各类廉价配件;缺点3:噪音(机箱共振等)无法预估;缺点4:兼容性问题无解(如黑群晖磁盘性能低下、部分loader启动问题、网卡不识别等);注意事项:选择电源请慎重。赛扬G1610T+2G内存+机箱电源套装卖1600是什么鬼?例1:华擎J3455-itx不能上镁光DDR3L 1866内存,开机黑屏,只能在1600下运行;例2:还是华擎J3455-itx,Linux卡顿,据说只支持Win10;例3:依然是华擎J3455-itx,黑群晖(DS918+)无法关机/重启;例4:仍然是华擎J3455-itx,主板随机不识别M6S SSD,需要谜之设置CSM / Secure Boot(Windows Server 2019)。

——你永远都不会知道这种主板会发生什么,而正经的MicroServer都是要经过n多兼容性测试的。

那么就有童鞋不服气了,自己攒NAS就不能选了?

没说不能啊,但既然自攒,咱就考虑个稳定靠谱的方案呗:

5. 自攒MicroServer,购买建议:四颗星(性能过剩减1分)

既然要自攒Microserver,咱就别跟J3455/4205/5005这种东西死磕了,人家的方向是HTPC,不是给24x7作业环境设计的,动不动又是wintel邪恶联盟货,兼容性测试基本嘿嘿嘿。

所以觉得成品microserver速度落伍的童鞋考虑下这货:

Supermicro X10SDV-TLN4F现在你们不用再跟我逼逼什么性能了

简单讲一下配置:

SoC:Xeon D-1540,8核16线,12M Cache,TDP45W,天梯排名211 (E3-1235L v5排名542作为参考);内存:最高128GB DDR4 ECC RDIMM 或 64GB DDR4 ECC/Non-ECC UDIMM;四网口:万兆电口(SoC) x2 + 千兆网口(i350)x2,第五个网口是IPMI 2.0远程管理;磁盘接口:SATA x 6 (RAID 0,1,5,10) + M.2 x 1;扩展接口:PCI-E(x16) x1。

工作站级的性能,服务器级的稳定性,Supermicro产品背书,爽了没?

价格:全新单主板美亚大约4000,二手16G DDR4 ECC内存+Gen8改装版机箱(因为做工好)大约4500。

EXSi / ProxmoxVE可以搞了是么?(建议加一张硬盘直通卡)

追求“高性能NAS”的痴汉们满足了么!!!开心了么!!!

6. 二手HPE/Dell塔式服务器:别搁家里用

开机起飞时间大约2分钟,HP机型插入PCI设备后噪音猛增(Dell没接触过无法评价),家用入手需谨慎考虑。但,server毕竟是server,跑EXSi是真的舒适,家用主板跑那玩意儿各种糟心。

7. 二手1U/2U/刀片服务器:负分滚粗

不推荐,太尼玛响了。

OS(操作系统)及软件部分:

群晖/威联通方案:

群晖/威联通售价远比同等PC高,很大原因是其丰富的功能套件加持,省却了各种安装、配置的烦恼,且客户端支持广泛(WIndows/Mac/iOS/Android),用户也算是花钱买省心。唯一不足的是想在其上跑虚拟机时效能较低,此点与其硬件配置也有直接关系,顺便吐槽下群晖的Virtual Machine Manager,慢成狗。

庞大丰富的套件库丰富的app

2. OS/软件方案A:Windows Server平台

为什么要Server:为了用Windows Admin Center(原Honolulu),是一个功能完备的Web面板。

Windows方案更适合小白用户,软件安装、配置通过远程桌面操作,其它操作基本Web面板搞定。

远程控制A (远程桌面方式):Microsoft Remote Desktop (官方) / Jump Desktop (懒人推荐);远程控制B (Web面板方式):Windows Admin Center (官方);私有云:Seafile Server(注:已不再更新);下载方案A:迅雷远程,通过Web页面控制管理;下载方案B:Aria2,Web管理面板:Aria-NG,中文教程;下载方案C:Transmission (web面板)、uTorrent (uTorrent Web);虚拟机方案A:VirtualBox (免费);虚拟机方案B:VMware Workstation ;视频/图片分享、远程播放A:Emby Server ;视频分享、远程播放B:Jellyfin;视频分享、远程播放C:Plex Media Server ;The Free Software Media System视频分享、远程播放B:Plex Media Server ;HTPC播放:KODI。连注册表都可以Web面板解决了文件操作相对简便Aira2远程下载管理Web面板HTPC用户们要的播放器KODI,同样的广泛客户端支持(Windows/Mac/iOS/Android)

OS/软件方案B:Linux平台

Linux与Windows相比胜在简便,缺点为需要花点时间学一下基础命令,大致如下4个:

ssh:登录NAS;yum/apt-get/dnf:软件包安装/管理(具体命令视你安装的linux发行版);vim:各种配置文件的编辑(知道-i、:wq即可);git/wget:获取部分文件的常用命令。

大致思路:

ssh登录进NAS,yum/apt-get/dnf安装cockpit/docker,你的NAS基础系统已构建完毕。Nextcloud、迅雷远程、Aria2、Plex等等全部用docker搞定,省却繁复的命令行配置。

为什么推荐docker:linux各发行版间存在差异,以nextcloud为例,CentOS/ubuntu的基础服务配置不同,甚至ubuntu17下用的好好的nextcloud在系统升级至18后要重新配置。系统迭代、重新安装后都需要较繁复的配置工作,这显然是与本文“简单易用别折腾”的思路相悖的。即便系统升级换代,用docker重装nextcloud+mariadb+onlyoffice也仅需30秒。

docker命令较多,但我们有portainer这样的Web面板:

docker的web面板portainer,简单方便又直观

软件方案:

远程控制A (远程桌面方式):Jump Desktop ;远程控制B (Web面板方式,简单控制):Cockpit;远程控制C (Web面板方式,功能全面):Webmin;私有云:Seafile、Nextcloud ;下载方案A:迅雷远程(docker);下载方案B:Aria2,Web管理面板:Aria-NG,中文教程;下载方案C:uTorrent (Linux版本略老);视频/图片分享、远程播放A:Emby Server ;视频分享、远程播放B:Jellyfin;视频分享、远程播放C:Plex Media Server ;虚拟机方案A:VirtualBox ;虚拟机方案B:gnome Boxes ;HTPC播放:KODI 。甚是方便的远程web面板:Cockpit嫌Cockpit选项少?Webmin满足你系统配置乃至文件操作都可以Webmin面板搞定linux自带的gnome Boxes虚拟机私有云新秀Nextcloud界面团队协作、团队聊天、还带了视频对话功能广泛的客户端支持(Windows/Mac/Linux/Android/iOS)功能非常丰富的nextcloud插件面板

其他:NAS OS:

一句话解释:配置好NAS模块的Linux

NAS功能出厂预装,用户只需增加自己需要的功能部分即可。相较需手动配置的Linux,NAS OS等于是省了一半工作,适合喜欢Linux又手残的半小白党。

另外,既然基于Linux,所以ssh进去增删功能模块、装个docker也是可以天下我有的。

OpenMediaVault (推荐):

NAS OS中个人最推荐的方案。基于Debian,与FreeNAS相比插件更丰富,硬件需求对家庭用户也相当友好。

可以把这货理解成一个免费版的群晖或者预设好基础NAS功能的Debian,当然,基础功能意味着你需要折腾,只不过比纯Linux少了一些配置工作。

SMB共享之类可以通过WebUI方便搞定;OMV插件里有的,就通过它的WebUI搞定;OMV里面搞不定的,ssh进去或docker搞定;文件管理操作通过Filebrowser搞定。

吐槽:希望换一下上古的安装方式和中古的GUI。

话说20年前的Redhat6.0安装界面好像也这样的来着UI不想太多吐槽,将就用吧文件管理问题通过安装FileManager解决

2. FreeNAS:非家庭用途

基于FreeBSD。ZFS格式的内存吞噬者称号并非浪得虚名,8G内存起步(且官方强烈建议ECC内存),在此基础上,官方建议如下配置:

磁盘容量:每1T磁盘容量再增加1G内存;磁盘容量:如需对ZFS数据去重,每TB数据至少5G内存;iSCSI:至少16G内存(低性能),32G内存(良好性能);Active Directory:2G内存;Jails:1-4G内存;虚拟机:与分配给VM的内存同等内存容量;同时,官方还建议采用高主频的CPU。

也就是说,如果你的NAS存储了8TB数据,官方建议配置16G的内存。如果你的NAS塞了32TB数据,按官方的建议应该是40G内存,这还是没开ZFS数据去重、iSCSI、ActiveDirectory和虚拟机的情况下!

————所以大家应该清楚这货根本不是给家庭用户设计的。

优点:现代化的UI,各项设置及操作一览无余,PT/BT等功能以插件模式安装(然鹅nextcloud版本老的可以),自带虚拟机功能。

缺点:内存需求不适合家庭用户

FreeNAS Dashboard

3. XigmaNAS(原NAS4Free):

FreeNAS一个东家的产品,所以也是ZFS分区格式,所以也要绕回到“下载机配16G以上内存我到底是在图个啥”的究极问题上……

其他方案:ESXi / Proxmox VE,折腾党福音

个人其实不推荐这俩货,但确实是折腾爱好者心心念念的玩意儿。对于希望测试一段时间后再实体跑的系统,虚拟环境是不错的选择。

优点1:一机多用,维护及子系统安装简便;优点2:快照、还原非常方便,可以放心的折腾小鸡。

缺点1:配置要求较高(PVE也并没有好到哪去),赛扬跑个软路由+NAS还OK,大型OS较吃力;缺点2:对小白用户不太友好,需要一定的动手能力。

其实家庭环境下即便要一机多用,宿主机+虚拟机的方式也可以应付(Linux、Win、群晖都有自己的VM程序);

注:PVE比ESXi更适合家用设备,自由度与兼容性更好些。

HP ML310e Gen8 v2 + P420,然鹅其实并没有什么必要Intel NUC7CJYH + ASUS AX88179 USB网卡很方便的快照功能,折腾党福音

这些年折腾NAS的心得总结一句话:

不要把简单的事情复杂化

单纯家里用用,群晖/威联通是最佳选择。

写在后面:

为达到更方便的操作与控制,建议搞一台能刷梅林、DD-WRT的路由,各种远程开关机、修改设置。(手残党暂时不要考虑Open-WRT)

梅林路由web界面DD-WRT的手机app截图配置工作较复杂的Open-WRT

以上。

利益相关:

Synology DS918+ (DSM6.2) : WD40EFRX + WD80EFZX + WD140EMFZ*2;Synology DS418Play(DSM6.2) : WD40EJRX+ WD80ZAZ*2 + WD140EMFZ;HP ProLiant MicroServer N54L( Debian10 + Seafile) :ST6000NM*2(RAID1);HP ProLiant ML310e Gen8 v2(EXSi7):THNSNJ256GCSU + STAS + WD1003FBYX*2(P420 RAID1);intel NUC7CJYH(Proxmox VE):CT1000MX500;Supermicro X10SDV-TLN4F Xeon D-1540 SOC(Proxmox VE) :PX-256M6S + WD40EFRX*2 + WD80EFZX

这几天组好了NAS,把方案分享出来给各位下片狂魔,好东西放在网盘里面会变成这个屌样:

【导航】

第一层 需求分析

第二层 硬件方案

第三层 软件玩法(手机看片,远程下载,远程开机,远程桌面,虚拟机服务器)

第四层 硬件选购

第五层 装机清单(考虑到一些没装过机害怕买错or不关心配置只想要NAS的同学,加一节)

第六层 家庭组网

第一层 需求分析

————————————————————————————————————————

【需求】1、盘位多,8-10盘位。

2、静音。

3、便宜。

4、省电。

5、高清播放。

6、可玩性高,支持虚拟化VT-x。

7、可扩展性强,PCIe,USB3.0。

【为什么盘位要多?】

-- PC普及这么多年了,谁没用过几台PC,可能硬件都过时了,硬盘没有过时啊,还有旧笔记本的硬盘,旧移动硬盘一大堆,都想不起来用。

-- 硬盘一段时间内只有一个容量的性价比最高,单G最便宜,且越来越便宜,成品NAS盘位那么少,一步到位很不划算,慢慢买的话,买了新的旧的盘就没地放啦。

【要不要硬件RAID?】

-- 不要!家用的话RAID提升性能被100MByte/s的网速限制,RAID1 RAID5高可用的话可以用软的,WIN8开始自带“存储空间”功能,所以没必要。

【为什么不买群辉?】

-- 最多5盘位,还6千多软妹币,盘位比硬盘还贵,开什么玩笑,也不好玩。

-- 在虚拟机里面装了黑群晖体验了下,易用性上再易用不如Windows熟悉,动手能力强的可以直接上Linux。真的喜欢用群辉的话,可以装在虚拟机里面,用NFS共享,再mount到群辉里面(远程目录不能用Video Station等功能)。

-- 我自己试了群辉的多媒体功能,需要存本地的片儿Video Station识别不出来,识别出来的电影干嘛费那么大劲存本地啊?

【为什么不买HP小Server?】

-- 价格不算太贵,1200-2000,盘位少才4个,机箱不可扩展,接口少可玩性不高,同等价位下CPU也不行。

【为什么不用旧电脑+硬盘盒?】-- 旧设备功耗高,也不静音。

-- 我先是改造了旧笔记本,PCI-Express接口转了两个USB3.0,扩展USB3.0千兆网卡。又花了250在某宝买了个4盘位USB3.0硬盘座,发现他娘的硬盘不休眠,宣传的功能是能休眠的,插在极路由上也不识别,就给某宝退了。

-- 而且,而且,而且插在硬盘座上面不固定,震动太大,伤硬盘。

-- 又考虑硬盘盒方案,最低500多软妹币,一想一个破盒子500多,网络下载都不带,还不如自己组装了。

【为什么不买其他成品NAS?】

-- 威联通TS-451,TS-453等,配置跟我这个一毛一样(J1800,J1900),价格都在4000以上,不过盘位比群晖多。

-- 万由NAS也跟我这个一毛一样(J1900,N3150),价格1600多,优势就是定制的4盘位热插拔小机箱。

【为什么不用智能路由器?】

-- 极路由3,USB速度约10MByte/s,USB2.0都没跑满。小米路由和极硬货就是单盘位。

-- 就算自己刷OpenWrt,能跑满USB2.0的硬件都不多,更不便宜,且移动和复制的速度降到了互联网下载速度,好虐心。

-- 路由器可扩展性差,只能完成一些基础的文件共享功能,自己组的性能强悍,可以写脚本,爬虫等24小时挂机。

第二层 硬件方案

————————————————————————————————————————

所以,所以,所以我是这么搞的:

【整体配置写在前面,嫌我啰嗦的直接转“第四层硬件选购”】

CPU:J1900/N3150/N3160 (约2GHz四核)

GPU:Intel HD Graphics Gen7/8

内存:4G/8G(支持双通道)

盘位:8盘位2个热插拔/ 10盘位3个热插拔

网卡:1000Mbit/s有线网卡

电源:400w 80plus金牌

显卡接口:DVI,VGA,HDMI(接口看主板,J1900最大2K高清,N3150最大4K高清)

其他接口:eSATA,USB3.0 * 3,USB2.0 *3

功耗:待机功耗20w以内

价格:1000 - 1500元

【集成CPU主板:385软妹币】

缺点:

-- 相对于HP小服务器,没有远程管理界面。家用可以忽略,有Wake On LAN就足够了,再配合智能路由器就可以远程开机,也可以在BIOS电源设置里设置断电后状态为“Last State”或者“Power ON”就可以像服务器一样一直开机。

优点:

-- 无CPU风扇超静音。

-- CPU性能较成品NAS强,比HP小服务器性价比也高很多。

-- 集成显卡性能强劲,可以硬件加速4k高清,不打游戏不编程只办公上网看片的话性能绰绰有余。

-- 现在新出的CPU都支持VT-x,想玩啥直接上虚拟机,做Server的也可以一直开机哈哈。

-- 带3个PCIE插槽,可玩性大大加强。

-- 带3个USB3.0接口。

-- 千兆网卡,NAS必配。

【主机箱:89软妹币】

缺点:

-- 大,嫌大的可以折叠了。只要有地方放,连根网线过去就完全不用看到。

优点:

-- 盘位多,共9个盘位。5个3.5寸盘位。4个光驱位,可以用光驱位转3.5寸的架子。

-- 外露两个光驱位做热插拔,某宝30软妹币一个。

【电源:218软妹币包邮】

(选择要点就是节能,NAS常年开机,80plus金牌可以节省很多电费,所以不要在电源上省钱。)

经过实际测试,上面这句话是错误的,由于功耗太低,所以效率体现不出来,只要买品牌电源就可以,太差的话风扇用久了可能噪声会变大。

从上图看SATA电源不够,只有4个,可以买SATA电源一分二的线材,IDE大4PIN转两个SATA,转够10个SATA。

电源是额定400瓦,功率肯定够(3.5寸硬盘启动电流略高,都按12V,1A算,10块盘才120瓦,主板大概20w)。

【内存:4G 105软妹币】

要玩虚拟机的同学4G很紧张,可以买两条4G*2,CPU支持双通道。

【SATA扩展卡:111软妹币】

主板自带2个SATA3.0。2个PCIE1x,1个PCIE16x。

SATA扩展卡性价比比较高的有两种,2口的33,4口的85(机械硬盘速度最高100MByte/s,用不到SATA3)

【系统盘:88软妹币包邮】

系统盘用固态硬盘会比较快,30G装系统够了,要折腾虚拟机的可以买60G或者120G。

买J1900用Linux系统的可以把系统装在U盘上,8G就够装完整图形界面。

有2.5寸硬盘或者固态硬盘空闲的可以省了,一定不要用3.5寸做系统盘,一直开着很吵。

【硬盘减震】

已经有三位同学提出硬盘震动的问题,我目前只有两块3.5的盘感受不到,总结解决方法如下:

1、购买硬盘减震圈。淘宝1元20个。

2、光驱位请购买硬盘减震支架。

3、购买板材厚度大于1mm的质量好的机箱。

4、硬盘请看准低速监控级绿盘或2.5寸笔记本硬盘。

5、还有问题的请全部购买固态硬盘,彻底解决震动问题。

至此硬件搞定,核算一下:

集成主板:400(带邮费)

机箱:79(机箱太重,某宝邮费会很贵,黑东79包邮,入口购买还减了10块)

电源:218(包邮)

内存:105(包邮)

系统盘:88(包邮)

SATA扩展卡:111(3 * PCIe转SATA3.0两口带邮费)

总计:1001软妹币。

没有算热插拔抽取盒,我还没有买,没热插拔需求的也可以不买,SATA数据及电源线买硬盘的时候可以让老板送。

害怕被人说广告,基本没写型号,也没给链接。

都写出来也太乱了,想要买的,我把我选的单独列个【硬件选购】章节。

【使用实测】

开着优酷(硬件加速)写知乎,CPU快满了,再开网页就卡了。

【性能比较】

N3150的NAS(测完了我发现性能他娘的竟然只比我平板高一点点,当然CPU功耗只高2W):

台电平板(X98 Air3G 64G版):

我的编程及游戏机 (E3-1231v3 4核超线程 8G单通道内存 GTX960显卡)

【艳照】

内存和抽取盒到了,装上发个机箱内部艳照,

粘扣带

做扎线带很好使,塑料的一次性还不好拆。

光驱位装了两个热插拔抽取盒,感觉没上图机箱底部的5个3.5盘位稳,没需求的还是买减震架比较稳妥。

第三层 软件玩法

————————————————————————————————————————

【写给小白】

目的是为了的话,请安装Windows(请支持正版),高手达人、学习研究、高富帅、自带优越感的、请自便,不在讨论之列。

其实大家最最最最常用的就是“躺在床上随时用手机、iPad看硬盘里的片”。

Windows服务端设置:

目标文件夹右键->属性->共享->高级共享->勾选”共享此文件夹“->(需要在手机上删片的请继续设置->权限->完全控制->允许)->确定->确定->确定->确定。

Android播放客户端(手机,盒子,智能电视):

推荐1:威动播放器->家庭共享->选择自动发现的nas设备名称->输入Windows账号密码->选择片播放。

推荐2:ES文件浏览器->网络->局域网->扫描->选择自动发现的nas设备名称->输入Windows账号密码->选择片播放。

ES文件浏览器可以在手机端删除丑八怪哦~

Android Pad客户端:

威动播放器HD

iOS播放客户端:

推荐:“OPlayerHD Lite”(免费的哦)->文件服务器->自动发现->选择自动发现的nas设备名称->输入Windows账号密码->选择片播放。

Win7/8/10平板及PC:

推荐:网络->自动发现的NAS设备名->右键固定到开始屏幕 or 固定到快速访问->打开文件播放。

映射网络驱动器不好使,连不上就报错,还容易被流氓应用唤醒硬盘。

以上客户端都支持保存密码自动登录,自己研究。

【NAS操作系统方案】

方案一:NAS裸机安装Windows,可在虚拟机中安装Linux,群晖,软路由。

推荐。Windows对硬件兼容性好,驱动普遍支持,能无需配置充分发挥显卡性能,平时可做上网机,观影机,HTPC高清电视。

方案二:NAS裸机安装Linux,可在虚拟机中安装Windows,群晖,软路由。

技术宅推荐。Windows还是有些缺陷的,系统及某些流氓软件会莫名其妙唤醒全部硬盘。只要能驱动,Linux多媒体不是问题。没有迅雷下载有点问题,移植的也麻烦,可以在Win虚拟机里面迅雷。

方案三:NAS裸机安装群晖,可在虚拟机中安装Windows,Linux,软路由。

不推荐。NAS的显卡都浪费了。NAS中集成的功能当然做得很用户友好,非常方便。但是没有的功能很多需要自己编译源码,没有Linux发行版的软件仓库方便,很鸡肋。

注1:以上群晖都可以换成其他NAS操作系统。

注2:不推荐裸机安装NAS操作系统。

【Win版本】

迅雷远程下载:

服务端:安装迅雷->登录->远程设备->立即绑定。

安卓客户端:迅雷电视助手(别问我为什么叫电视助手)->登录->我的->选择设备->加号新建。

网页客户端:yuancheng.xunlei.com->登录->选择设备->新建。

百度云管家远程下载(推送到设备):

服务端:安装百度云管家->登录。

安卓客户端:安装百度云->登录->长按文件或文件夹->更多->推动到设备->选择NAS设备名。

网页:pan.baidu.com->登录->勾选文件或文件夹->推动到云设备->选择设备。

iPad客户端:没发现。

iPhone客户端:谁送我iPhone,我帮你看看。

硬盘休眠设置:如果装满9块3.5寸盘,开机的声音将会非常恐怖,像飞机引擎一样,好在自动休眠后就静音了,用到哪块哪块就启动,互不影响,除非你非要搞软RAID1、RAID5。

硬盘软RAID备份设置:

//不懂举手

【Linux版本//to do

【黑群晖

//to do

【软路由

家用并不实用,适合需要超大带机量(200+)的同学。

//要的举手

【局域网内远程开机(WOL)】

Wake On LAN原理很简单,就是在局域网内往一个Mac地址发送一串特定消息,网卡读取到消息唤醒主板开机。这个功能需要主板支持WOL功能(一般都支持,有的叫Wake up by LAN),并在主板里设置为开启(在电源选项中)。

局域网中的任何设备都能的用于发送唤醒消息,安卓手机,其他计算机,路由器等。

智能路由器一般都支持。不支持的路由器可以刷dd-wrt或open-wrt,就能通过路由器管理页面实现。

【从互联网中远程开机】

有手机客户端的路由器:

智能路由器都有手机客户端,在手机客户端中控制路由器发送WOL消息。

这是极路由的:

无手机客户端的路由器:

1、在路由器设置中开启从互联网访问路由器管理网页的权限,更换http端口为不常用的端口。

2、在路由器中设置DDNS账号密码(花生壳免费)。

3、访问DDNS提供的域名 + 你设置的端口号,登录路由器管理网页,发送WOL消息到指定MAC地址。

【从互联网中远程家中NAS桌面】

收费的远程桌面很多啦,这里讲的免费的。

收费其实就是提供一个服务,那就是动态域名解析DDNS,上面一节远程开机就用到了DDNS,花生壳的DDNS是免费的,基本所有路由器都支持花生壳。

//nat

//mstsc

//splashtop

第四层 硬件选购

————————————————————————————————————————

J1900系列:

-- 目前市场上全新的整合CPU小板主流是J1900(四核),同系列有J1800(双核),已经被替代,J2900不多。

N3150系类:

-- N3150系列是新出的,还有N3700是升级版。

除了这两个系列,还有一些工控版,有的是二手的,有的CPU太差,性价比太低。

J1900 VS N3150:

-- J1900(2.41GHz)比N3150CPU(2.08GHz)CPU强悍一些,当然功耗也高6W。

-- N3150集显强一些,支持4K高清,J1900支持2K高清,N3150是第八代,J1900是第7代。-- N3150内存频率1600MHz,J1900内存频率1333MHz。

-- N3150太新了,目前Linux发行版不支持,要裸机装Linux或群晖的稳妥起见买J1900。

主板型号推荐:

-- 梅捷SY-N3150四核主板,我买的就是这个,没有HDMI接口,N3150的4K高清没发挥出来。

-- 七彩虹 C.N3150M-K 全固态版 V21 主板,黑东369包邮。

-- 七彩虹 C.Q1900M 全固态版,这个是3个PCIE,缺点是SATA2固态系统盘性能发挥不充分,买J1900的就买这个吧,365包邮。

-- 华擎N3150M主板,某宝499,不差钱专用。

-- 华擎N3700-ITX,某宝769,高帅富专用。

我排除的主板有以下一些硬伤:

-- 100Mbit/s网卡,传输速度才10MByte/s。

-- PCIE插槽只有一个,小板上SATA口一般只有2个,不够扩展,可玩性也不高,比如插无线网卡做软路由等。

-- 笔记本内存插槽,这个是为HTPC小机箱设计的,大机箱没必要,笔记本内存也贵。

内存:

内存DDR3 1600随便买,最大支持8G,可以买2 * 4G双通道。

机箱: (多盘位的机箱很难找

金河田游戏联盟启源,5*3.5寸,4*光驱位,可以做2个热插拔,我买的就是这个黑东89。

酷冷至尊特警365,6*3.5寸,4*光驱位,可以做4个热插拔。

酷冷至尊特警366U3版,7*3.5寸,3*光驱位,可以做3个热插拔,黑东159。

酷冷至尊毁灭者经典U3升级版,7*3.5寸,3*光驱位,可以做3个热插拔。

爱国者魔武者D1中塔机箱电源套装,5*3.5寸,4*光驱位,可以做2个热插拔,139送250W电源。

电源: (电源不乏便宜的,但是80plus金牌认证的都不便宜)

鑫谷GP500G黑金,80plus金牌,218包邮。

热插拔抽取盒:

硕力泰SEATAY 3.5寸sata光驱位硬盘抽取盒。29.9包邮。

固态硬盘: (固态硬盘很有用,可以显著提升旧设备速度,可以按自己需求挑选品牌大小)金士顿 SV300S37A 60G 120G

ShineDisk M667 64G 128G

三星 MZ-75E120B/CN850 EVO 120G

创见 TS128GSSD340 128G

闪迪 SDSSDA-120G

我买了海智得的H5-60G,读写速度都一般般,有洁癖的可以选好一点的,要玩虚拟机的速度快一点体验会比较好。

SATA扩展卡:

我买的是三张PCIE转SATA3 * 2,两个口都可以做启动盘,通过跳线可以外置eSATA。

【迅雷赚钱宝】

迅雷赚钱宝兑换比例10000比1,我4Mbit/s上行带宽,每天入账约2.5元。

我上个月买的时候158元,现在已经涨到400元,众筹的时候貌似78元。

就按迅雷赚钱宝400元,NAS按1000元算,迅雷赚钱宝运行2年即可回本。迅雷赚钱宝无内置存储,可以使用旧笔记本硬盘,旧移动硬盘,或者淘宝旧硬盘,U盘没试过,容量太小可能跑不满网速。

【优酷路由宝(黑)】

优酷路由宝89元,内置存储,跑满上行4Mbit/s网速,每日入账约2毛5分,跟迅雷差十倍,不骂你骂谁?当然也可以用,限速,低保合约每天在线22小时,即可优酷免广告。

【功耗实测】

硬盘休眠待机:20W

硬盘休眠上网:23W

两块3.5寸硬盘运行:30W(每块3.5寸硬盘运行需要5W)

我屋子电费一元一度,待机一天5毛钱。

第一次用这个玩意,以前对耗电没什么概念,既然买了,就都测了一下,个别结果很出乎意料。

NAS

关机:1.4W(我擦,关机还耗电,还不少)

待机:20W

运行:20W+每块3.5寸硬盘5W

PC关机:1.2W

待机:45W(要不是你太吵,那你当nas也可以)

处理器满负荷:100W

显卡满负荷:180W

极路由3:4.5W(看来用路由器当NAS,加上硬盘座,耗电比组装NAS并无明显优势)

华为光猫:5W

千兆8口交换机:1.3W

电磁炉关机:1.3W(触摸类开关,关机的时候都耗电,机械类开关关机不耗电)

ZTE手机充电:3W(电脑主板USB2.0标准是5V0.5A,2.5W,所以不要用电脑USB口充电)

台电平板充电:7W(电脑主板USB3.0标准是5V0.9A,4.5W,所以不要用电脑USB口充电)

iPad3充电:12W

iPad3充电器不充电:0W(真是业界良心)

台电充电器不充电:0.3W(这就是差距啊,我说你怎么不充电也吱吱响,没事在那耗电浪叫)

迅雷赚钱宝:5W(4Mbit/s上行带宽,每天赚2元多,只要1毛钱电费)

音箱:4W

优酷路由宝:1.5W(哥们赚钱不给力啊,要你有毛用啊)

22寸显示器:25W(显示器竟然功耗这么高,可见60寸平板电视绝不是省油的灯)

第五层 装机清单

————————————————————————————————————————

有其他需求的,请根据【第四层 硬件选购】自行调整。

装机工具自备:螺丝刀,手钳,显示器及连接线,键盘鼠标,装系统的U盘。

主板:七彩虹C.N3150M-K 全固态版 V21 主板(可向老板索取螺丝)

内存:金士顿DDR3 4G 1600(买1-2条)

固态硬盘:金士顿 SV300S37A/60G

电源:核动力-巡洋舰 C5标准版(送螺丝)

机箱:金河田(Golden field)启源 黑红 游戏机箱 (送螺丝)

硬盘抽取盒:硕力泰SEATAY 3.5寸sata光驱位硬盘盒抽(对应机箱及需求买0-3个)

SATA扩展卡:两口的买0-3个(注意:是PCIE,不是PCI)

SATA数据线:0-8条(买主板可索取,买硬盘可索取,注意:本不带线

SATA电源线:SATA电源一分二买两个 + 大4PIN转两个SATA买两个 (买电源,买硬盘时可索取)

机械硬盘:希捷ST3000DM001 3T台式机硬盘(1-8个)

千兆交换机:水星(MERCURY)SG108M 8口全千兆

路由器:极路由1s / 极路由4

装机工序:

0、检查配件是否齐全完好,有退货风险请斯文拆包装,先加电测试配件可用再往机箱上装。

//略,要的举手

注意:固定PCIE卡的时候,如果螺丝拧一半进不去,就用手钳把背面的毛刺夹掉,要手钳就是干这个的。

第六层 家庭网络————————————————————————————————————————

【传输速率单位(如宽带) 与 存储速率单位(如下载速度) 的差别】

传输速率的单位是 比特(bit)常写做小写b

存储速率的单位是 字节(Byte)常缩写做大写B

8比特(bit) = 1字节(Byte)

【常见有线设备传输速率一览】以太网(Ethernet)10Mbit/s (淘汰)

快速以太网(Fast Ethernet)100Mbit/s (普及)

千兆以太网(Gbit Ethernet)1000Mbit/s (快完成普及)

万兆以太网(10Gbit Ethernet)10000Mbit/s (企业级、网关设备)

台式机、笔记本有线网口,PCIE网卡 100Mbit/s or 1000Mbit/s

【常见无线设备速率一览】 (实际传输速率约50%)

802.11b 工作频段2.4GHz 最大11Mbit/s (淘汰)

802.11g 工作频段2.4GHz 最大54Mbit/s (淘汰)

802.11n 工作频段2.4GHz or 5GHz 一般300Mbit/s,最大600Mbit/s (普及)

802.11ac 工作频段5GHz频段 一般867Mbit/s,最大看厂商实现(正在普及)

手机,Pad,智能电视,老笔记本,360wifi,度娘wifi,小米wifi等 802.11n 约11MByte/s

新笔记本,新USB无线网卡等 802.11ac 约40MByte/s

【常见传输接口速度一览】

USB2.0 最大480Mbit/s(60MByte/s)(普及)

USB3.0 最大5.0Gbit/s(500MByte/s 每字节2bit校验)(正在普及)

SATA1.0 (1.5 Gbit/s, 150 MByte/s)(淘汰)

SATA2.0(3 Gbit/s, 300 MByte/s)(普及)

SATA3.0(6 Gbit/s, 600 MByte/s)(正在普及)

eSATA(3 Gbit/s, 300 MByte/s)

【常见存储设备读写速度一览】(实际速度与厂商实现相关)

老U盘典型值 顺序读20MByte/s 顺序写2MByte/s

新U盘典型值 顺序读80MByte/s 顺序写20MByte/s

2.5寸5400转机械硬盘典型值 顺序读70MByte/s 顺序写70MByte/s

3.5寸7200转机械硬盘典型值 顺序读100MByte/s 顺序写100MByte/s

固态硬盘典型值 顺序读400MByte/s 顺序写100MByte/s

【家用常见网速】

8Mbit/s下行1Mbit/s上行 (1MByte/s下载,125KByte/s上传)

50Mbit/s下行4Mbit/s上行 (5.5MByte/s下载,500KByte/s上传)

100Mbit/s下行4Mbit/s上行 (11MByte/s 下载,500KByte/s 上传)

高清电影码率 2MByte/s

蓝光电影码率 5MByte/s

(一些多媒体文件格式不适合在线播放,需要下载很多或者全部,因此会有卡顿)

速度列了这么多,目的就是在数据传递的路上不要有瓶颈。

在全路径都是有线千兆的网络中使用3.5寸机械硬盘的速度,接近于使用本地硬盘。

【家庭组网方案】

【802.11n无线路由 + 千兆以太网交换机】

适合已经有路由器,没有高速无线传输需求的同学。

无线移动设备普遍达不到“高速”标准,也没有高频应用场景,不必急于更换路由器。

【802.11n/ac千兆LAN口无线路由(无线路由千兆LAN口不够的可以 + 千兆以太网交换机)】

适合想采购路由器,有高速无线传输需求的同学。

【802.11n/802.11ac千兆LAN口无线路由(买2个路由器,千兆LAN口相连,其中一个做无线AP】

适合覆盖面积中等,信号覆盖不全,且有高速无线需求的同学。

【802.11n无线路由 + 千兆以太网交换机+ 无线AP控制器(AC) + 无线AP(N个)】

适合多层住宅或面积超大,无高速无线需求的同学。

多层住宅或面积超大还要高速,请雇佣专业团队。

我的1000元计划——用一块西数4TB红盘的京东售价组装一台容量4TB的NAS。这可能是最疯狂的捡垃圾NAS方案,关键是它还比很多低端NAS方案稳定。唯一的劣势就是省电,毕竟功耗与性能总有取舍。

注意,捡垃圾学习思路,不是让你去找同型号的零件!

目录

成果展示配置思路NAS的性能误区!重要!ZFS的和硬RAID探讨

关于硬件和软件的详解会有空了在专栏写

成果展示

装这台NAS的主要性能要求有三个

跑ZFS跑SMB挂PT

最后搞出来了个这么玩意,最终花费1100元,虽然贵了100但双故障冗余的可靠性红盘能比?

可以和全塔比高低的中塔服务器机箱,机箱配套的硬盘架卖家补发中暂时外挂

首先这是个高性能NAS——相对ARM卡片电脑和集成CPU的嵌入式平台而言。4块硬盘组成一个RAIDZ2的ZFS储存池,可以承受最大两块硬盘损毁(真的拔了玩过)。基于Debian的系统功能强大装上docker甚至pve就能为所欲为,但是我的4G内存并不支持我这样做,所以就干脆全都丢给ZFS的ARC用了。

kB reclen write rewrite read reread 64 43485 128 256 512 1024 2048 4096 8192 16384

性能上,使用iozone进行8G大小读写测速,可以达到200MB/s连续写,250MB/s连续读,跑满千兆网线绰绰有余。

配置思路

如何才能做到极限省钱?兼容SAS硬盘是关键。因为普通主板无法直接兼容SAS硬盘,使得这些服务器拆机的宝贝价格可以压进100元每TB,运气足够好甚至可以压到接近50元每TB。足够便宜的价格可以后续再用RAID冗余的方式来补足可靠性的短板。

LSI 9211-8i

然后就是如何才能极限控制平台价格了,硬件阵列卡(特指带缓存的硬件阵列卡)想都不要想,要么是SAS1时代的古董,要么远超预算。而且有ZFS这样的文件系统完全用不着上硬阵列。

通道卡也不能太旧,那些看起来便宜的通道卡只支持不超过2TB的硬盘。最后的选择也就只剩下LSI SAS 2008芯片的9211/9210系列,其中8口均价150,4口均价80。

ASUS PIKE 2008

但如果是某型号的专用配件呢?那就会便宜很多了。华硕的PIKE卡,通过专用接口连接到主板上,一头是PCIe x4另一头是PCIe物理形状的SAS接口,最后通过主板上的SATA形式的SAS口连接硬盘。和LSI 9211-8i相同主控的PIKE 2008只需要50元,搭主板一起只花了160,相当于买卡送主板,还是送的服务器主板。

华硕 P8B-E/4L

这块主板卖得那么便宜也不是全无道理,一方面它强制使用ECC内存,非ECC直接无法开机。另一方面机智的奸商硕把远程管理模块作为配件销售,所以这块主板空有远程管理接口实际上是不能用的。当然这些都不是问题,支持ECC甚至还成了省钱的优势,大容量的ECC贵可1G的小容量比普通内存反而便宜。

=== START OF INFORMATION SECTION === Vendor: SEAGATE Product:ST2000NM0001 Revision: 0002 Compliance: SPC-4 User Capacity:2,000,398,934,016 bytes [2.00 TB] Logical block size: 512 bytes Rotation Rate:7200 rpm Form Factor:3.5 inches Logical Unit id:0x5000c50040a19c4b Serial number:Z1P0KXFV0000C2101UZ6 Device type:disk Transport protocol: SAS (SPL-3) Local Time is:Tue Oct 23 23:41:02 2018 CST SMART support is: Available - device has SMART capability. SMART support is: Enabled Temperature Warning:Enabled === START OF READ SMART DATA SECTION === SMART Health Status: OK Current Drive Temperature: 46 C Drive Trip Temperature:68 C Manufactured in week 39 of year 2011 Specified cycle count over device lifetime:10000 Accumulated start-stop cycles:152 Specified load-unload count over device lifetime: Accumulated load-unload cycles:152 Elements in grown defect list: 1 Vendor (Seagate) cache information Blocks sent to initiator = Blocks received from initiator = Blocks read from cache and sent to initiator = Number of read and write commands whose size <= segment size = Number of read and write commands whose size > segment size = 0 Vendor (Seagate/Hitachi) factory information number of hours powered up = 18516.58 number of minutes until next internal SMART test = 13 Error counter log: Errors Corrected by Total Correction GigabytesTotal ECCrereads/errors algorithmprocesseduncorrected fast | delayed rewritescorrectedinvocations [10^9 bytes]errors read: 0 00856.020 0 write: 00 0 00528.266 0 verify: 0 00103.547 0 Non-medium error count:0 No self-tests have been logged

硬盘很谜,我买的这ST2000NM0001根本没有标准的SMART可以读取和监控,只能利用smartctl看到温度、通电时间、启停循环等基本信息,然后就是一个不知道有什么用的ECC日志表。不管怎么说1W8的通电时间对于服务器硬盘而言离淘汰还远着,而且到手第一时间就已经进行了全盘坏道扫描没有任何问题。就算意外挂了也能通过阵列重建轻松恢复。

运行iozone测试时的CPU占用率

最后是CPU,真的是个U都能跑(树莓派还是别指望),直接最便宜的G1610走起。注意上图黄色的Wait-IO其实算是CPU空闲等硬盘的时间,ZFS占用最大30%左右,这还是计算量较大的RAID-Z2,比我的预计低。

系统最后选择的基于Debian的Openmediavault(简称OMV),FreeNAS只允许ZFS做数据盘太反人类了,而且Debian对我而言也熟悉一点。

OMV虽然没有内置ZFS支持,但可以通过安装插件达成。ZFS on Linux并不比FreeBSD的版本差,ZFS功能上完全不用担心。

pool: ZFS_4TB_RAIDZ2_Pool state: ONLINE scan: scrub repaired 0B in 0h22m with 0 errors on Mon Oct8 11:15:42 2018 config: NAMESTATE READ WRITE CKSUM ZFS_4TB_RAIDZ2_Pool ONLINE 0 0 0 raidz2-0ONLINE 0 0 0 scsi-35000c50040a19c4bONLINE 0 0 0 scsi-35000c50040a1ba8fONLINE 0 0 0 scsi-35000c50040a335a3ONLINE 0 0 0 scsi-35000c50040a33813ONLINE 0 0 0 errors: No known data errors

因为一共就4G内存而且主要做储存,就放弃折腾PVE、Docker了,把ZFS的ARC最大值手动设置到3G,榨干最后一点自由的内存。

OMV就是个装在Debian上提供WEB界面的超级软件包,抛掉界面这就是个Debian,Linux能怎么用就可以怎么用,搭个Minecraft服务器也是可以的,不过那样的话就要减少给ZFS分配的缓存空间了。

NAS性能误区

奸商(比如VedioTalk)喜欢用Plex编码推流和视频转码来推销新的赛扬J主板,甚至有极端小白给NAS配上了i7 8700。

Plex编码推流和视频转码本身就是个伪需求。Plex重编码推流1080P码率达8Mbps,这是什么概念?高画质的1080P BDrip都只有5Mbps左右的码率!而且硬件编码画质本身就糟糕。也就是对于大部分影视资源Plex重编码推流既劣化画质又增加体积。完全的一无是处。

视频转码,仅对自己手机/摄像机拍摄的视频有意义,因为这些设备为了高画质输出码率往往很高不适合归档保存,因此高参数重编码是有价值的。而对于大部分本身就有压制组转码过的影视资源而言,重新转码就是在费时费力劣化画质,文件大小也难以得到有效压缩。

仅做文件共享用途的NAS,CPU只要能亮机就行,老旧的Atom嵌入式主板是个很好的选择,注意它们是否拥有千兆网卡和足够的硬盘接口就行。需要做软阵列或其它高级用途,按需求选择CPU。如果真的有闲钱,全套都升级成服务器级的配件,比买i7更值得。

ZFS的和硬RAID探讨

首先更正两个ZFS的性能误区,

ZFS推荐大内存但不强制大内存,8G只是FreeNAS的推荐值,其实低至1G也能运行,Oracle文档中最低要求为2G。ZFS没有要求硬盘数量对齐2^n+p的说法,ZFS的动态条带会自动分配校验空间占用。

硬件RAID对个人用户其实是个不实用的东西。无缓存的控制器只跑得动1/0/10几种简单阵列,5/6需要高端阵列卡才能发挥性能。硬盘必须支持ERC/TLER(至少红盘档次才开放该功能),保证硬盘不会因为一点小错误而被踢掉。而且硬件RAID只保硬盘不保数据,即硬盘下线可以重建,数据损坏是不会被修复的。硬件RAID还需要电池或UPS来防止写入漏洞问题,还有迁移的麻烦等等。对于没有全套服务器环境的个人用户而言,硬RAID就是请了个大爷回家,稍有不注意轻则降级重则损毁。

相比之下ZFS对硬件几乎无要求,不仅不需要昂贵的阵列卡,NAS硬盘也完全没有必要,普通硬盘也保3年挂了去售后就行。性能上超出缓存的连续读写表现也很好,追求随机读写和高IOPS就需要加钱大内存ARC和固态硬盘L2ARC/ZIL。

最重要的是ZFS提供了文件完整性保护,文件写入时都生成了相应的校验,定期进行擦洗(scrub)可以检测文件完整性,及时修复损坏。比如今年八月的腾讯云发生的静默损坏,就是硬件RAID无法应对而ZFS可以修复的。

ZFS作为文件系统直接接管多硬盘,重建和擦洗都只针对有数据的部分,而硬RAID就不知道硬盘数据情况了初始化就得全盘跑一遍,重建也只能全盘跑一遍。需要转移的时候导入和导出也十分方便,而硬RAID搬家得连卡带阵列标记清硬盘端口号才敢小心翼翼的搬。而ZFS直接找到另一台装有不低于原ZFS池版本的电脑插进去导入就行。

NAS DIY交流群: