oetiker / znapzend

zfs backup with remote capabilities and mbuffer integration.
www.znapzend.org
GNU General Public License v3.0
604 stars 136 forks source link

Make README's recursive dataset snapshot pruning warning clearer #614

Closed danboid closed 9 months ago

danboid commented 9 months ago

I have a ZFS LTSP server which I want to recursively replicate /home and its child datasets (each user has their own dataset within /home) to a remote ZFS server then have the snapshots thinned out on both sides but this section of the znapzend readme has me doubting whether znapzend would work for me or not:

"Note that while recursive configurations are well supported to set up backup and retention policies for a whole dataset subtree under the dataset to which you have applied explicit configuration, at this time pruning of such trees ("I want every dataset under var except var/tmp") is not supported. You probably do not want to enable ZnapZend against the root datasets of your pools due to that, but would have to be more fine-grained in your setup. This is consistent with (and due to) usage of recursive ZFS snapshots, where the command is targeted at one dataset and impacts it and all its children, allowing to get a consistent point-in-time set of snapshots across multiple datasets."

Does this mean that znapzend doesn't support pruning recursive datasets at all or does it mean that znapzend doesn't support pruning recursive datasets with exceptions? In my case I want to replicate every dataset under /home without any exceptions so should that work?

The source server is currently running zfs-auto-snapshot for snapshotting. Would I be required to remove all existing snapshots on the pool before I configure znapzend or might it work OK still if I leave the existing snapshots in place and just uninstall z-a-s?

Thanks

danboid commented 9 months ago

If znapzend works in the way I think it does, then I think you should change that first sentence to something like:

"Note that whilst znapzend supports recursive replication of datasets, it does not support pruning of recursive datasets that contain exceptions ie when any child datasets are flagged to not be snapshotted."

Is that how it works or not?