NAS个人云存储服务器搭建

NAS(Network Attached Storage)网络附属存储,通过网络提供数据访问服务。可以理解为长时间连网的存储设备,其功能基本和市面上的各种云盘相似。它以数据为中心,将存储设备与服务器彻底分离,集中管理数据,从而释放带家。提高性能、降低总拥有成本、保护投资,其成本远远低于使用服务器存储,而效率却远远高于后者,说白话就是家用的服务器。

NAS或云盘除了提供大容量的资料存储,也帮一般人省了携带移动硬盘的麻烦,因为资料或数据可以随时访问(只要能连网)。NAS也是不少电脑DIY玩家涉足的一个领域,可以给家里装个智能家居系统,其中包过私人云存储就需要搭建家里的云存储系统,开始折腾起NAS。

目前国际著名的NAS企业有Netapp、EMC、OUO等。

一、Synology群辉NAS

群晖 (Synology) 在 NAS 界的影响力比肩苹果、微软的,群晖NAS在定价比同行高的情况下,依然成为市场上销量和口碑双赢的产品。那么群晖都有哪些型号,各型号之间市场功能需求定位及价格是怎样的?

群晖科技(Synology)创立于 2000 年,自始便专注于打造高效能、可靠、功能丰富且绿色环保的 NAS 服务器,是全球少数几家以单纯的提供网络存储解决方案获得世界认同的华人企业。 

群晖用来做家庭NAS服务器简直就是小菜一碟,有非常多的影视爱好者、中小企业都是采用群晖作为NAS服务器,它部署起来非常简单,甚至于很多人不购买群晖的硬件设备,自己通过普通的台式电脑搭建一个含有群晖系统的NAS服务器,也就是大家俗称的“黑群晖”。

 群晖的优势在于可以快速的部署NAS服务器,两块以上的硬盘可以快速的组建RAID来进行数据容灾性备份。数据读取速度慢?对于群晖来说那都不是事,群晖可以通过固态硬盘来对读取或者写入数据进行加速。

最主要的是群晖可以针对不同的用户配置不同的文件夹访问的权限,有的文件夹只针对一部分人可见,有的文件夹只允许读取而不允许修改,可以针对某些人可编辑,充分的体现了私密性和数据的安全性。

通过群晖的QuickConnect可以在任何有网络的地方轻松地访问到群晖服务器上的资源,即使家庭宽带没有公网IP地址一样可以访问。当然“黑群晖”用户是没有办法使用QuickConnect,只能通过公网IP地址或者内网穿透技术来访问群晖服务器。

正因为如此很多“黑群”用户用着用着就黑转白了,因为黑群还是不太稳定,不能使用QuickConnect,而群晖的系统相较于其他网络存储服务器系统来说确实更有优势,可玩性也更高,比如可以用Docker搭建一个系统激活服务器,可以使用Virtual Machine Manager安装一个windows系统,可以创建文档在线分享、在线编辑,甚至可以搭建一个网站等等,就在群晖的套件中心。

最主流的NAS是Synology群晖,界面及操作基本都非常user-friendly,但价格不低,不过从稳定性及布置的简易程度来说,这钱确实花的值。

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

优点∶一站式方案,套件及,app丰富,远程控制及操作方便。

缺点∶本质上只是闱割掉声显卡后的赛扬解决方案,稳定性也只能称得上尚可,RAID属于软阵列,建议采用Basic磁盘方式使用。

这里推荐DiskStation DS920+,主机也就5千左右。

DS920+的CPU是Intel Celeron J4125四核2.0GHz,睿频加速高达2.7 GHz; 2个内置M.2 2280 NVMe SSD插槽。4个3.5英寸SATA接口。

二、西数 WD My Cloud

西数的WD My Cloud专注于个人单位云存储设备,它的功能并没有群晖那么多,也没有群晖那么好玩,它拥有了家庭NAS服务器的所有功能,比如存储数据,备份手机里的文件等等,当然WD My Cloud也可以在没有公网IP的情况下在外网进行访问。

WD My Cloud可没有黑白之分,好在它相较于群晖来说便宜很多。同等价位的WD My Cloud、群晖,Wd My Cloud可是自带了网络存储专用的硬盘,而群晖则需要另外购买。WD My Cloud的设置也非常傻瓜,只需要插上电之后,在网口上插上网线即可。

三、惠普ProLiant MicroServer

成品NAS解决方案,惠普ProLiant MicroServer

适用对象∶有一定的动手能力,对性能要求较高的用户。

优点∶性价比高(比同等配置的群晖低30-50%); 稳定性强(毕意隶属Server产品线); 可扩展性强,可根据需求添加硬RAID卡及各类扩展卡。

缺点∶需要自行安装及配置系统,Linux的话需要一定的动手能力。

购买意见A∶HPE ProLiant MicroServer Gen10

下图是Gen10和一些CPU的比较,从图中可以看出,Gen10做NAS是足够了,但是要想玩虚拟化还是有些吃力的。

购买意见B:HPE ProLiant MicroServer Gen10 Plus

Gen10 Plus的CPU有两种选择∶

Intel Xeon 22xx / Pentium G 54xx ; 板载四个千兆网口; 一个PCI-E x16扩展槽 ; 有四个SATA接口。

四、自行组装

推荐志强主板

适用对象∶有较强的动手能力,喜欢折腾的用户。

优点∶当然就是实惠了,性价比高。

缺点∶自己组装肯定没有专业的稳定,而且出了问题也不好解决。

五、家用NAS服务器搭建选型标准

1. 对大部分家用用户而言,硬件需要满足以下几点:

稳定性:7×24稳定无故障运行,最好有UPS电源保护,断电后也能让NSA安全关机,防止意外断电对硬盘造成损害,意外断电还可上电恢复。

拓展性:较多的硬盘槽位,便于容量扩容;

兼容性:硬件对操作系统兼容性良好(系统电源管理、硬盘控制器兼容性等),

体积小巧:占地面积小,便于放置。

节能:7×24小时挂机下载的情况下,动辄一两百瓦甚至三百多瓦的家用电脑显然不适合作NAS;

静音:做工好,廉价机箱的箱体共振等问题不应该存在;

价格合理:合理价格内兼顾以上6点;

方便维护:分区格式易于读取,方便故障急救或脱机保存。

共享文件服务:这算是NAS最基本的服务了,能快速开启FTP、SAM的服务。

私有云盘服务:比如,NextCloud等可自动同步多个设备的数据。

家庭影院服务:自动下载各种资源,随时访问NAS资源,无需再次下载。

2. 家用NAS的功能(软件)需求:

便于远程管理,无需连接键鼠、显示器,浏览器内或管理软件简单搞定。

作为一台下载机,由于影视文件版权、敏感词等问题,成品NAS自带的下载器即便支持迅雷离线也是龟速,解决方法只能是用win版迅雷配合强制开启高速通道模式!

现在年轻人在房贷、车贷、养家糊口多重压力的情况下,预算并不太多,家庭NAS服务器没有亦可,但很多人还是抑制不住尝鲜的心。在这种情况下我们也有非常便宜的解决方案。比如玩客云如今几十块钱就可以买到,这时只需要买个硬盘盒装上闲置的硬盘挂载在玩客云上就可以组建一个家庭NAS服务器,也可以通过外网访问,最主要的是白得一个迅雷离线下载功能,有的人甚至把玩客云刷成一个网络电视盒子。

猫盘也是成本很低的家庭NAS服务器解决方案,它可以将硬盘直接挂在在猫盘内,而不需要USB进行外接。有不少人玩猫盘的原因是猫盘可以刷“黑群”。

当然这些低成本的家庭NAS服务器解决方案只适合平时玩玩,比如下载电影、电视剧等等,并不适合用来长期的存放重要的文件和资料。因为这种低成本的解决方案一般使用普通的硬盘,而非专业的网络存储硬盘,也不会组件Raid进行灾备。

推荐1500元以内纯NAS方案

HP ProLiant MicroServer N54l

价格:1300左右(含运费)

配置:CPU:AMD Turion II Neo N54l

内存:4GB ECC DDR3内存一条(最大支持16GB) 、

硬盘:500G西数黑盘一块

电源:150w电源

网卡:NC107i千兆网卡

硬盘位:4盘位抽屉式槽位(更改bios可安装6块硬盘)

主板扩展接口:双半高pci-e插槽

其它外部接口:eSATA / VGA / USB2.0

整机尺寸:高267mm 宽210mm 深260mm

为何强烈推荐n54l而不是群晖/QNAP呢?

1. N54l属于惠普的服务器家族,定位为小型服务器,稳定性、做工都比那些入门级成品NAS来的好;

2. 价格的绝对优势,千元出头的4盘位设备,群晖及QNAP的入门级4盘位NAS都要3000左右;

3. 成品NAS不能装win,拜托不要跟我提什么QNAP的虚拟机跑XP;

4. 比自攒电脑省电、省钱、省心!(双硬盘下的功耗为40w左右)

5. CPU配置方面说不上华丽,但整体配置作为NAS设备来说可以秒杀在售3000元价格的成品NAS了。

HP ProLiant MicroServer Gen8价格也已经逼近1500了,想折腾ESXi的童鞋们可以搞起来了(自带硬RAID卡,自带iLO远程管理卡,性能及稳定性秒杀群晖与威联通)。

CPU:Intel Pentium G2020T处理器(双核2.5G,3M缓存,35W功耗);

芯片组:Intel C204 芯片;

内存:标配4GB (1 x 4GB) PC3-12800E DDR3 UDIMM内存

网卡:HP Ethernet 1Gb 2-port 332i 千兆双口网卡

集成HP iLO 4远程控制卡;

内置B120i阵列卡

内置一条半高PCI-e 2.0 16X PCI插槽;

标配不带光驱

标配不带硬盘

内置一个显卡;

内置一个非热插拔MicroSD卡插口;

5个USB 2.0

2个USB 3.0

一个150W标准电源(

一个系统风扇

保修3/3/3

六、个人网站搭建选型

1. 群晖/威联通方案

群晖/威联通售价远比同等PC高,很大原因是其丰富的功能套件加持,省却了各种安装、配置的烦恼,目客户端支持广泛(WIndows/Mac/iOS/Android),用户也算是花钱买省心。

唯一不足的是想在其上跑虚拟机时效能较低,此点与其硬件配置也有直接关系。

2. Windows Server平台方案

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

远程控制A (远程桌面方式):Microsoft Remote Desktop/ Jump Desktop(懒人推荐);

 远程控制B (Web面板方式):Windows Admin Center;

私有云:NextCloud; 

下载方案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

HTPC播放:KODI。

3. Linux平台

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

ssh:登录NAS;

yum/apt-get/dnf:软件包安装/管理(具体命令视你安装的linux发行版);

vim:各种配置文件的编辑(知道-i、:wq即可);

git/wget:获取部分文件的常用命令。

远程控制A (远程桌面方式):Jump Desktop;

远程控制B (Web面板方式,简单控制):Cockpi;

远程控制C (Web面板方式,功能全面):Webmin;

私有云:Seafile、Nextcloud;

下载方案:Aria2,Web管理面板:Aria-NG;

视频/图片分享、远程播放A:Emby Server;

视频分享、远程播放B:Jellyfin;

视频分享、远程播放C:Plex Media Server

HTPC播放:KODI。

NAS推荐的方案是OpenMediaVault。

官网:https://www.openmediavault.org/

OpenMediaVault是一个基于Debian的专用Linux发行版,用于构建网络连接存储(NAS)系统。 它提供了一个易于使用的基于Web的界面,多语言支持,卷管理,监控和插件系统,以通过LDAP,Bittorrent和iSCSI功能进行扩展。

OMV的本质是Nginx、PHP、Python等底层系统上的Web服务程序,类似于宝塔、WDCP等面板,它本身不包含任何二进制文件和源码,所有有效的程序代码均为解释型语言,它的源代码编译后生成的是跨平台的Deb程序包,整个编译过程并不会调用编译器生成平台专用的二进制文件。

因此,理论上,只要系统架构支持Debian、Dpkg,OMV就能在任意架构上的操作系统运行。因此,大家所熟知的树莓派是可以安装OMV的,笔者在后面也会给出相应的文章。

4. ESXi / Proxmox VE虚拟机

对于喜欢折腾的朋友来说,虚拟环境是不错的选择,这里推荐ESXi / Proxmox VE虚拟机。

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

缺点:配置要求较高;对小白用户不太友好,需要一定的动手能力。其实家庭环境下即便要一机多用,宿主机+虚拟机的方式也可以应付(Linux、Win、群晖都有自己的VM程序);

笔者使用的是ESXi虚拟机,当然喜欢折腾的朋友也可以试试Proxmox VE虚拟机。

七、个人云NAS服务器搭建实践

一部分人不想花钱在软件方面,基本上就开始了自己折腾搭建NAS,黑群晖和开源的FreeNAS也成为了主流选择。如果打算搭建自己的NAS,最容易的方案还是FreeNAS或群晖,所需的时间也就大概下班后的一个晚上就可以完成上线。

NAS对硬件要求很低(除了硬盘),加上又不是企业级云存储,不需要处理大量的访问,CPU方面一般低端的Celeron或者Pentium就能轻松胜任。主板方面,网上能找到的NAS机箱都只支持itx主板。入门或追求性价比的话,淘宝上可以找到各种这类的集成主板,价格500左右,加上内存的话1000以内应该不是问题。专业的会上C236或C246芯片主板(华擎C236 wsi),这些主板支持ECC内存,而且自带8个SATA接口,省了安装扩展卡来增加SATA接口。这些主板价格最便宜都要1500左右(华擎C236 wsi),而且如果上E3 V5的CPU的话,对应的ECC内存不好找(当让如果不上E3或者只用普通内存的话就无所谓了)。网络方面,集成的万兆网口还不太普及,一般只在高端的工作站主板才有,如果真的需要万兆网络,可以使用PCIE来扩展。 

整体流程:

1. 硬件选型

① CPU及平台

由于我个人比较贪心,想在NAS基础上有多支持一些其他功能,比如视频流转码(在家可以随时随地翻看收藏的动漫神作)、跑跑Matlab等,因此对CPU的要求会高一些。于此同时,出于机箱散热的限制和需要24小时不断运行的考量,CPU的功耗不能太高,因此选了8700T。虽然是阉割版的8700K,但价格并没有阉割,淘宝正式版都要2000,最后花了1400元在闲鱼找到QS版的8700T。

② 主要配件

考虑到群晖NAS的功耗,因此主板建议选择带有BGA封装CPU的集成主板,像Intel的J1900、J2900、J3455等,都是不错的选择。主板的电源如果是DC电源供电的话就再好不过了,毕竟可以少买个ATX电源,当然,如果你没有DC电源接⼝,其实也是可以到⽹上购买ATX转DC的供电板的。BIOS⽅⾯,切记要选择⽀持UEFI引导启动的主板!

内存,像BGA封装的集成主板⽬前某鱼上⼤部分都⽀持DDR3L的内存,加之对于NAS来说,并不会像PC那样需要⼤内存,因此DDR3L的4G内存⾜矣,当然有使⽤Docker需求的还是可以考虑上 8G。

已有的主板是在闲鱼收了一块华硕的B360i主板。主板两个M2接口(NVME和NVME+SATA),四个SATA接口。后置有HDMI、DP,USB 3.0 type C及type A和一个千兆网口。内存也是二手平台上买的2个三星的8GB 2666Mhz的DDR4。系统盘方面,用的是512GB 的Intel 660p。虽然是QLC,但估计我有生之年应该用不到擦写极限。目测这套配置的性能作为NAS可以运行至少10年不被淘汰(硬件故障或翻车除外)。

③ 其他配件

机箱方面,选择并不多,基本就是黑群晖专用机箱,唯一能选的就是2/4/6/8盘位。淘宝89元买了二手的4盘位机箱还带电源。只是使用痕迹有点多,灰尘也没清理,不少地方还带刮痕。但只要花个下午的功夫清理及喷漆,机箱就和新的没差别了。CPU散热因为机箱限制只能选低于40mm的。我用的是Noctua的NH-L9i,除了要求在这个狭小的空间里达到散热,对静音的要求也不能忽视。

④ 存储硬盘

至于作为存储的硬盘方面,则花了最长时间上网搜查资料。主要是在长时间工作的情况下,硬盘属于消耗品。而硬盘又保存着无价的数据,稳定性、寿命及价格都需要慎重考量。在寿命及故障率作为重点考量的条件下,硬盘需要用了很长一段时间才能了解其可靠性,而不像其他零件如CPU可以直接跑分得到结果。知乎上有着持各种观点的贴,因此这方面也很难鉴别。

市面上的硬盘(级别)大致分为4类:消费级(普通)硬盘、监控盘、NAS专用盘及企业盘。普通盘就不多说了,而企业级硬盘对一般人来说肯定消费不起(我唯一买的起的是企业级CPU)。按厂家所宣传的来说,监控盘的负担是连续写入,因此会在这方面优化。而NAS专用盘则是对应于长时间工作及组RAID。品牌的选择上,基本上就是Seagate、Western Digital(WD)、日立(HGST)及东芝等。每个品牌基本上都推出自家的各类硬盘。价格方面,企业盘 >监控盘> NAS盘 >普通硬盘,而NAS盘价格一般是普通盘的1.5倍以上。至于是不是要选择NAS盘,那基本上就是价格(荷包)对性能之争了。有说法指出这是厂家的宣传,NAS盘和普通硬盘没太大区别上,有收智商税之嫌。由于不是内部的相关人员,作为消费者小白的我无法鉴别。目前看到一个比较靠谱的说法是硬体上没本质区别,而是在固件(主控)上有针对性的优化。而从个人经验上来说,数码产品因为更新迭代快及竞争,很少出现价格虚高的情况,因此多付的价钱是有会带来一定的保证。

接下需要确定的是:自己的需求有没达到NAS盘级别。如果是24小时不间断开机且需要组RAID,建议还是选择NAS盘。品牌方面,同一级别(类型及容量)的硬盘价格差别不大,主要考虑的是硬盘的故障率(AFR)或平均寿命(MTBF)。

网上可以查到不同品牌及型号硬盘的故障率,但是数据并不齐全,且来源有待考证。

不过无论故障率还是平均寿命,基本上只有统计上的意义,选哪个硬盘就是对该概率下注。有条件的话肯定选概率低的,若真的出问题的话只能怪自己刚好落在那个小概率区间。如果想透过知乎或论坛来查询某某品牌型号的硬盘靠不靠谱,那基本上你看到的都会是幸存者偏差。没遇到问题的开开心心过自己生活,而遇到故障的才会抱怨。所以这样一看,感觉所有型号都不能买了。

硬盘⼤⼩根据你的需求即可,资⾦充⾜可考虑西数红盘或希捷酷狼,毕竟是NAS专⽤盘,稳定性相对⽐普通PC硬盘好⼀些;资⾦有限的话可以考虑西数紫盘或者希捷酷鹰,毕竟监控盘也是⽐普通PC硬盘要稳定的。当然,⼟豪⽆脑SSD组RAID,速度飞起。

最后选型:

主板选择了Supermicro的X11SCL-IF(C242芯片),主板带有NVME及4个SATA接口 ;网络方面则是2个千兆网口及一个IPMI管理接口;内存选择了ECC内存;CPU则换上支持ECC内存的G4900;硬盘选择了两个4TB东芝的N300(4TB)。

2. 部署

① 操作系统

说完硬件,现在进入软件部分。前面提了我追求扩展,那FreeNAS或黑群晖是满足不了我的需求,虽然两者作为NAS是非常棒的。Linux的话广泛使用的就是Ubuntu了(题外话:近几年基于Arch的Manjero崛起,以后有时间打算去折腾下),同时社区支持也最大。我使用得最多的是Ubuntu 16.04,折腾起来问题倒是不大。各种奇葩的bug也碰过(显卡驱动,桌面环境…),所以自信可以应付得来。

因为⾃⼰搭建的群晖硬盘⾥是没有启动引导的,因此,我们需要将引导⽂件写⼊U盘,每次开机的时候都要从U盘引导进⼊DSM系统,待进⼊DSM系统后U盘就能拔掉了,且引导⽂件⼤概50 多MB,因此如果你有体积⼩容量⼩的U盘就再好不过了,毕竟剩余的其他容量你也⽤不了。当然,引导⽂件也是有⽅法写⼊硬盘的,只是⽅法相对复杂,⽽且稳定性也不⼀定很好,所以我 们这⾥就只讨论U盘引导的⽅法。

U盘引导盘制作

1、使⽤芯⽚⽆忧⼯具查询U盘的VIDPID并记录下来。

2、使⽤OSFMount⼯具打开并修改引导镜像(img⽂件)

3、将修改后的镜像写⼊U盘,注意此时U盘将⾃动格式化,因此切记备份好U盘资料,途中若有弹窗提⽰都选择是或者确定。

系统安装

1、插上⽹线,在BIOS中选择做好的引导U盘,保存后重启。

2、进⼊引导选择第⼀项,启动引导。

3、使⽤Synology   Aassistant搜索群晖NAS的IP地址,搜索到后打开⽹页(我因为安装好了群晖,所以这⾥的截图可能和你们显⽰的有些不⼀样,但是只要搜索到就⾏了)

4、安装DSM系统,注意以下截图的配置,其他的根据步骤指引安装即可。

5、安装完成后进⼊⾸次配置,注意下⾯截图的更新配置和QuickConnect配置,QuickConnect

必须是⽩群晖才能够使⽤!

存储空间配置

如果没有数据保护需求的,配置时选择BASIC,如果有数据保护需求,可视情况选择RAID阵列,注意,配置中建议跳过磁盘检查,不然会很慢很慢,硬盘⼤的话可以慢到以天来计算

② NAS文件共享方案

说完操作系统,接下来就是关键的NAS部署了。目前主流的文件共享方案有FTP、SFTP、SMB、NFS和WebDav。各有各的优缺点,至于怎么选择基本上就看需求。

NAS除了存储,另一个功能就是共享。所以家里每个人除了有自己的私人存储空间(账户),还要有一个大家都可以访问的共享空间。由于没有同步(Sync)的需求,因此上面提的方案都能满足需求。优先考虑的是客户端的支持,无论是哪种方案,Windows、iOS、Android的支持都是没问题的。而我哥希望能够像Onedrive,可以直接在文件游览器(File Explorer)里访问云存储,拖曳复制等,不需要安装额外的软件。主要是现在大家都不希望自己电脑安装各种乱七八糟的软件(虽然软件如FileZilla并不占用大量资源,而且也不捆绑流氓软件)。在这个要求下可以排除了SFTP方案(Windows可以安装Swiss)。而WebDav是基于HTTP协议传输的,虽然不支持在文件游览器里打开,但可以作为辅助使用。

这些方案当中FTP是最古老,也是最稳定的,同时在传输大容量的文件时有速度优势,缺点是传输没加密(可以通过SSL加密,但是没法用文件游览器直接访问,只能用FileZilla等软件访问)。相比于SMB和NFS,FTP的设计是作为文件传输,而不是共享。

两者的差别在于能不能直接读取或修改服务器上的文件(特别是媒体文件,音乐、照片、视频)。比如你要观赏服务器上的视频movie.avi,SMB或NFS的话你是可以直接用播放器打开(数据缓存到内存),而FTP的话是必须先复制一份到本地磁盘,然后才能打开。

至于SMB和NFS的区别,简单(不准确)的可以理解为SMB是基于Windows而NFS是基于Linux/Unix。虽然是不同平台,但都相互支持跨平台传输,唯一要考虑的是部署的难度。Windows方面在配置NFS客户端是比较麻烦,需要在Regedit添加注册码。因此最后选定的方案是SMB。以下整理出各种方案的优缺点:

在Ubuntu下安装及配置Samba(SMB)服务并不复杂。Samba的登陆账户必须是Unix的账户,因此创建Samba用户的前提先创建Unix账户。Samba账户的密码和Unix密码是不绑定(同步)的,也就是Samba密码和Unix密码可以不一样。对于大部分人来说,平时记各种密码就已经不容易了,这里同一个东西还要两个密码更加麻烦。如果要让两者同步,可以安装libpam-samba模块,只是Ubuntu和Debian软件库里没有对该模块更新,该模块只适用于较旧版本的Samba。手动安装各种模块也会有各种依赖包的问题,折腾了半天没结果后还是放弃了。最后直接写了一个Shell脚本(以后创建或修改就执行这个脚本),直接调用了passwd和smbpasswd,勉强算是可以同时更新(同步)两个密码。

配置Samba会比FTP或SFTP多几个步骤(前两者几乎是安装完可以直接用,只要有Unix账户)。首先要通过smbpasswd创建Samba用户,然后还需要修更改配置文件/etc/samba/smb.conf,添加共享设定(共享路径、用户、权限等),重启Samba服务后才能使用。当然这些工作可以用自动化脚本完成,可以配合上一段提的脚本一起使用,创建Samba用户时把设定echo进Samba配置文件。

③ HTTP协议支持

很多云存储都提供网页端访问,也就是支持HTTP(S)协议。网上也有不少开源基于HTTP的NAS方案,比如NextCloud。问题是部署NextCloud除了要求拥有公网IP,还需要端口80和443是开放的。NextCloud的网页界面还不错,但是Windows的客户端就不太好使用了。

目前两大主流网页服务器有Apache和NGINX。如果是想自己从零开始搭建,可以在安装Apache或者NGINX后开始自己布置前端和后端。我目前还没使用过NGINX,所以很难评论两者中哪个较好,而且目前Apache都能很好地满足我的需求。

Apache安装好后需要在/etc/apache2/文件夹里修改及配置,比如路径,端口等。默认的访问目录是系统的/var/log/www/。如果你的用户目录是在/home(比如/home/user1)里,那只要把/etc/apache2/sites-available/*.conf里的Document root项改成你要的目录就可以。这样在打开游览器输入地址时就可以访问到每个用户的文件夹。如果有通过公网访问,建议改用HTTPS。

如果直接这样访问的话大家的隐私就没了,因此需要加一个身份认证(user authentication)限制,以对应于不同的用户。Apache自带一套认证系统mod-authz,通过htpasswd命令及.htaccess来实现。htpasswd负责创立用户及密码,而.htaccess文件则是对所在的路径及其子路径加上限制。这样一来通过游览器访问时就会出现认证的窗口让用户输入密码,实现了访问限制。

Apache的mod-authz是独立于Unix系统的认证机制,其Hash算法也和Unix账户密码的算法不一样。如果通过网页访问还用另外一套密码,那对用户而言是很不友善的。Apache是支持直接用Unix账户作为认证手段。可以在前面提到.htaccess文件( 如果是user1的话是/home/user1/.htaccess)里添加AuthbasicProvider external、AuthExternal pwauth、Require user1。这样,就可以让user1访问通过Unix用户名及密码访问自己的目录,同时其他用户user2是访问不到这个目录。另外,.htaccess文件在Linux下是隐藏的,而在Windows下则不是,为了不让用户看到甚至误删,建议将.htaccess的内容写到Apache的配置文件/etc/apache2/apache2.conf中。

如果看不惯游览器自带的登陆界面,希望可以像大网站(百度、Google)那种自定义的登陆页面,Apache的mod_auth_form可以让你用自己写的HTML作为登陆页面。首先是需要在配置文件中启动auth_form_module、session_module及request_module,接着只需要在.htaccess中加上两行,即AuthType form及AuthFormLoginRequiredLocation 页面路径,基本就可以完成自定义的登陆页面。

④ 影音服务器

NAS的另一个功能就是作为影音服务器(Media Server),把视频转码stream到电脑手机甚至电视机。目前使用比较广泛的是Plex Media Server。Plex的转码是在服务器端,因此这方面对硬件(CPU及内存)有要求。而客户端方面的支持也非常到位。Android或iOS都有对应的应用,或者可以直接在网页游览器上观赏视频。无论是客厅的大屏幕电视机,还是躺在床上用手机,都可以直接观赏NAS服务器里的电影。

目前Ubuntu软件库里没有Plex,只能手动安装。设置时指定视频或音乐库后,Plex会自动识别电影的名字然后配上其meta信息(作家/导演、年份、封面等)。如果需要更多功能的话(如字幕及下载),可以考虑买终身会员。

⑤ RAID

既然是存储,那就可能涉及组RAID(Redundant Array of Independent Disk)。除了一般提到的RAID 0,1,10,5,6等,RAID又分硬RAID和软RAID。硬RAID是在硬件层面(RAID扩展卡,主板Bios)实现硬盘冗余,而软RAID则是在操作系统层面完成。正常情况(条件允许)下,推荐使用的都是硬RAID。而我在买回来后才发现主板不支持RAID,而原本的PCIE槽打算预留给万兆网卡,因此只能使用软RAID。

Ubuntu可以通过MDADM和ZFS来组RAID。ZFS(Zettabyte File System)其实是集合文件系统+磁盘管理+RAID管理三项功能一个的软件。ZFS的Snapshot、Copy-on-write及大容量等都是它比一般的RAID方案有优势的地方。实际上,很多优势对一般用户都用不上。其中比较可能需要的是Copy-on-write,可以保证当文件在修改时若机器断电或者出现故障,可以保证文件不被损坏,至少还有修改前的作为备份。另外ZFS还会用内存作为缓存,提高读写速度。ZFS的劣处(对一般用户)是不能修改RAID级别及扩充RAID组的容量,所以在考虑RAID等级时必须做较长远的打算。如果受限目前预算,打算以后有钱后再增加硬盘,那就不要考虑ZFS。

考虑以后可能需要扩充RAID容量,因此还是老实地选择传统的RAID方案(MDADM)。虽然ZFS利用内存来缓存以提高速度是一个不错的特点,但是在传输过程中瓶颈的大概率来自网络。至于RAID级别,目前没有太高容量需求,可以用两个4TB硬盘先组RAID 1。以后增加硬盘时才换RAID 5。RAID 5的缺点是数据重建时很慢。在长时间的重建时出现第二个硬盘损坏的话所有的数据就全毁了。因为目前刚搭建NAS,还没到重建RAID的地步,因此很难根据数据重建的时间来评估RAID 5的优劣。若是出现需要重建,那还是先备份后再重建。

⑥ 外网访问

如果需外从外网访问,最好的情况是有公网IP,然后用动态域名(DDNS)。域名供应商主要的有花生壳,如果免费的话是没法选域名(系统分配)。另一个动态域名解析商是NOIP,NOIP提供三个免费域名,而且可以自己选择域名(只要不冲突),而NOIP会在后方加个.http://ddns.net或.http://xxx.com(免费的嘛,已经算良心了)。唯一麻烦的是每30天需要自己登陆到网页更新域名,不然NOIP就取消你申请的域名。NOIP的另一个好处是不需要实名认证,如果有钱想买个域名的话也无需备案,只要有Paypal账户(或比特币)就可以即时申请到你想要的域名。

在没有公网IP的情况下,只能通过反向代理来实现。这个方案的前提是需要一个虚拟服务器(VPS)的账户,在虚拟服务器上搭建反向代理。最简单的方法是通过SSH建立反向代理通道,基本上是直接一个命令行(ssh -R)就完成,而且传输还是加密的。唯一的缺点是如果有多个端口需要代理,那就需要重复执行同个命令。另一个方法是FRP代理,可以直接在代理服务器的配置文件frps.ini中添加需要代理的端口,然后启动就可以了。如果需要在客户端开机时自动启动,可以把frpc服务添加到/etc/init.d里,然后选择启动级别(rcX.d,一般选rc1.d)就完成了。

⑦ 安全及隐私

作为服务器,安全是不可忽略的。虽然不是专业的系统安全工程师,但是有些事情还是能力可及的,比如不要让邻居知道你家路由器的管理员账户密码。其他可以做到的是降低骇客直接访问到服务器的可能性,然后确保文件传输是加密的。

对于降低入侵,尽量减少对外网开放的端口。个人建议是只开放端口22做远程管理及80/443做网页访问。其余的如SMB的139/445或FTP的端口20/21尽量关闭。另外,远程管理方面,其他人不需要使用到SSH做远程管理。为了减低被暴力破解的风险,需要去除其他人远程登陆的权限(如果有端口22对外开放的话,可以检测SSH的登陆log(/log/auth.log),会发现不少通过bot来暴力破解的尝试)。另一个方法是改用其他冷门端口,比如自己的生日等。

传输方面,如果是在局域网内,基本上可以不考虑加密。至于通过公网访问,那就很有必要了,因为数据在传输过程中随时都会被拦截及读取。如果是网页端,可以改用HTTPS,自行签发证书,只是这个证书不是信任机构认证的,用户访问时游览器会出示警告。虽然不妨碍访问,若看不顺眼可以从服务器里把证书拷贝出来,每人发一份让他们安装在自己电脑里。

至于SMB或FTP传输,可以搭建VPN加密。这里提供比较容易搭建的PPTP方案。基本上就是在安装pptpd后,在设置文件/etc/ppp/chap-secrects中添加登陆账户及分配IP后,启动pptpd服务就完成了。也可以直接买刷了DD-WRT固件的路由器。DD-WRT下部署PPTP VPN更加简单。客户端除了iOS不支持PPTP之外,其他的操作系统都可以连接PPTP的VPN,而且设置也不难。事实上PPTP协议中的加密算法已经在多年以前被证实是不安全,但至少比完全没有会更安全一些。有精力的话再去折腾L2TP或其他的。

至于隐私方面,除了共享文件夹的权限是777,所有的私人文件权限都改成750(Ubuntu默认的权限是755)。

⑧ 其他

远程设置的时候,如果使用SSH敲命令是比较麻烦的。Linux的远程管理可以用VNC或XRDP。桌面环境可以选择Gnome、KDE或者XFCE。我个人比较喜欢XRPD作远程管理方案,因为windows系统自带的Remote Desktop可直接登陆,而桌面环境则推崇XFCE。

三、后记

① 功耗

HWINFO:点此进入官网

HWINFO其实在玩家圈子也算颇有名气了,这是一款来自国外的专业硬件监控软件,它是免费的,拥有绿色版本,还非常干净。不过遗憾的是该软件目前尚不支持中文,但用于CPU功耗监测的话,倒是没有太大障碍。

开启HWINFO,软件默认会自动弹出关于CPU的信息和监控界面,主界面中也可以查看非常多种多样的硬件信息,但这些不是本文的重点,有兴趣的朋友可以慢慢体验研究。

点击主界面中的“Sensors”按钮,则可查看这部电脑的各种传感器信息,当中也包含了CPU的功耗情况。找到“CPU Package Power”一栏,则是CPU的功耗水平。

电脑各种硬件传感器的读数,都能一一看到

如此一来,要测试CPU能达到的最大功耗,就非常简单了。你可以开启一些高负荷的任务,观察CPU的最大功耗,这个一般不会超过PL2的功耗上限。而我们知道CPU除了功耗墙还有温度墙,散热不过关,CPU的功耗甚至无法达到PL1的水平,因此可以结合拷机软件,CPU实际上能够释放出多少能量,一目了然。

总的来说,HWINFO的确是一款非常强大的软件。但它也有小遗憾,就是对某些CPU的支持可能不太好——例如AMD移动平台的某些APU,就无法准确显示功耗数值

② 局域网内的传输速度

通过在我的笔记本上跑CrystalDiskMark及复制文件到(从)服务器来测试速度。在接网线的情况下可以跑满千兆网络的速度。

③ 保护措施

电子零件怕潮湿,因为住的地区比较潮湿,因此在机箱里加了干燥剂。而震动对机械盘的寿命会有影响,因此在机箱底下垫了海绵以减少共振。另外突然·断电也会机械盘造成伤害,因此还是需要考虑买一个无间断电源,减少断电所带来的危害。

④ 说明书

作为服务器管理员,那当然还是需要教家里人怎么连上服务器(或者直接帮他们设置)。既然都做到这一步了,那干脆直接写个说明书或使用手册,连同上一章提到的HTTPS证书给每人发一份。说明书还要提供不同平台(操作系统)教程,同时还不能少了VPN的设置。

总结

总的来说,⾃⼰搭建⼀个群晖NAS服务器还是⽐较简单的,当然DSM系统⾥⾯的功能有待我们⼀起探索,后⾯我也会给⼤家介绍⼀些有趣的功能,总之虽说NAS是个⽹盘,但是它的功能却⽐我们平时⽤的商业⽹盘⼤多了,这需要我们去学习和发掘它的新玩法。最后,建议折腾群晖NAS还是要有⼀些⽹络基础的,起码路由器要会配置,硬盘要会管理,这样⽤起来才得⼼应⼿。

© 版权声明
THE END
喜欢就支持一下吧
点赞8 分享