RAID is an acronym for Redundant Array of Independent (or Inexpensive) Disks. RAID arrays are used for two main purposes: fault tolerance and increased performance. There are many different levels of RAID functionality. All but one of the RAID levels provide varying degrees of data protection. Each of the RAID levels provides different performance levels during both normal (optimum) operation as well as during degraded (where a drive failure has been compensated for) operation.
What You Need to Build a RAID System
A RAID system requires two components: a RAID controller and at least the minimum number of hard drives required by the RAID level to be used. RAID systems can be built using
SAS,
SATA or
SCSI hard drives.
There are many very capable SAS/SATA RAID controllers. Examples of several that we carry are: LSI Logic 8344ELP SAS / Serial Attached SCSI RAID Controller, Adaptec 4800SAS SAS Serial Attached SCSI 8 port RAID Controller and Dell XM768 UT568 RF480 PERC 5e 5/E SAS / Serial Attached SCSI RAID Controller.
Two very capable SCSI controllers are the Adaptec 2120S and the Dell PERC 4/DC.
RAID Operational States
A RAID system that has all its drives operating normally is said to be in an "Optimal" state. Most RAID levels, except for RAID 0, can tolerate the failures of some number of drives without data loss. That means that the RAID system will continue to operate and service I/O requests but is said to be operating in a "Degraded" state. It is essential that the failed drive in a degraded RAID be replaced as soon as possible since a second drive failure might cause data loss. Many RAID systems can be setup with a "hot spare". A hot spare is an extra drive that is operating but not used for data storage. The RAID controller will automatically replace a drive that failed with the hot spare. Once the failed drive has been replaced, the RAID controller will start to rebuild the data that was on the failed drive onto the replacement drive. This process may take quite some time and will cause substantially reduced through put from the array. The time that the rebuild is taking place also presents another vulnerability. The rebuild places the greatest stress on the RAID array due to the extremely high number of I/O operations taking place. A drive in the array that is already marginal, may fail during this rebuild.
RAID Levels
RAID 0 - Striping
RAID 0 writes out the blocks of each file across multiple hard drives. This level provides the highest read and write performance of any of the RAID levels but provides no fault tolerance; the failure of one drive will result in complete data loss. RAID 0 requires a minimum of two hard drives. RAID 0 also has no cost penalty associated with it since the total usable capacity of all the drives is available.
RAID 1 - Mirroring
RAID 1 delivers fault tolerance by keeping identical copies of your data on separate disk drives; should one drive fail, the system can continue to operate on the remaining drive, allowing the user time to replace the failed drive. Mirroring provides very high read performance but only medium write performance since there is overhead associated with writing duplicate copies of the data to separate drives. RAID 1 requires two hard drives and has a 50% cost penalty since the total usable capacity is that of a single drive.
RAID 5 - Striping with Parity
RAID 5 stripes data across multiple drives but provides fault tolerance by reserving the space equivalent to one drive for parity storage. RAID 5 can tolerate the failure of one drive in the set without any data loss. Read performance with RAID 5 is high but write performance is low due to the overhead of parity calculation and writing. RAID 5 requires a minimum of three hard drives and carries a space penalty equivalent to the capacity of one drive.
RAID 6 - Striping with Dual Parity
RAID 6 is similar to RAID 5 but requires an extra drive so that dual parity can be implemented. With dual parity, RAID 6 can tolerate the failure of two hard drives without data loss. Performance is the same as RAID 5 and a minimum of four drives are required. The space penalty is equivalent to the capacity of two drives.
RAID 10 - Striping and Mirroring
RAID 10 uses two or more RAID 1 mirror arrays and then does RAID 0 striping across these arrays. This provides the redundancy of mirroring and also the improved performance of striping. RAID 10 can tolerate a failure of one drive in each mirror sub-array without data loss. Read performance is high and write performance is medium. RAID 10 requires a minimum of four drives and has a space penalty of 50% of the total drive capacity.
RAID 50 - Striping Over RAID 5
RAID 50 uses two or more RAID 5 arrays and then does RAID 0 striping across them. This provides the fault tolerance of RAID 5 and also the improved performance of striping. RAID 50 can tolerate a failure of one drive in each sub-array without data loss. Read performance is high and write performance is medium. RAID 50 requires a minimum of six drives and has a space penalty of "n" drives where n is the number of sub-arrays.
RAID 60 - Striping Over RAID 6
RAID 60 uses two or more RAID 6 arrays and then does RAID 0 striping across them. This provides the fault tolerance of RAID 6's dual parity and also the improved performance of striping. RAID 60 can tolerate a failure of two drive6 in each sub-array without data loss. Read performance is high and write performance is medium. RAID 50 requires a minimum of eight drives and has a space penalty of "2n" drives where n is the number of sub-arrays.
RAID Level Performance and Comparison
| Features |
RAID 0 |
RAID 1 |
RAID 5 |
RAID 6 |
RAID 10 |
RAID 50 |
RAID 60 |
| Minimum # of Drives |
2 |
2 |
3 |
4 |
4 |
6 |
8 |
| Fault Tolerance |
None |
Single Drive Failure |
Single Drive Failure |
Up to two Drive Failures |
One drive failure in each sub array |
One drive failure in each sub array |
Up to two drive failures in each sub array |
| Read Performance |
High |
High |
High |
High |
High |
High |
High |
| Write Performance |
High |
Medium |
Low |
Low |
Medium |
Medium |
Medium |
| Read Performance (degraded) |
n/a |
Medium |
Low |
Low |
High |
Medium |
Medium |
| Write Performance (degraded) |
n/a |
High |
Low |
Low |
High |
Medium |
Low |
| Space Penalty |
0% |
50% |
6% - 33% |
12% - 50% |
50% |
6% - 33% |
12% - 50% |