>>>>> "djm" == Darren J Moffat <darren.mof...@oracle.com> writes:

   djm> I've logged CR# "6936195 ZFS send stream while checksumed
   djm> isn't fault tollerant" to keep track of that.

Other tar/cpio-like tools are also able to:

 * verify the checksums without extracting (like scrub)

 * verify or even extract the stream using a small userland tool that
   writes files using POSIX functions, so that you can build the tool
   on not-Solaris or extract the data onto not-ZFS.  The 'zfs send'
   stream can't be extracted without the solaris kernel, although yes
   the promise that newer kernels can extract older streams is a very
   helpful one.

   For example, ufsdump | ufsrestore could move UFS data into ZFS.
   but zfs send | zfs recv leaves us trapped on ZFS, even though
   migrating/restoring ZFS data onto a pNFS or Lustre backend is a
   realistic desire in the near term.

 * partial extract

Personally, I could give up the third bullet point.

Admittedly the second bullet is hard to manage while still backing up
zvol's, pNFS / Lustre data-node datasets, windows ACL's, properties,
snapshots/clones, u.s.w., so it's kind of...if you want both vanilla
and chocolate cake at once, you're both going to be unhappy.  But
there should at least be *a* tool that can copy from zfs to NFSv4
while preserving windows ACL's, and the tool should build on other
OS's that support NFSv4 and be capable of faithfully copying one NFSv4
tree to another preserving all the magical metadata.

I know it sounds like ACL-aware rsync is unrelated to your (Darren)
goal of tweaking 'zfs send' to be appropriate for backups, but for
example before ZFS I could make a backup on the machine with disks
attached to it or on an NFS client, and get exactly the same stream
out.  Likewise, I could restore into an NFS client.  Sticking to a
clean API instead of dumping the guts of the filesystem, made the old
stream formats more archival.

The ``I need to extract a ZFS dataset so large that my only available
container is a distributed Lustre filesystem'' use-case is pretty
squarely within the archival realm, is going to be urgent in a year or
so if it isn't already, and is accomodated by GNUtar, cpio, Amanda
(even old ufsrestore Amanda), and all the big commercial backup tools.

I admit it would be pretty damn cool if someone could write a purely
userland version of 'zfs send' and 'zfs recv' that interact with the
outside world using only POSIX file i/o and unix pipes but produce the
standard deduped-ZFS-stream format, even if the hypothetical userland
tool accomplishes this by including a FUSE-like amount of ZFS code and
thus being quite hard to build.  However, so far I don't think the
goals of a replication tool:

 ``make a faithful and complete copy, efficiently, or else give an
   error,''

are compatible with the goals of an archival tool:

 ``extract robustly far into the future even in non-ideal and hard to
   predict circumstances such as different host kernel, different
   destination filesystem, corrupted stream, limited restore space.''

Attachment: pgpyWHuwbuWZf.pgp
Description: PGP signature

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

Reply via email to