On Wed, Feb  2 at 17:03, Rahul Deb wrote:
Is "zfs send -R " sends snapshot all at once OR does it send all
the descendent snapshots serially(one after another) ?  I am
asking this because, if it sends serially, send/recv will take
long time to finish based on the number of snapshots need to be
send and this duration will gradually increase if number of
snapshots also keep increasing. Is my assumption correct?
Thanks,
-- Rahul

We do not use send|recv for descendent filesystems, so I don't have
personal experience, but I am pretty sure the send is an
all-or-nothing operation which runs serially.  Our setup sustains
about 40MB/s on our send|recv using SSL to a backup server with
1500MTU, so I don't think we're doing that poorly.  Our 40MB/s is
measured with the system under concurrent server load, so I don't
think it's doing that poorly.

Parallelization of the send|recv would only net a benefit if a serial
approach was unable to saturate the network interface, but I've yet to
witness that case.  Some setups will forgo ssl and instead use one of
the network pipe interfaces that isn't encrypted, which can improve
performance when CPU bound, but we haven't tried to setup anything
like that since we haven't needed it.

Using -R by itself will result in a larger send|recv each time, as you
suspect, unless you also use -I/-i to do incrementals.  In the -I/-i
case, the size of the incremental is relative to the amount of new
data since the last time you sent incrementals, similar to rsync or a
half dozen other techniques.

At work we always use -i, and our send|recv is anywhere from 5-20
minutes, depending on what data was added or modified.

--eric

--
Eric D. Mudama
edmud...@bounceswoosh.org

_______________________________________________
zfs-discuss mailing list
zfs-discuss@opensolaris.org
http://mail.opensolaris.org/mailman/listinfo/zfs-discuss

Reply via email to