On 03/10/12 02:48 AM, Cameron Hanover wrote:
On Mar 6, 2012, at 8:26 AM, Carsten John wrote:
I set up a script to replicate all zfs filesystems (some 300 user home directories in
this case) within a given pool to a "mirror" machine. The basic idea is to send
the snapshots incremental if the corresponding snapshot exists on the remote side or send
a complete snapshot if no corresponding previous snapshot is available
Thee setup basically works, but form time to time (within a run over all
filesystems) I get error messages like:
"cannot receive new filesystem stream: dataset is busy" or
"cannot receive incremental filesystem stream: dataset is busy"
I've seen similar error messages from a script I've written, as well. Mine
does create a lock file and won't run if a `zfs send` is already in progress.
My only guess is that the second (or third, or...) filesystem starts sending to
the receiving host before the latter has fully finished the `zfs recv` process.
I've considered putting a 5 second pause between successive processes, but the
errors are intermittent enough that it's pretty low on my to-do list.
I have also seen the same issue (a long time ago) and the application I
use for replication still has a one second pause between sends to "fix"
zfs-discuss mailing list