RAID stands for redundant array of independent disks. The technology combines two or more physical drives into a logical unit presented as a single hard drive to the operating system.
Mirroring is duplicating data to more than one disk. It can speed read times because the system can read data from more than one disk. But mirroring may slow write times if the system must confirm that data is correctly written to each disk.
Striping is writing data across a number of disks in parallel, which speeds read/write performance.
What is parity? Parity error checking is where redundancy information is calculated for each piece of data stored. If a drive fails, the missing data can be reconstructed from the remaining data and the parity data. Error checking tends to slow the system because data from several locations must be read and compared.
RAID levels are defined by the combination of the techniques used; they also provide varying degrees of reliability (ability to withstand drive failure) and availability (speed of I/O). There are six basic RAID levels:
RAID Level 0 stripes data across two or more drives. No parity.
Benefits/Drawbacks: RAID 0 gives good read/write performance but doesn't provide data redundancy. All data will be lost if one disk fails. RAID 0 should only be used if you can accept data being inaccessible during a drive failure while you restore it from other media.
RAID Level 1 mirrors data to two or more drives. No parity.
Benefits/Drawbacks: Having multiple drives with identical data gives high availability in terms of read performance and boosts data protection. As long as one drive of a mirrored pair doesn't fail, no data is lost. Duplicating drives brings a cost issue into play.
RAID Level 0+1 is striped sets in a mirrored set. RAID 0+1 creates a striped set that mirrors a primary striped set.
Benefits/Drawbacks: The array will continue to operate if one or more drives in the same mirror set fail. But if drives on both mirror sets fail, all of the data will be lost. There's a minimum of four disks, and an even number of disks, in a mirrored set.
RAID Level 1+0 (RAID 10) is mirrored sets in a striped set. RAID 0+1 creates a striped set from a series of mirrored drives.
Benefits/Drawbacks: If disks fail, RAID 1+0 performs better than RAID 0+1 because all of the remaining disks remain in use. The array can suffer multiple drive failures as long as no mirror set loses all of its drives.
RAID Level 3 is byte-level striping with a dedicated parity disk.
Benefits/Drawbacks: With a dedicated parity disk rather than interleaved parity stripes, the parity disk can fail and the remaining data will continue to be accessible. The dedicated parity disk is a minor bottleneck as it must be written to each time data is updated.
RAID Level 4 is block-level striping with a dedicated parity disk.
Benefits/Drawbacks: The same as for RAID 3, except random access is improved with block-level striping.
RAID Level 5 is striping with distributed (interleaved) parity. No dedicated parity disk.
Benefits/Drawbacks: An array with distributed parity needs all drives but one to be operating. The array doesn't fail completely if a single disk is destroyed, but will upon a second drive failure. In case of a single disk failure, the array is vulnerable and performance will be reduced until it's replaced and the data rebuilt.
RAID Level 6 is striping with dual distributed parity.
Benefits/Drawbacks: Distributed parity gives fault tolerance against two drive failures. Dual parity means that while a failed disk is being rebuilt the array is still protected by the remaining parity data.