我将建立一个新的 zpool。我计划使用嵌套数据集来存储单个文件。例如,我可以有以下数据集:
tank
tank/homes/user1
tank/homes/user2
...
tank/shares/pub
tank/shares/misc
...
tank
是 zpool 本身,它不包含任何文件,相反,所有文件都存储在数据集中,等等tank/homes/user
。现在我想为此设置一个适当的备份。问题是 zpool 会很大(100T),因此增量备份将花费很长时间,因此文件可能会在备份期间发生更改,然后备份代理将重试备份,这会进一步减慢速度等。我打算制作一个快照,例如zfs snap tank@backup
,然后使用该快照进行备份,然后再销毁该快照。但是,这不起作用,因为快照tank@backup
不会包含tank/shares
或 之类的子数据集tank/shares/pub
。但是,zfs snap -r tank@backup
我得到了递归快照,但我无法使用它们,因为这对于备份的恢复来说会很混乱。
不幸的是,我无法使用zfs send
和zfs receive
进行备份,因为我使用 IBM Tivoli / Spectrum Protect 进行备份,即dsmc
,据我所知,它需要文件进行备份,并且我相信它无法与zfs send
.
所以我相信,我可能最终只会备份/tank/*
,例如类似的东西dsmc incremental /tank/* -subdir=yes
,它会忽略所有 ZFS 功能,并会备份普通文件夹等数据集。
可能有更好的方法吗?