The capacity of a RAID array is determined by multiplying the capacity of the
drives in the array by the number of non-redundant drives, i.e., drives used for data as
opposited to parity or mirrored data. The more redundancy in the array, the lower the
capacity of the array for a given number of drives. For example, six 40 GB hard disks in a
RAID 0 array would yield a 240 GB array; in a RAID 5 configuration that same array would
have 200 GB of usable capacity; in a RAID 1+0 setup, only 120 GB. The total capacity of
the array depends on both the RAID level and the size and number of drives used.
The storage efficiency of the array is the percentage of the total size of the
array that can be used for user data; it is more useful for comparing RAID levels because
it does not depend on the size of the drives used in the array. It can be calculated
simply by dividing the total usable capacity of the drive by the sum of the capacities of
all the drives that underlie the array. For some RAID levels it is a constant, while for
others it depends on the number of drives in the array. For example, the storage
efficiency of RAID 0 is always 100%, and for RAID 1 and RAID 0+1, 50%. For levels that use
striping with parity, storage efficiency increases as the number of drives is increased,
because the number of parity drives is a constant and therefore diminishes as a percentage
of the total.
While common parlance for calculating storage says to multiply the number of
data-containing drives by the capacity of the drives, bear in mind that this assumes that
all the drives are of the same size (which is the ideal way to set up a RAID array). In
fact, the capacity of any RAID array is constrained by the size of the smallest drive in
the array; it is that size that should be used when calculating capacity. So, the capacity
of a RAID 5 array containing four drives that are 20 GB, 30 GB, 40 GB and 45 GB in size is
60 GB (calculated as 4-1 times 20 GB, the size of the smallest drive.) If you were to
actually set up an array using such drives, 55 GB of space would be lost in what is
sometimes called drive waste. If an array has drive waste due to unequal drive
sizes, this will reduce the storage efficiency of the array as well, of course: the RAID 5
array given as an example here has a storage efficiency of (60 / 135) = 44%, instead of
the 75% that would result if all the drives were the same size. Some controllers will let
you use such "waste" as regular, non-RAID storage. See this discussion of drive size for related issues.
Next: Fault Tolerance and Availability