5 ms·
Personally I just setup sanoid and syncoid on my NAS. They were dead simple to get up and running with. Sanoid makes snapshots according to a schedule you defi
by indiv0 5y ago
Personally I just setup sanoid and syncoid on my NAS. They were dead simple to get up and running with.
Sanoid makes snapshots according to a schedule you define (e.g. 1 monthly, 31 daily, 24 hourly). It also prunes old snapshots to ensure that you always have the exact snapshots you need available and no more.
Syncoid uses zfs send/recv to copy over snapshots from one ZFS dataset to another, typically between machines. You basically have two options: either you can:
1) copy over ALL of the snapshots from the source in the order they were created (like cherry picking one git commit after another onto another branch), or you can:
2) configure it to make a new snapshot every time it syncs and just copy over the diff since the last time you synced (a bit like squashing all the commits into one and just cherry-picking that).
The former is good if you want to maintain the same snapshots on the source and the destination (you can also use sanoid on the destination to prune the snapshots further).
The latter is good if you want to minimize the amount of churn sent over the network. For example if you're snapshotting VM images you'd be interested in sending over the state of the VM as it appears at the end of the day, rather than all the intermediate state.