0%

通过阿里云盘备份群晖NAS

前言

最近在在研究如何对NAS进行备份,在网上找了很久,基本上是通过Hyper Backup备份到移动硬盘备份或者另一台群晖NAS。但这并不能满足我的需求:

  • 备份到移动硬盘:移动硬盘的容量一般在1T~2T,容量基本满足需求,但是无法移动存储,且存储介质不能保证高可靠,一旦移动硬盘故障,就会导致数据丢失。
  • 备份到另一台NAS:备份数据高可靠,但是费钱,而且异地备份需要有第二个家,就更缺钱了。

因此调研了一下国内云厂商的对象存储(Object Storage Service, OSS),能够提供高可靠存储且价格勉强能够接受。一般情况下,100元/年可以购买到约100G/年的存储空间,下图是京东云的OSS价格

京东云OSS价格

综上所属,我最终选择了京东云的OSS,并购买了150GB容量+50GB的下行流量。

就在我购买后的一个月,我发现了更廉价的异地备份方案,就是通过阿里云盘进行备份数据。

阿里云盘邀请链接

阿里云盘介绍

阿里云盘是阿里云推出的一款不限速的云盘,用户默认空间是500GB,足够大多数用户使用。

阿里云盘支持分享,不过分享之前需要进行实名认证,还是比较讨厌的。如果要分享一些不太合适的文件/视频,建议不要使用阿里云盘分享。

阿里云盘还支持做任务增加容量,不过增加的容量一般是有有效期的(一般是1年),目前我的云盘容量大约5TB,足够用很长时间了。

现在通过邀请注册阿里云盘,还可以额外获得500GB容量(有效期1年)。

阿里云盘邀请链接

基于阿里云盘搭建WebDAV

目前有两个开源项目可以把阿里云盘变成WebDAV,通过WebDAV接口就可以让群晖NAS进行备份,黑白群晖均支持。

仓库地址:

从我的使用体验来看,zxbu/webdav-aliyundriver比较稳定,但是比较吃资源,容器正常状况下大约占用300MB+内存。messense/aliyundrive-webdav比较轻量,运行时占用约50MB。

两者的配置方法是类似的,都是需要通过Docker,如果没有Docker的用户需要到套件中心中进行安装。若NAS本身不支持Docker,可以将容器部署在局域网的其他设备中国,如PC或者路由器等。

PS: 以下操作全部是基于zxbu/webdav-aliyundriver,messense/aliyundrive-webdav的操作也是相似的。

  1. 下载Docker镜像

    打开Docker套件,选择注册表,在右上角的搜索框中输入webdav-aliyundriver或者aliyundrive-webdav,在搜索结果中选择对应的镜像进行下载。
    下载镜像

  2. 启动镜像

    打开Docker套件,选择映像,并选择对应的镜像,点击上方启动按钮。
    启动镜像

  3. 配置镜像

    1. 根据自己的需要设置容器的名称,并且点击下放的高级设置
      配置名称

    2. 在弹出高级设置界面中,勾选启用自动重新启动。
      配置名称

    3. 选择存储空间标签,点击添加文件夹,在弹出的界面中可以选择/创建一个空文件夹作为容器的配置文件夹。并将文件夹挂载到/etc/aliyun-driver/,一定不要勾选只读。
      存储空间

    4. 选择端口设置标签,本地端口是你后续要访问webdav的端口,可以自己随意设置,容器端口必须是8080,协议是TCP。
      端口设置

    5. 选择环境标签,添加以下四个环境变量:

      • 变量名:ALIYUNDRIVE_AUTH_USER_NAME,WebDAV访问时需要填写的用户名

      • 变量名:ALIYUNDRIVE_AUTH_PASSWORD,WebDAV访问时需要填写的密码

      • 变量名:ALIYUNDRIVE_REFRESH_TOKEN,登陆阿里云盘的token,获取方法可以参考:通过浏览器获取Refresh Token

      • 变量名:TZ,值:Asia/Shanghai,设置时区为北京时间

        环境设置

    6. 点击应用完成容器配置

  4. 启动容器

    点击下一步,再点击完成即可启动容器。
    启动容器

设置Hyper Backup

如果没有Hyper Backup的用户需要到套件中心中进行安装。

  1. 创建备份任务

    1. 打开Hyper Backup套件,点击左上方加号,选择数据备份任务
      创建备份任务

    2. 备份目标选择文件服务器——WebDAV,并点击下一步
      选择WebDAV

    3. 配置WebDAV文件服务器信息

      • 服务器地址:如果在NAS的Docker中部署的WebDAV,就填写http://127.0.0.1:8080,端口为之前启动Docker时对外暴露的端口。若在外部Docker部署的WebDAV,则需要填写对应服务器的IP地址和端口。

      • 用户账号:启动容器时配置ALIYUNDRIVE_AUTH_USER_NAME环境变量对应的值

      • 密码:启动容器时配置ALIYUNDRIVE_AUTH_PASSWORD环境变量对应的值

      • 文件夹:选择一个阿里云盘中的文件夹作为备份地址

      • 目录:输入NAS备份目录名称

        配置备份目标

    4. 选择需要备份的共享文件夹,可以按子目录选择/排除,也可以配置文件过滤器进行自定义过滤。
      选择需要备份的共享文件夹

    5. 选择需要备份的应用套件,注意,有些套件会要求必须备份某些共享文件夹。
      选择需要备份的套件

    6. 设置备份任务的执行周期,强烈建议开启客户端加密,因为不确定阿里云盘是否会扫描你的备份数据,加密后的密码一定要记牢,一旦丢失就无法找回。
      设置备份任务的执行周期

    7. 设置备份版本替换规则,建议使用Smart Recycle,会自动根据时间保留各个版本,时间距离越近,保留的版本越多,时间距离越远,保留的版本越少。

      设置备份任务的执行周期

  2. 开始备份

    点击立即备份,就开始执行备份任务了,可以在阿里云盘中看到对应备份文件
    备份中

结语

阿里云盘的容量速度还是非常不错的,完美的平衡了容量和价格,并且是高可靠异地存储,哪怕NAS机械故障后,也能找回数据。

数据无价,大家保存好自己的数据,一旦丢失,就再也找不回来了。