Understanding RAID

RAID or Redundant Array of Inexpensive Disks is a technology for storing the same data across different disks to ensure data redundancy. RAID also employs data stripping (a process where data is divided into blocks and spread over several disks) which improves performance. A RAID appears to the operating system as a single logical hard disk.

The following are the possible RAID configurations:

RAID 0: Data is stripped across multiple disks which greatly improves performance. However it offers no redundancy.

RAID 1: Data on one disk is completely mirrored into another disk thereby offering redundancy. However the storage cost could substantially go up where there are several terabytes of data to be stored.

RAID 2: Data is stripped across disks while some disks store error checking and correcting information.

RAID 3: Data is stripped at byte-levels and a drive is dedicated to store parity information. Failure of up to one disk can be tolerated and the data can be recovered using the parity information and the information stored on other drives. Computing parity bits for write operations slows down the performance.

RAID 4: Same as RAID 3 except that in case of RAID 4 data stripping is done at block levels. The advantage of block level stripping is that the strip size can be decided to suit the application needs.

RAID 5: This operates similar to RAID 3 except that here the parity information is not separately stored in a dedicated disk. The parity information is stored along with the stripped data. The greatest advantage of using RAID 5 is in the least amount of disk space used in recovering lost data. However RAID 5 has a very poor write performance and should not ideally be used for write intensive files.

RAID 6: Similar to RAID 5 except that in case of RAID 6 two sets of parity information is created and stored across disks providing high level of fault tolerance and device failure tolerance.

RAID 7: This is a proprietary design offered by one vendor which includes a real time embedded operating system as a controller. It uses cache arranged in multiple levels which allow the array to handle many simultaneous operations, greatly improving the performance and at the same time maintaining fault tolerance.

RAID 10: It is a combination of RAID 0 and RAID 1. Here the data is stripped and then mirrored into another disk. This offers both redundancy and performance and is considered the best solution among other configurations.