[RndTbl] expert RAID question

Adam Thompson athompso at athompso.net
Fri Apr 24 09:36:34 CDT 2015


I thought I replied to this, but can't find it, so...

I think the author screwed up.  The write changes exactly one "stripe", 
not exactly one disk.  Parity blocks must be recalculated on every 
write.  Also, write performance is not necessarily any percentage of a 
single disk - it depends on the speed of the parity calculations.  RAID5 
can be anywhere from 0% to infinity% as fast as a single disk depending 
on the array.

The parity context (stripe) does in fact need to be read back into 
working memory prior to being written back out to disk - this is part of 
the phenomenon known as the RAID 5 "write hole"[1].  Beware, "write 
hole" is used to describe both a reliability issue and a performance 
issue - same words, different phenomena.  The performance phenomenon is 
better referred to as a "partial-stripe write".  Oracle has a biased 
(duh!) but technically accurate description of it[2].

I think the author read something about RAID 5 partial-stripe writes and 
misinterpreted it.  OTOH, if he's talking about ZFS "RAIDZ", which is 
analogous to RAID 5, then he's sort-of correct (but still not 100%).

-Adam

[1] http://www.raid-recovery-guide.com/raid5-write-hole.aspx
[2] https://blogs.oracle.com/bonwick/entry/raid_z




On 04/22/2015 03:32 AM, Trevor Cordes wrote:
> I'm reading a book talking about RAID 5.  For writes (only), it says:
>
> In the case when: "The write changes exactly one disk.  The parity context
> doesn't need to be recovered, since we can compute it just as if the disk
> had failed.  The write involves one write and one parity write.
> Performance is about 50% of a single disk."
>
> ("Parity context" in this book means the contents of that entire stripe;
> so saying it doesn't need to be recovered means that you don't need to
> read the other n-2 disks (+1 parity disk) that hold that stripe.)
>
> I'm trying to figure how you "can compute it just as if the disk had
> failed".  This makes no sense to me.  I don't see how you could possibly
> get away with only 2 writes and no reads when changing just a single
> disk's block in a RAID 5 array.  What am I missing??
>
> (This book does have errors, and I am wondering if this is one of them.)
> _______________________________________________
> Roundtable mailing list
> Roundtable at muug.mb.ca
> http://www.muug.mb.ca/mailman/listinfo/roundtable



More information about the Roundtable mailing list