Common Name(s): RAID 1+5 or 15; RAID 5+1 or 51. "Common" is
a bit of a stretch with this level, as it is less common than probably any other, so it's
important to verify the details of each implementation.
Technique(s) Used: Mirroring (or duplexing) combined with block
striping with distributed parity.
Description: RAID 1+5 and 5+1 might be sarcastically called "the
RAID levels for the truly paranoid".
The only configurations that use both
redundancy methods, mirroring and parity, this "belt and suspenders" technique
is designed to maximize fault tolerance and availability, at the expense of just about
everything else. A RAID 15 array is formed by creating a striped set with parity using
multiple mirrored pairs as components; it is similar in concept to RAID 10 except that the
striping is done with parity. Similarly, RAID 51 is created by mirroring entire RAID 5
arrays and is similar to RAID 01 except again that the sets are RAID 5 instead of RAID 0
and hence include parity protection. Performance for these arrays is good but not very
high for the cost involved, nor relative to that of other multiple RAID levels.
The fault tolerance of these RAID levels is truly amazing; an eight-drive RAID 15 array
can tolerate the failure of any three drives simultaneously; an eight-drive RAID
51 array can also handle three and even as many as five, as long as at least one
of the mirrored RAID 5 sets has no more than one failure! The price paid for this
resiliency is complexity and cost of implementation, and very low storage efficiency.
The RAID 1 component of this nested level may in fact use duplexing instead of
mirroring to add even more fault tolerance.
Controller Requirements: Requires at least a high-end controller; may
in fact require multiple systems and/or specialized hardware or software. RAID 51 is
sometimes implemented as a "hybrid" of hardware and software RAID, by doing
software mirroring at the operating system level over a pair of RAID 5 controllers,
thus implementing duplexing for even higher fault tolerance. In theory this could be done
with Windows NT software mirroring and a pair of hardware RAID 5 cards, if you could set
it all up to work together properly.
Hard Disk Requirements: An even number of hard disks with a minimum of
six; maximum dependent on controller. All drives should be identical.
Array Capacity: (Size of Smallest Drive) * ( (Number of Drives / 2) -
1). So an array with ten 18 GB drives would have a capacity of 18 GB * ( (10/2) - 1 ) =
just 72 GB.
Storage Efficiency: Assuming all drives are the same size, ( (Number
of Drives / 2) - 1 ) / (Number of Drives). In the example above, efficiency is 40%. This
is the worst storage efficiency of any RAID level; a six-drive RAID 15 or 51 array would
have a storage efficiency of just 33%!
Fault Tolerance: Excellent; by far the best of any level.
Availability: Excellent.
Degradation and Rebuilding: Can be substantial.
Random Read Performance: Very good.
Random Write Performance: Good.
Sequential Read Performance: Very good.
Sequential Write Performance: Good.
Cost: Very high. An uncommon solution requiring a lot of storage
devices for relatively low capacity, and possibly additional hardware or software.
Special Considerations: Complex and very expensive to implement.
Recommended Uses: Critical applications requiring very high fault
tolerance. In my opinion, if you get to the point of needing this much fault tolerance
this badly, you should be looking beyond RAID to remote mirroring, clustering or other
redundant server setups; RAID 10 provides most of the benefits with better performance and
lower cost. Not widely implemented.
Next: "Just A Bunch Of Disks"