开篇——需求、痛点与方案
创作立场声明:本人致力于搭建稳定高效的个人云服务系统,会持续输出实现中沉淀下来的精华。
现状与需求
NAS究竟应该怎么玩儿,相信每个玩家都有自己的答案,但多样的需求中是有很多共性的,这些共性之上又有很多NAS玩家们共同的痛点。笔者作为软件开发行业的从业者,发现在商用领域,自动化运维技术的应用已经非常成熟,甚至大厂已经开始将人工智能应用在运维领域,在这种体系下,数据高效且自动化地在系统间流动,而整个系统又非常稳定,以至于想要让一套系统宕机反而变成了一件困难的事情。而反观家用场景,我们的照片分散在不同的手机上,5年前的照片你还记得在哪台手机上吗?电影在移动硬盘上等待有一天能被人想起,想看一部经典的电影时记得自己下载过,但想想还得找硬盘出来插到电脑上正襟危坐地看,纠结了一会儿还是充了爱奇艺会员。文档在各个电脑上到处都有,先前的资料超过一年的,能不能找到全看缘分,收集了不少电子书但是全都在吃灰,更扯的是你都不记得他们在那个目录下吃灰。
其实不管是家用还是商用,最核心的需求无外乎是自动化地将各个设备上的数据存储到服务器并备份,同时又能够在各个设备上方便地访问这些数据。在这个方面家用场景其实是比商用场景更复杂的,因为商用场景下的设备几乎都是标准化的服务器,而家用场景下的设备包含了服务器、pc、平板、手机、电视等等,其适配难度高是显而易见的。 但开源软件发展到今天,已经有了很多优秀的方案可以适配各种设备及场景比如TrueNas、nextcloud、syncthing、joplin、jellyfin等,而docker容器又大大降低了这些开源方案部署的难度,一个稍有技术基础的人就可以相对轻松地部署起一套自己的服务矩阵。将这些优秀的方案有机地集成起来以后就可以搭建起一套开源稳定的NAS系统 。
痛点
目前市面上的NAS最多的必然是群晖,配置友好、功能齐全。然而按照我对自己NAS的规划,他的生命周期至少是需要在10年以上,再这种要求下,它有几点无法满足我的需求。
1.照片及文件管理都不是“目录优先”的,即它不会去适应你自己的目录结构,而是需要你去适应它给你安排好的目录结构。
2.虽然功能齐全但各个应用是相互割裂的状态,其他品牌NAS此情况更甚。
3.软件不开源,迭代速度很慢,且质量并不是很好,更无法自己对接api实现自动化控制及监控。
4.不是通用硬件,无法针对性升级。
规划
既然需求在,痛点在,方案也在,剩下的就是把方案实现了。其实就是选择一个合适的通用物理机,在上面搭建一套合适的开源服务,然后通过设置及脚本尽可能多的实现自动化。又因为我是软件开发出身,所以有能力直接调用这些开源服务的数据接口,从而实现一个强大便利的控制台,让管理员可以迅速了解系统的状态。我给这套系统起了一个名字,叫Aquar(水瓶座),我希望这是一个小巧而丰富的生态瓶,守护瓶中的数据之水。
目前纳入系统的内容包括如图所示:
硬件上我照抄了翼王使用E3平台搭建NAS的配置,原因是这套平台拥有纯正的服务器血统,稳定性和功能上我不需要有任何担心,8个stata接口方便折腾,E3 1235lv5的25w功耗可以说算得上x86通用机型里最低的了。而且目前没有可以虚拟化的通用ARM PC平台可以使用,我最初想使用树莓派来实现一个mini版NAS但它无法承担多块硬盘所需的供电,硬件性能上也有诸多限制所以无法胜任。这套硬件的性能对于NAS系统其实是过剩的,我选择它的另一个原因是平时可能会运行多套系统用来开发和尝试新的方案。如果是单纯的部署这套系统,那么一套J4125硬件足矣。
系统上我先后尝试了proxmox VE以及ESXI,两家各有优劣。在虚拟化之上启动了一个TrueNas core作为物理硬盘的管理系统,再启动一个ubuntu系统来搭载其他应用,这样可以使上层应用与文件服务解耦,且在ubuntu上安装各类软件也更加方便。
软件方案是我在GitHub上综合考虑了热度、维护活跃度、技术选型等因素层层筛选出的优质方案,将这些方案使用docker集成在一起就形成了我们的服务矩阵。
服务矩阵之上,笔者自己开发了一个功能强大的控制台,可以在同一页面查看系统状态和各个服务的核心数据。让你不会出现服务挂了一个月了,才发现的情况。这个控制台还在持续开发中,我会集成更多的实用功能在其中。



仰望天堂
校验提示文案
Kyriosli
校验提示文案
-犇骉
校验提示文案
闲嗑瓜子
校验提示文案
UC新闻震惊部
校验提示文案
sontjer
校验提示文案
上古长白山
校验提示文案
偏北就是我
校验提示文案
砍价没商量
校验提示文案
偏北就是我
校验提示文案
砍价没商量
校验提示文案
上古长白山
校验提示文案
sontjer
校验提示文案
UC新闻震惊部
校验提示文案
闲嗑瓜子
校验提示文案
-犇骉
校验提示文案
仰望天堂
校验提示文案
Kyriosli
校验提示文案