Redundant Array of Independent Disks (RAID) is useful in the case of damaged or failed hard disks. Though there are many different types of RAID, it is typically used to ‘mirror’ hard drives. If one hard drive fails, the server will automatically switch to the remaining drive, until the failed hard disk can be replaced.
There are different RAID levels:
Level 0: Implements data striping where file blocks are written to separate drives. It does not provide fault tolerance, because failure of one drive results in data loss.
Level 1: Implements data mirroring. Data is duplicated on two drives either through software or hardware. It provides faster read performance than a single drive.
Level 2: Not used in practice. Data is split at bit level at written to multiple drives.
Level 3: Requires at least three drives. The data block is striped at the byte level across drives and error correction codes (parity info) is recorded on another drive. It provides fault tolerance but slower writing performance.
Level 4: Similar to Level 3 but provides faster performance due to use of blocks for striping.
Level 5: Similar to Level 4 but improves performance. It incorporates striping parity info across multiple drives.
Level 6: Similar to Level 5 but also uses second parity scheme for better fault tolerance.
Level 7: Proprietary RAID design by Storage Computer Corporation. Faster than other levels because it uses multiple levels of cache and asynchronous I/O transfers.
Level 10: Can handle up to one disk failure in each sub-array and works at a high speed. Is best used for fast databases and application servers.
Level 50: Similar to level 10 with high capacity use. Is best used for large databases, file servers and application servers.
Level 60: Can handle up to two disk failures in each sub-array and is best used for data archiving, disk backup and large capacity jobs.
In addition multiple RAID levels can be combined to improve performance or reliability.