I am going to set up a new zpool. I plan to use nested datasets to store individual files. For example I could have the following datasets:
tank tank/homes/user1 tank/homes/user2 ... tank/shares/pub tank/shares/misc ...
tank is the zpool itself, it contains no files, instead, all files are stored in the datasets like
tank/homes/user and so on.
Now I want to set up a proper backup for this. The problem is that the zpool will be large (100T) and therefore, the incremental backup will take a long time, therefore the files can change during the backup and the backup agent will then retry the backup, which slows it further down etc.
So I planned to make a snapshot, like
zfs snap tank@backup, then use the snapshot to perform the backup, and then destroy the snapshot afterwards.
However, this does not work, as the snapshot
tank@backup will not contain the sub-datasets like
tank/shares/pub. However, with
zfs snap -r tank@backup I get recursive snapshots, but I cannot use these, as it will be messy for the restore of the backup.
Unfortunately, I cannot use
zfs send and
zfs receive for the backup, as I use IBM Tivoli / Spectrum Protect for the backup, i.e.
dsmc, which, to my knowledge, needs files to backup, and I believe it won't work with
So I believe, I will probably end up with just backing up
/tank/*, e.g. something like
dsmc incremental /tank/* -subdir=yes, which ignores all ZFS features and will backup datasets like ordinary folders and so on.
Is there probably a better method?