历时5个半月,个人NAS服务器从无到有终于基本完成正式投入使用了,本文总结我的NAS记录路线与实现经历。
整体框架
第一次尝试自己组建硬件到软件的服务器,经过几个月折腾,服务器框架基本完成,整体框架如下:
实现功能
- 公网 IPv4、 IPv6 SSH 连接
- 公网 IPv4、 IPv6 读写数据
- 数据访问控制
- 互联网终端数据访问
- 手机文件夹数据同步
- PC 文件夹同步
- 数据自动备份
- ipv6 DDNS
硬件采购
- 硬件是一切NAS的基础,需要在采购前调研清除自己的需求,以及花最少的钱配置满足自己需求的设备,这里列出我的一些经验和采购记录
- 相关内容:
内容 | 链接 |
---|---|
硬件调研 | 硬件调研 |
采购记录 | 硬件采购记录 |
系统架构
- 为了保持灵活、未来扩展和功能解耦,系统架构为物理机安装 Ubuntu 操作系统,使用 KVM 安装 OMV 系统,在 OMV 中创建 Docker 和服务用于外部访问
- 相关内容:
内容 | 链接 |
---|---|
NAS 系统 | NAS 系统调研 |
KVM | KVM简介KVM 硬盘直通操作方法 |
OMV | KVM 安装 OMV 过程记录 |
Docker | docker - 常用命令使用教程 |
NAS系统
- 直接使用了开源的 OMV 系统,好像口碑没有黑群晖好,但是眼下满足我的使用需求了
- OMV 相关内容:
内容 | 链接 |
---|---|
IPv6 访问 | 移动宽带公网 IPv6 访问 OMV 管理端 |
强制 https 登录 | 强制 https 登录 |
安装 omv-extras | OMV 5.6 安装 omv-extras |
SFTP | 搭建并使用公网 SFTP 服务 |
webdav | 配置 webdav 共享文件 |
公网访问
刚刚搭建好的 OMV 已经可以为局域网内的设备提供服务了,但是不能公网访问要NAS干嘛呢
- 我的网络是移动家庭宽带,有公网IPv6地址,没有要到IPv4的地址,自己搭建了 IPv6 的公网访问环境,但是并不是所有网络都支持 IPv6,因此买了腾讯云的服务器作为数据中转搭建了 IPv4 公网访问链路,不过速度仅有 8Mbps
- 相关内容:
内容 | 链接 |
---|---|
内网穿透 | frp 使用教程 |
IPv6 | IPv6 理论教程IPv6 实用教程 |
DDNS | DDNS 动态域名服务 |
私有云盘
- 有了 OMV 事实上已经可以按照我们的需求访问数据了,但是还做不到数据动态同步,不是百度网盘一样的私有云,手机也没有合适的APP
- Nextcoud 可以满足我大部分的私有云幻想了,问题就是配置有些繁琐,速度不快(可能是我网络的问题)
- 相关内容:
内容 | 链接 |
---|---|
Nextcloud 安装 | 私人云盘安装配置 |
挂载外部磁盘 | 挂载外部磁盘 |
配置访问域名 | 修改合法访问域名 |
配置数据库 | 连接 MariaDB |
配置代理接口 | 实现多个 https 反向代理 |
数据备份
- 数据安全是 NAS 的重中之重,虽然我做的除了风扇也就是数据备份了,讲道理可以异地备份、加个UPS电源什么的,眼下都没有弄,觉得一份数据放在两块物理磁盘上也算是挺安全的了
- 最初准备上 RAID5,但是害怕同时坏两块磁盘,有可能因此失去所有数据,这是无论如何不能接受的,还是1比1备份最为稳妥,Raid1总觉得也不够直观,出问题的话恢复数据时候操作错了也不是没可能
- Rsync 已经是很好用的数据备份工具了,可以结合 inotify 实现实时数据备份
- 不过想来想去没那么实时的需求,为了鲁棒性最终选用了每日定时任务 Rsync的方式备份数据,每月定时任务删除源端删除的数据的方式备份数据
- 相关内容:
内容 | 链接 |
---|---|
Rsync | Rsync 数据同步工具 |
python 数据同步脚本 | Python 执行 Rsync 备份磁盘 |
访客账户
- 数据有时需要分享,比如设置一个只读权限的账户,给好友使用,但是SFTP等协议登录后可以向上返回到根目录,我们并不希望这样的事发生,那么可以为分享账号建立Jail,将可以分享的内容软链进去
- 相关内容:
内容 | 链接 |
---|---|
SSH Jail | SSH SFTP Chroot Jail |
Jailkit | Jailkit |
终端访问
- 搭建好服务器后可以从终端访问设备,终端如果有 IPv6 就走 IPv6 的链路,没有 IPv6 走慢一些的 IPv4
- 可以访问 OMV 暴露的数据,也可以登录 Nextcloud 访问数据
- 相关内容:
内容 | 链接 |
---|---|
FolderSync | Nas 手机数据备份APP —— FolderSync Pro |
PC挂载远程磁盘 | 挂载 |
Nextcloud 客户端登录 | 客户端登录配置 |
参考资料
- https://www.zywvvd.com