[rescue] RAID (was Re: Insane drives)

Adam Kropelin rescue at sunhelp.org
Tue Jul 10 21:40:00 CDT 2001


At 03:48 PM 7/10/2001 -0400, you wrote:
>Joshua D. Boyd writes ---
> >On Tue, 10 Jul 2001, Robert Novak wrote:
> >> If you have 10 9.1GB disks in your set, you get 75.6GB or so (assuming no
> >> spares). Might want to use a hotspare if you have the capacity (Sun's
> >> Disksuite will let you create a hotspare pool, so put one disk in it and
> >> attach it to your RAID 5 metadevice).
> >
> >So, you are saying that you always only use one disk for parity?  I
> >thought that was what raid 3 did.
>
>Raid 3-5 all use 1 disk's worth of space for parity.

<snip>


>Raid 5: 1 disk worth of space for parity. Parity for each stripe is rotated
>         through the disks.  Parity calculated by the block/stripe.

I'm not convinced this is right.

(Everybody shout if I'm wrong and I'll learn something...)

My understanding is it has nothing at all to do with "disks". You could 
implement an entire RAID-5 "array" on a single disk if you wanted, though 
it would have somewhat limited usefulness.

A simplified description of the data storage model, as I understand it, is 
that any given block is paired with another block and the result of XORing 
those two blocks is then stored in a third block. You can lose any one of 
these three blocks and it can be recreated from the remaining two. Ergo, 
put each block on a different physical device and you can lose any one 
physical device while being guaranteed that all the blocks on it can be 
recreated.

This also explains why write performance blows on a RAID-5. A single block 
write is actually one read (the "partner" of the block we're trying to 
write) and two writes (one for the block we're trying to write and one to 
update the XOR).

So you lose 1/3 of your total storage capacity plus any overhead associated 
with maintaining the array and stripe metadata.

--Adam




More information about the rescue mailing list