Recovering zfs send | recv

Ion-Mihai Tetcu itetcu at FreeBSD.org
Tue Mar 10 11:02:37 UTC 2015


Hi,


Is there a way to "recover" from deleting a filesystem on the receiving
side (also deleted on the sending side) so that replication can go on
without receive -F? Now it fails with 'Filesystem modified since most
recent snapshot'.

I have no problem with rolling back (destroying) some last snapshots on
the receiving side, but I can't use -F because it would remove about a
year of "archived" snapshots that are no longer present on the sending
side (where only the snapshots from the last 4 months are kept, mostly
for space and performance reason - recursive snaps are being created
each 10 minutes and their "archive" on the receving side currently
numbers about 400.000 snaps.).

On the sending side:
pool/fs at s1
pool/fs/sfsA at s1
pool/fs/sfsB at s1
pool/fs/sfsD at s1
pool/fs at s2
pool/fs/sfsA at s2
pool/fs/sfsB at s2
pool/fs/sfsD at s2
<--- moment in time when 'zfs destroy -r pool/fs/sfsC'
pool/fs at s3
pool/fs/sfsA at s3
pool/fs/sfsB at s3
pool/fs/sfsD at s3
pool/fs at s4
pool/fs/sfsA at s4
pool/fs/sfsB at s4
pool/fs/sfsD at s4


On the receiving side:
BK/pool/fs at s1
BK/pool/fs/sfsA at s1
BK/pool/fs/sfsB at s1
BK/pool/fs/sfsD at s1
BK/pool/fs at s2
BK/pool/fs/sfsA at s2
BK/pool/fs/sfsB at s2
BK/pool/fs/sfsD at s2
<--- moment in time when 'zfs destroy -r BK/pool/fs/sfsC'

zfs send -R -I pool/fs at s1 poll/fs at s2 | zfs receive -v -d BK
works 

zfs send -R -I pool/fs at s2 poll/fs at s3 | zfs receive -v -d BK
doens't

In the worse case I could send | recv the child filesystems sfsA, sfsB,
etc. (with I know it works) but given their number (and rather frequent
zfs rename'ing of them on the sending side) it would be rather
inconvenient.


And, if it is not possible, what is the correct way of removing a
filesystem on both sides that would allow replication to continue?


Thanks,

-- 
IOnut



More information about the freebsd-fs mailing list