> From: zfs-discuss-boun...@opensolaris.org [mailto:zfs-discuss-
> boun...@opensolaris.org] On Behalf Of Jonathan Walker
> 
> New to ZFS, I made a critical error when migrating data and
> configuring zpools according to needs - I stored a snapshot stream to
> a file using "zfs send -R [filesystem]@[snapshot] >[stream_file]".

There are precisely two reasons why it's not recommended to store a zfs send
datastream for later use.  As long as you can acknowledge and accept these
limitations, then sure, go right ahead and store it.  ;-)  A lot of people
do, and it's good.

#1  A single bit error causes checksum mismatch and then the whole data
stream is not receivable.  Obviously you encountered this problem already,
and you were able to work around.  If I were you, however, I would be
skeptical about data integrity on your system.  You said you scrubbed and
corrected a couple of errors, but that's not actually possible.  The
filesystem integrity checksums are for detection, not correction, of
corruption.  The only way corruption gets corrected is when there's a
redundant copy of the data...  Then ZFS can discard the corrupt copy,
overwrite with a good copy, and all the checksums suddenly match.  Of course
there is no such thing in the zfs send data stream - no redundant copy in
the data stream.  So yes, you have corruption.  The best you can possibly do
is to identify where it is, and then remove the affected files.

#2  You cannot do a partial receive, nor generate a catalog of the files
within the datastream.  You can restore the whole filesystem or nothing.

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

Reply via email to