一、目标
本系列意图使用通用硬件,以linux为基础搭建一个家用NAS。
二、功能
NAS的功能,基础功能需要具备:
- 有限的外网访问功能(域名+
ddns实现) - 灵活的存储扩展
- 有限的数据冗余(
snapraid,同时满足第2点)
高级功能方面,可以有:
- 缓存加速
(bcache) - 多磁盘文件系统路径合并
(mergerfs)
三、涉及内容
个人已经实际搭建完成,会根据本人搭建过程涉及到的知识点进行说明,系统层面涉及到的内容包括但不限于:
LVMDockerBcache+Snapraid+Mergerfs- 简单的网络知识
应用层面就看个人需求了,本人目前在用的服务,可以参考以下列表:
nginx:网络反代使用,也方便使用httpsddns:动态dns解析,适用于只有动态公网ip的外网访问场景acme.sh:ssl证书申请使用vaultwarden:密码管理服务器,Bitwarden的开源rust版本nextcloud:网盘应用aria2+ariang:磁力下载工具,仅限内网使用jellyfin:开源的媒体服务器,下载工具主要为它服务immich:目前仍然在频繁更新的相册服务器,可多端实时同步,好用drawio:开源的流程图绘制软件,目前仅在内网使用samba:内网挂载存储使用adguard:去广告的dns服务器,看需求部署cpolar:内网穿透工具,目前仅用来救急,即ipv6抽风的场景
上述应用,后续看需求可以继续完善部署过程。
四、其他说明
- 本方案难点主要在
Bcache+Snapraid+Mergerfs的配置过程,需要一定的技术基础。 - 本人网络环境只具备公网
ipv6,因此上述为外网访问所做的所有配置均基于ipv6。 - 应用的维护也是个麻烦事,也要一定的技术基础,部分应用可以直接锁死版本使用,甚至可以直接不用。