51工具盒子

依楼听风雨
笑看云卷云舒,淡观潮起潮落

NAS 总结篇

历时5个半月,个人NAS服务器从无到有终于基本完成正式投入使用了,本文总结我的NAS记录路线与实现经历。

整体框架 {#整体框架}

第一次尝试自己组建硬件到软件的服务器,经过几个月折腾,服务器框架基本完成,整体框架如下:

graph TD

    subgraph NAS Server

    subgraph Ubuntu
    disk[Disk]
    disk -- 硬盘直通 --> omv-disk
    subgraph KVM
    subgraph OMV
    omv-disk[Disk]
    docker((Docker))
    dataset[Mysql]
    nginx[Nginx]
    Nextcloud[Nextcloud]

    backup_disk[BackupDisk]

    rsync[Rsync]

    omv[OMV Controller]

    ddns[DDNS]
    frp[FRP]
    data-center((Data Center))
    omv-disk --> data-center
    data-center --> omv

    docker --> dataset
    docker --> nginx
    docker --> Nextcloud
    Nextcloud -- 代理 --> nginx
    dataset -- 数据服务 --> Nextcloud
    data-center --> Nextcloud
    data-center --> rsync

    end
    end

    ssh[SSH]
    rsync --> backup_disk

    end
    access((Access Interface))

    ssh --> access
    nginx --> access
    omv --> access
    frp --> access
    ddns --> access


    end
    subgraph PC Client 
    data-rsync[数据实时同步]
    sftp[数据访问]
    ssh-client[SSH 远程连接]
    controll[后台设置]

    access --> data-rsync
    access --> sftp
    access --> ssh-client
    access --> controll
    end
    subgraph Phone Client 

    phone-sftp[数据访问]
    phone-ssh-client[SSH 远程连接]

    access --> phone-sftp
    access --> phone-ssh-client
    end



`style data-center  fill:#9df, stroke-width:2px
style docker  fill:#9df, stroke-width:2px
style access  fill:#fd9, stroke-width:2px
`

实现功能 {#实现功能}

  • 公网 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系统 {#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/notes/environment/nas/nas-summary/nas-summary/

赞(0)
未经允许不得转载:工具盒子 » NAS 总结篇