Echo

Echo 关注TA

大家好,我是Echo!

Echo

Echo

关注TA

大家好,我是Echo!

  •  普罗旺斯
  • 自由职业
  • 写了306,425,450字

该文章投稿至Nemo社区   资讯  板块 复制链接


技术向:如何通过阿里云盘备份群晖 NAS 数据

发布于 2021/12/29 20:00 557浏览 0回复 2,800

一、前言

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

  • 备份到移动硬盘:移动硬盘的容量一般在 1T~2T,容量基本满足需求,但是无法移动存储介质,且存储介质不能保证高可靠,一旦移动硬盘故障,就会导致备份数据全部丢失。

  • 备份到另一台 NAS:备份数据高可靠,但是费钱,而且异地备份需要有第二个家,就更费钱了。

因此,笔者调研了国内云厂商的对象存储(Object Storage Service, OSS),其能够提供高可靠存储,同时价格勉强能接受。一般情况下,100 元 / 年可以购买到约 100G / 年的存储空间,下图是京东云的 OSS 价格,如果只是备份关键数据(论文、合同、证件照片等,小姐姐就暂时没法备份了)勉强能够接受。

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

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

二、阿里云盘介绍

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

  • 阿里云盘支持分享,不过分享之前需要进行实名认证。

  • 阿里云盘还支持做任务增加容量,不过增加的容量一般是有有效期的(一般是 1 年,但是还是很讨厌),目前我的云盘容量大约 5TB,而且作为内测用户,有 3T 的永久容量,足够用很长时间了。

三、基于阿里云盘搭建 WebDAV

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

仓库地址:

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

两者的配置方法是类似的,都是需要通过 Docker,如果没有 Docker 的用户需要到套件中心中进行安装。若 NAS 本身不支持 Docker,可以将容器部署在局域网的其他设备中,比如 PC 或者路由器等支持 Dockers 的设备中,最好保证跟 NAS 处于一个局域网中,且有线连接,不然可能会影响文件传输速度。

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

1. 下载 Docker 镜像

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

下载镜像

2. 启动镜像

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

启动镜像

3. 配置镜像

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

配置名称

在弹出高级设置界面中,勾选启用自动重新启动,保证NAS重启后会自动启动对应的容器。

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

存储空间

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

端口设置

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

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

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

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

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

    环境设置

点击应用完成容器配置。

4. 启动容器

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

启动容器

四、设置 Hyper Backup

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

1. 创建备份任务

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

创建备份任务

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

选择WebDAV

配置 WebDAV 文件服务器信息:

  • 服务器地址:如果在 NAS 的 Docker 中部署的 WebDAV,就填写 http://127.0.0.1:8080,端口为之前配置 Docker 时填写的本地端口。若在其他设备部署的 WebDAV 镜像,则需要填写对应服务器的 IP 地址和端口。

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

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

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

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

配置备份目标

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

选择需要备份的共享文件夹

选择需要备份的应用套件。需要注意的是:有些套件会要求必须备份某些共享文件夹,如 Audio Station 会要求备份 homes 和 music 两个共享文件夹的全部数据

选择需要备份的套件

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

设置备份任务的执行周期

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

设置备份任务的执行周期

2. 开始备份

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

备份中

  1. 五、结语

阿里云盘的容量速度还是非常不错的,完美的平衡了容量和价格,重要数据、喜欢的剧集以及小姐姐都可以完整备份到云端了,并且是高可靠异地存储,哪怕 NAS 机械故障后,也能找回数据。

数据无价,诸位IT之家家友一定要保存好自己的重要数据,一旦丢失,就再也找不回来了。

参考


本文由LinkNemo爬虫[Echo]采集自[https://www.ithome.com/0/595/630.htm]

点赞(0)
本文标签
 阿里
点了个评