本文最后更新于 2024-09-01,文章内容距离上一次更新已经过去了很久啦,可能已经过时了,请谨慎参考喵。

前情提要

内网中有两台 truenas 机器:

  • pve102-truenas 用来做集群节点的热备份,计划任务为每天备份两次,保留三天备份;

  • pve104-truenas 用来做整个集群的冷备份,计划任务为每周六自动开机,复制 pve102-truenas 的数据集到 pve104-truenas。

创建SSH连接

首先登录到 pve102-truenas,点击用户凭证->备份凭据->SSH 密钥对->添加,名称填写 pve102-admin(可以自己定义),点击生成密钥对,保存。

然后点击用户凭证->本地用户->admin->编辑,勾选 允许使用所有 sudo 命令无需密码鉴权 ,保存。

同样的操作,登录到 pve104-truenas,生成 pve104-admin 密钥对,同时也编辑 admin 用户,勾选 sudo 无密码鉴权。

返回 pve102-truenas 的控制台,还是在备份凭据页面,点击 SSH 连接->添加:

名称填写:pve102-pve104

设置方法选择:半自动模式

TrueNAS URL 输入 pve104-truenas 的 IP 地址:10.10.10.53(会自动补充 https:// 前缀)

管理员账号更换为:admin(TrueNAS 默认不允许使用 root 账户)

输入密码

一次性密码留空

用户名:admin

勾选 启用无密码 sudo 执行 zfs 相关命令

私钥选择刚才创建好的 pve102-admin

保存

提示警告 SSL 证书不可信:

点击关闭,点击忽略,继续:

提示 SSH 连接已保存,则说明连接成功。

创建备份任务

在 pve102-truenas 控制台,点击数据保护->复制任务->添加:

加载先前复制任务:留空

源位置选择在这个系统上,目标位置选择在不同的系统上

SSH 连接选择刚才创建好的:pve102-pve104

会提示使用 sudo 来运行 zfs 命令,点击确认即可

源和目标选择要复制的对应的路径即可,源这边看个人情况是否勾选递归

其他默认,点击下一步,按照自己的需求选择频率,其他默认,点击保存

然后备份任务就会自动开始运行一次,等待即可。

需要注意的是,如果源位置的文件夹里有子数据集,那么也需要一同勾上,否则子数据集里的文件是不会被复制过去的,而是只会复制空文件夹:

这玩意不好用,不知道为啥,源位置里文件新增之后复制不过去。。。没研究明白。