I've been trying to determine what the correct stripe width for a RAID-50 volume is but haven't been successful in google searches or empirical tests. The volume is built off of 4 disk spans that contain 6 disks each. If I understand it correctly, each individual span is a RAID-5 volume and the 4 spans are combined using RAID-0. However, I'm not seeing any noticable effect when I vary the stripe-width from 2-20. Suggestions?
-
What are you trying to accomplish? What do you expect? And why do you even care about stripe widths?– mailqAug 6, 2011 at 18:59
-
2R50? was R10 too fast and effective for you?– Chopper3Aug 6, 2011 at 19:10
-
@Chopper3 He wants to save disc capacity. That's OK.– mailqAug 6, 2011 at 21:24
-
Why not just go RAID 6?– Ignacio Vazquez-AbramsAug 6, 2011 at 21:51
-
2@mailq: No it isn't. Disks are cheap. If you need more capacity, buy more disks. RAID-50 is an unacceptable risk.– womble ♦Aug 6, 2011 at 22:56
2 Answers
While I realize that this is over a year old, I recently ran into the same question and came to a different conclusion and wanted to add it for posterity.
Unfortunately I think the FusionIO article mentioned here may be wrong. First, their table shows that to find the number of data bearing disks on a raid50 you take the number of "mirrored_sets" and subtract one. However it also has this text near the table:
- mirrored_sets = The number of raid 1 mirrored sets that are used to form the higher- level group
The problem is that raid50 doesn't have any "raid 1 mirrored sets", and the whole idea just sounds kind of, funny.
The larger reason though is that I came across a more recent thread that included input from an ext guru (Andreas Dilger). The explanation on that thread made a lot more sense to me, even before considering reputation.
You can find that here, but I'm going to paste the key part below for good measure...
>> DS: Based on my understanding of what stride and stripe-width set,
>> it seems to me that it should be calculated the same as it would
>> be if there were no multiple-level RAIDing involved. For example,
>> given a RAID 50 made up of two 3+1 RAID 5s striped together (so 8
>> disks total) with a 512k chunk size and 4k block size, the stride
>> should be 128 (512 / 4) and the stripe-width should be 768
>> (stride * 6 data disks).
>
> AD: Strictly speaking, you only need a stripe-width of 384 (stride * 3
> data disks) since this is the minimum read-modify-write boundary.
Ah, right. Thanks, I was over-thinking it.
HTH, Mark
After digging around online, I found this line (http://kb.fusionio.com/KB/a43/filesystem-tuning.aspx) that indicated the stripe width in nested RAID levels should be based on the number of spans/groups. In my case, as I have 4 spans in RAID50, the stripe width (as used in XFS), is 3 (n-1, where n is the number of spans)