2011-06-11 17:20, Edward Ned Harvey пишет:
From: David Magda [mailto:dma...@ee.ryerson.ca]
Sent: Saturday, June 11, 2011 9:04 AM

If one is saving streams to a disk, it pay be worth creating parity files
for them
(especially if the destination file system is not ZFS):
Parity is just a really simple form of error detection.  It's not very
useful for error correction.  If you look into error correction codes,
you'll see there are many other codes which would be more useful for the
purposes of zfs send datastream integrity on long-term storage.

Well, parity lets you reconstruct the original data, if you can
decide which pieces to trust, no? Either there are many fitting
pieces and few misfitting pieces (raidzN), or you have
checksums so you know which copy is correct, if any.

Or like some RAID implementations, you just trust the copy
on a device which has not shown any errors (yet) ;)

But, wait... if you have checksums to trust one of the two
copies - it's easier to make an option to embed mirroring
into the "zfs send" stream?

For example, interlace chunks of same data with
checksums sized, say, 64Mb by default (not too heavy
on cache, but big enough to unlikely be broken by the
same external problem like a surface scratch; further
configurable by sending user). Sample layout:
AaA'a'BbB'b'...

Where "A" and "A'" are copies of the same data, and
"a" and "a'" are their checksums, "B"'s are the next
set of chunks, etc.

PS: Do I understand correctly that inside a ZFS send
stream there are no longer original variably sized blocks
from the sending system, so the receiver can reconstruct
blocks on its disk according to dedup, compression,
and maybe larger coalesced block sizes for files originally
written in small portions, etc?

If coalescing-on-write is indeed done, how does it play
well with snapshots? I.e. if original file was represented
in snapshot#1 by a few small blocks, received in snapshot#1'
as one big block, but later part of the file was changed.
The source snapshot#2 includes only the changed small
blocks, what would the receiving snapshot#2' do?
Or there is no coalescing and this is why? ;)

Thanks,
//Jim Klimov


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

Reply via email to