Very low disk performance on 5.x
asym
bsdlists at rfnj.org
Mon May 2 07:42:46 PDT 2005
At 10:38 5/2/2005, Arne "Wörner" wrote:
>--- Allen <bsdlists at rfnj.org> 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.
More information about the freebsd-performance
mailing list