Am 10 Dec 2009 um 23:00 schrieb Marco Peereboom:

On Thu, Dec 10, 2009 at 05:00:34PM -0500, nixlists wrote:
Hmmm. I've used hardware raid cards for mirrors that have the verify function.
It would be interesting to know how and what those cards do.

They read the data to make sure the disk is working.  If one disk is
failed they can rebuild that block from the remaining disk provided that
the remaining disk isn't corrupt or broken too.  They assume that the
data that was read is accurate; if it isn't you are SOL.

They either don't detect or ignore blocks that are different because
they can not know which one is accurate (if any).

Verify for RAID 1 is mostly marketing fluff.

Not that it provides concrete options in deciding between the options available here, but doesn't intent logging combined with checksums allow this problem to be solved in software mirroring implementations such as VxVM or ZFS? Intent logging allows you to play back pending writes to deal with the question of differences in state after I/O is interrupted without detectable erroring, and checksums let you figure out whether a mirror is reading out data that is verifiably wrong (which may be the checksum or the data). You've mentioned RAID 5 and RAID 6 as solving these problems, where you by and large have to do checksum/parity operations for most kinds of I/O, but these characteristics needn't be exclusive to those RAID levels, even if they are necessarily to their implementation, no? (Again, this is an argument in principle, intended largely/solely as food for thought, rather than claiming that these problems are solved in any of the options at hand.)

Reply via email to