--- Allen <[EMAIL PROTECTED]> wrote: > Scenario B, verified read enabled: > 1. RAID card reads up ALL blocks in the stripe (5 reads). > 2. RAID card pretends the block requested is on a "degraded" > drive, and > calculates it from the other 3 + the XOR stripe. > 3. RAID card reports the value back, or tosses some kind of > error. > > You can see, the cache just doesn't play a part in what I was > describing, > which is basically the array performing as though it is degraded > when in > fact it is not, to catch failures that would otherwise be > missed. > That would be a funny implementation. Step one could be done mostly from cache in case of sequential reads from a device (like /dev/ad0s1f or so). In this thread we always looked at sequential reads, as far as I recall...
It's not "funny" it's just something some people do to try to catch more errors.
RAID5 will not catch transient write errors by default. If there was say noise on the bus, and so the wrong value was written to the disk after the XOR was performed, but the right XOR data was written to the disk.
RAID5 would normally never catch such an error, unless you run it in a verified mode where it always behaves as though it is degraded, which is what I was describing.
Why you would, I'm not sure. It would catch the errors I suppose, but there's nothing it can do about them -- it can't know if the XOR data or the actual data is corrupt. Detection without correction is better than nothing though, and if performance isn't your real goal, you can turn on such features in some cards.
_______________________________________________ freebsd-performance@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-performance To unsubscribe, send any mail to "[EMAIL PROTECTED]"