zfs增量快照转储和还原工具
snapdump的Python项目详细描述
快照转储
此工具主要用于将zfs服务器备份到外部文件系统,同时考虑到异地备份用例。 它打算从zfs框外部运行,并使用无密码ssh登录来执行zfs操作。
安装
只需pip安装,之后您就可以使用snapdump
$ pip install snapdump
$ snapdump -v
snapdump 1.0.6
首先需要创建一个配置文件,请参见config.sample.yml以获取示例。
此外,您需要对服务器进行无密码ssh根访问。有关提高安全性的详细信息,请参见restricted_shell/README.md。
功能
- 增量快照转储和还原
- 自动拍摄ZFS快照
- 自动清除zfs znapshots和转储文件
脚本打算从cron作业以高频率执行。它什么也做不了 如果没有通过正确的间隔。
命令
备份
备份将在配置中创建每个数据集mentioend的完整或增量快照,还将执行清理 默认情况下,备份还将验证转储快照的完整性,这可以通过使用--no verify来禁用
$ snapdump -c /path-to-config/config.yml backup
Creating incremental snapshot dump for storage/home@2018_12_14__00_23_58 based on 2018_12_14__00_21_47
Creating incremental snapshot dump for storage/datasets01@2018_12_14__00_23_58 based on 2018_12_14__00_21_47
列表
列出每个数据集的所有当前快照。
snapdump -c /path-to-config/config.yml list
storage/home:
= storage/home@2018_12_10__19_20_34
+ storage/home@2018_12_14__00_21_47
+ storage/home@2018_12_14__00_23_58
storage/datasets01:
= storage/datasets01@2018_12_11__04_47_33
+ storage/datasets01@2018_12_14__00_21_47
+ storage/datasets01@2018_12_14__00_23_58
每个快照的前缀都是=或+,以指示它是完整(=)还是增量(+)快照。
恢复
还原将获取快照名称和目标数据集(可选)并还原它。对于增量快照,它也可以正常工作。 如果未提供目标数据集名称,则将创建一个后缀为restore的新数据集。
$ snapdump -c /path-to-config/config.yml restore -s storage/datasets01@2018_12_14__00_23_58
Restoring snapshot storage/datasets01@2018_12_14__00_23_58 to storage/datasets01_restore
清理
启动清理,这通常不需要,因为备份正在自动清理