On Sun, 15 Jan 2012, Jim Klimov wrote:
1) How does raidzN protect agaist bit-rot without known full
death of a component disk, if it at all does?
Or does it only help against "loud corruption" where the
disk reports a sector-access error or dies completely?
Here is a layman's answer since I am not a zfs developer:
ZFS maintains a checksum for a full block which is comprised of
multiple chunks which are stored on different disks. If one of these
chunks proves to be faulty (i.e. drive reports error while reading
that chunk, or overall block checksum is faulty) then zfs is able to
re-construct the data using the 'N' redundancy chunks based on
distributed parity. If the drive reports success but the data it
returned is wrong, then the zfs block checksum will fail. Given a
sufficiently strong checksum algorithm, there is only one permutation
of reconstructed data which will satisfy the zfs block checksum so zfs
can try the various reconstruction permutations (assuming that each
returned chunk is defective in turn) until it finds a permutation
which re-creates the correct data. At this point, it knows which
chunk was bad and can re-write it or take other recovery action. If
the number of bad chunks exceeds the available redundancy level, then
the bad data can be detected, but can't be corrected.
The fly in the ointment is that system memory needs to operate
reliably, which is why ECC memory is recommended/required in order for
zfs to offer full data reliability assurance.
One frequently announced weakness in ZFS is the relatively small
pool of engineering talent knowledgeable enough to hack ZFS and
develop new features (i.e. the ex-Sunnites and very few determined
other individuals): "We might do this, but we have few resources
and already have other more pressing priorities".
One might assume that the pool of ZFS knowledge is less than other
popular filesystems but it seems to be currently larger than UFS, FFS,
EXT4, and XFS. For example, Kirk McKusick is still the one fixing
reported bugs in BSD FFS. As filesystems become more mature, the
number of people fluent in how their implementation works grows
smaller due to a diminishing need to fix problems. Filesystems which
are the brainchild of just one person (e.g. EXT4, Reiserfs) become
subject to the abilities of that one person.
GraphicsMagick Maintainer, http://www.GraphicsMagick.org/
zfs-discuss mailing list