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.

Bob Friesenhahn
bfrie...@simple.dallas.tx.us, http://www.simplesystems.org/users/bfriesen/
GraphicsMagick Maintainer,    http://www.GraphicsMagick.org/
zfs-discuss mailing list

Reply via email to