16-SEP-2012: RAID Allocation Guide

Given several trays (T) of disks, each tray with the same number of disks (N) per tray we can compute the "redundancy" (R) of an array built out of various standard and nested configurations, as well as how much space is lost to parity/mirroring.

Redundancy (R) is defined as the minimum number of disks that can be lost to cause integrity failure (position is worst-case)

The tables below are list the formula to compute each value (if needed) and the example values in parenthesis for 3 trays of each 7 disks (21 disks total), that is N = 7, T = 3.

Standard RAID levels:

RAID Level Redundancy Space Overhead
0 1 0 %
1 N x T (21) (N x T - 1) / (N x T) (95%)
5 2 1 / (N x T) (5%)
6 3 2 / (N x T) (10%)
10 2 -

Nested RAID Levels (RAID A of RAID Bs, or RAIDB+A):

A B Redundancy Space Overhead
0 0 1 0 %
0 1 N (7) (N - 1) / N (86%)
0 5 2 1 / N (14%)
0 6 3 2 / N (28%)
1 0 T (3) (T - 1) / T (66%)
1 1 N x T (21) (N x T - 1) / (N x T) (95%)
1 5 2 x T (6) (N x (T - 1) + 1) / (N x T) (71%)
1 6 3 x T (9) (N x (T - 2) + 1) / (N x T) (76%)
5 0 2 1 / T (33%)
5 1 N x 2 (14) 1 - ((1 - ((N - 1) / N)) x ((T - 1) / T)) (91%)
5 5 4 (N + T - 1) / (N x T) (43%)
5 6 6 (N + (T - 1) x 2) / (N x T) (52%)
6 0 3 2 / T (66%)
6 1 N x 3 (21) (N x 3 - 1) / (N x T) (95%)
6 5 6 (N x 2 + 1) / (N x T') (71%)
6 6 9 (N x 2 + 2) / (N x T') (76%)

Given this we can also come up with an aggregate "mean time between failure" (MTBF) based on the MTBF of each disk and the amount of redundancy.

For most RAID levels this would be: MTBF_AGG = MTBF_DISK / (N x T - R + 1)

For RAID levels B+0 this would be: MTBF_AGG = (MTBF_DISK * T) / (N - R + 1)

For RAID10, it's even more complicated.