[kwlug-disc] MDADM and RAID
John Van Ostrand
john at netdirect.ca
Wed Mar 3 13:22:39 EST 2010
----- "Rashkae" <rashkae at tigershaunt.com> wrote:
> John Van Ostrand wrote:
> > Those same disks as RAID0+1:
> > md0 : active raid0 sde1 sdd1 sdc1 sdb1
> > 286727680 blocks 64k chunks
> > Performed the write at 513MB/s, total time 10 seconds
> I'm a little out of my element here, so forgive possible ignorance.
> Where do you get the +1 from? All I see here is a single Raid 0 array,
> which should, by definition multiply max throughput by the number of
> drives (as you demonstrate), but provides no redundancy.
RAID 1 is, of course, mirroring. But it is only mirroring from one drive to another.
To achieve mirroring with more than two drives you need an alternate type of RAID. Thus RAID 0+1, or RAID 1+0 (or 10), which, according to Wikipedia are not synonymous.
RAID 0+1 is a stripe set that is mirrored to another strip set. RAID 1+0 is a mirrored set of drives that is then striped across other mirror sets.
Apparently, Linux does 1+0, so my email should have stated 1+0
So what's the difference I thought, so I read carefully. If you're wondering, these are treated as nested RAID so at a code level it's actually treated as two different RAID sets, one using the other set(s) as "raw" drives. So if the base RAID set is 0 (as in 0+1) and a drive fails then the entire RAID0 set fails causing the mirror to be degraded. In other words a RAID 0+1 can sustain multiple drive failures and continue to operate *ONLY IF* all the drives fail in the same RAID 0 set. As soon as one drive fails in the other set the RAID 0+1 fails.
In a 1+0 set, if a drive fails the base mirror set is degraded and the upper RAID 0 still functions. A second drive can fail, as long as it's not in the same mirror set. That means that multiple drive failures only affect the RAID 1+0 if the both drives of a mirror fail.
So on a 1+0 it's far less likely that multiple drive failures will cause the set to fail.
More information about the kwlug-disc_kwlug.org