What is RAID?
JBOD (Just a Bunch of Disks)
JBOD is not one of the numbered RAID levels. Unlike a concatenated array, the disks of JBOD appear as individual hard disks, instead of one single large disk. JBOD accurately describes the underlying physical structure that all RAID structures rely upon. When a hardware RAID controller is used, it normally defaults to JBOD configuration for attached disks.
Spanning (Concatenated Array)
Spanning or concatenated array is also not RAID, although it is an array. It is a group of disks connected together, end-to-end, for the purpose of creating a larger logical disk. Although it is not RAID, it is included here as it is the result of early attempts to combine multiple disks into a single logical device. There is no redundancy with a concatenated array. Any performance improvement over a single disk is achieved because the file-system uses multiple disks. This type of array is usually slower than a RAID-0 array of the same number of disks.
RAID 0 (Striping)
A RAID 0 (also known as a stripe set or striped volume) splits data evenly across two or more disks (striped) with no parity information for redundancy. It is important to note that RAID 0 was not one of the original RAID levels and provides zero data redundancy. RAID 0 is normally used to increase performance, although it can also be used as a way to create a small number of large virtual disks out of a large number of small physical ones.
RAID 1 (Mirroring)
A RAID 1 creates an exact copy (or mirror) of a set of data on two or more disks. This is useful when read performance or reliability are more important than data storage capacity. Such an array can only be as big as the smallest member disk. A classic RAID 1 mirrored pair contains two disks (see diagram), which increases reliability geometrically over a single disk. Since each member contains a complete copy of the data, and can be addressed independently.
RAID mode SAFE33 allows the creation of two hard drive volumes where 1/3 (33%) of the volume is used for mirroring and the rest is used for Spanning (Big). In comparison to SAFE (RAID 1) mode, which utilizes both hard drives for mirroring, SAFE33 increase storage space by setting aside a portion of disk space for regular data storage while performing mirror simultaneously.
RAID mode SAFE50 allows the creation of two hard drive volumes where 1/2 (50%) of the volume is used for mirroring and the rest is used for Spanning (Big). In comparison to SAFE (RAID 1) mode, which utilizes both hard drives for mirroring, SAFE50 increase storage space by setting aside a portion of disk space for regular data storage while performing mirror simultaneously.
A RAID 2 stripes data at the bit (rather than block) level, and uses a Hamming code for error correction. The disks are synchronized by the controller to spin in perfect tandem. Extremely high data transfer rates are possible. This is the only original level of RAID that is not currently used. RAID 2 is the only standard RAID level which can automatically recover accurate data from single-bit corruption in data. Other RAID levels can detect single-bit corruption in data, or can sometimes reconstruct missing data, but cannot reliably resolve contradictions between parity bits and data bits without human intervention.
A RAID 3 uses byte-level striping with a dedicated parity disk. RAID 3 is very rare in practice. One of the side-effects of RAID 3 is that it generally cannot service multiple requests simultaneously. This comes about because any single block of data will, by definition, be spread across all members of the set and will reside in the same location. So, any I/O operation requires activity on every disk.
A RAID 4 uses block-level striping with a dedicated parity disk. This allows each member of the set to act independently when only a single block is requested. If the disk controller allows it, a RAID 4 set can service multiple read requests simultaneously. RAID 4 looks similar to RAID 5 except that it does not use distributed parity, and similar to RAID 3 except that it stripes at the block level, rather than the byte level.
A RAID 5 uses block-level striping with parity data distributed across all member disks. RAID 5 has achieved popularity due to its low cost of redundancy. Generally, RAID 5 is implemented with hardware support for parity calculations. A minimum of 3 disks is generally required for a complete RAID 5 configuration. A RAID 5 two disk set is possible, but many implementations do not allow for this. In some implementations a degraded disk set can be made (3 disk set of which 2 are online).
A RAID 6 extends RAID 5 by adding an additional parity block, thus it uses block-level striping with two parity blocks distributed across all member disks. It was not one of the original RAID levels. RAID 6 is inefficient when used with a small number of drives, but as arrays become bigger and have more drives the loss in storage capacity becomes less important and the probability of two disks failing at once is bigger.