场景
既然是nas 就需要做异地备份。
备份目的地
一般备份到网盘或对象储存比较划算。
如果数据量比较大,还是要备份到免费的网盘,比如阿里云盘 1-2T 123pan 2T,还有od gd等容量更大的选择。
用alist挂载后,只要不滥用,账号不会被封。
数据量不大话,尤其核心数据,可以备份到对象储存,比如 alioss也不贵 七牛还有免费的10G kodo
部分敏感数据需要加密储存。为了防止网盘删文件,尤其是小姐姐们,也需要加密储存。
部分数据 需要按照版本储存。
部分数据 需要按照原目录储存,方便在网盘可以直接访问。比如小姐姐们 可以直接存到pikpak
关于duplicati
也是我第一个使用的备份程序
duplicati 是.net写的,可以装到pc 也可以装到服务器,支持linux(mono) ,也有docker版本
支持加密储存,支持增量,支持版本储存。
使用中发现的问题:
- 不支持按照原始目录储存方式
- 备份过程中会占用很大的本地硬盘空间
- 虽然他是基于rclone的,但不算是一个轻量化工具
关于rclone
可以用sysnc方式实现同步,可以不占用本地磁盘,但不支持的
- 没有图形界面
- 不支持按照版本保存
restic
支持常见的储存模式,也支持rclone挂载的储存。也就是alist挂载的网盘也没问题。
rclone是文件同步,也就是和大部分网盘软件一样,来源文件是什么样的,目的文件就是什么样的。restic是面向文件的专业备份工具,其在备份文件前将会先进行加密再传输,而且是增量备份,只备份变化的部分。
rclone并不记录文件版本,无法回溯特定时间点上的文件。restic会对每次备份生成一个快照,记录该时间点文件变化和存储结构,可以随时回溯到特定时间点的文件。
最终的考量
考虑到 我要备份的文件主要有以下几种
- 文档类 修改频繁
- 代码类 gitea+github处理,不需要nas备份
- minio 思源笔记 修改频繁
- 影音视频 只需要同步
- 不合规的影音视频 需要单独同步备份到 境外网盘 或者加密同步到境内网盘
- 私人相册视频 加密同步到境内网盘 restic 不太熟悉需要时间看文档踩坑,最终决定 使用rclone+压缩包增量的方式,更底层 更轻量!
最终
单独一个lxc(pve)平台运行rclone,配置文件中挂载了包括alist 私有minio 阿里云对象储存 在内的我常用的储存
并把部分储存挂载到本地,
然后用crontab 定时处理 ,全手动管理
关于网盘的选择
简单的说,核心文件 还是加密放到 收费的对象储存 。
无关紧要的文件 ,放到哪家网盘都一样。
免费的网盘的话,依旧是阿里云盘比较良心,而且官方已提供api不滥用的话是完全合规的。
我这里也只有一个 904G 的账号,不存太多电影视频的话 足够用了。
百度网盘上传速度其实也还好,下载速度嘛没办法,如果需要取回的时候,开个会员就好。
123pan虽然有2T容量,但是实际测试 限制还是有一些。单个目录下文件数量不可以超过99个。
准备工作
宿主系统选择
alpine 够轻量,创建一个lxc 10009,去掉 非特权容器的勾号,选择 alpine镜像,磁盘空间,选择 默认 8G 。因为部分tar需要临时缓存
创建完成后 在选项 功能里面 勾选上 嵌套 NFS SMB fuse
修改源和时区
|
|
安装ssh
这个不是必须的 不装了,要装的话
|
|
准备所需软件
我考虑了一下,还是选择用 7zip作为增量备份工具,而不是xz ,因为不想学。。。
|
|
准备rclone配置文件
可以直接用
|
|
配置,也可以手写,配置文件可以存到自己的笔记里面。不再多说
这里要 rclone 挂载了 自己的nas,我这里用webdav挂载的 cloudreve
然后挂载 alist 阿里云 对象储存等
最终rclone内的节点如下
|
|
*-local的是用内网链接的
测试
|
|
关于minio的一点补充
Minio目前并不支持所有的S3特性。特别是它不支持MD5校验(ETag)或者是元数据。这就表示Rclone不能通过MD5SUMs进行校验或者保存最后修改时间。不过你可以用Rclone的—size-only flag。
|
|