I need to update/sync cold and hot standby containers on separate machines efficiently and I realized that
lxc copy --refresh can’t help here because
rsync is used in the refresh case and this can be very slow (slower than an initial full copy).
References: this requirement was mentioned in Lxc copy --refresh error and Future incremental copy - (lxc refresh) - ZFS backend already.
So I scripted the following files for an incremental ZFS snapshot send / receive to a backup server. In my tests the snapshot sync even worked with a running target container that finally is restored to the newly synchronized snapshot. This sync’ed container intentionally does not include further snapshots that are created on the source machine.
Now I’d like to discuss the completeness and relative stability of this approach regarding LXD updates as well as future simplifications e.g. remove the direct execution of
zfs send on the remote source machine / switch over to lxc functionality.