Understanding Redundant Array of Inexpensive Disk (RAID)
Bhaskar S | 10/05/2013 |
Introduction
The term RAID is a common parlance in any Enterprise infrastucture.
So, what exactly is it ???
RAID stands for Redundant Array of Inexpensive (or Independent) Disk and makes two or more physical disks appear as one logical disk to the Operating System.
Great, but why do we need it ???
Enterprises use RAID for the following reason(s):
Increased Capacity :: combines multiples inexpensive physical disks to form a larger capacity logical disk
Increased Performance :: disk IO is spread across multiple physical disks thereby increasing read and write throughput
Redundant and Fault Tolerant :: allows one to replace failed disk(s) and prevent data loss
RAID Terminology
The following are some of the commonly used terms in the RAID lingua franca:
RAID Controller :: is the main component that manages how the data is written to and/or read from the array of physical disks
Data Striping :: Striping distributes data blocks across the physical disks for better throughput through parallelism
Data Mirroring :: Mirroring writes a given data block to two physical disks in parallel for data redundancy
Parity :: Parity data block is created using the XOR operation on two data blocks from two physical disks. Using the Parity data block, RAID can recover the other data block if one of them is lost due to disk failure. The following illustrates how the Parity data block is computed:
RAID Levels
The following paragraphs list and describe the most commonly used RAID levels:
RAID 0
This is the simplest RAID configuration.
Requires at least two physical disks
Uses data striping
Does NOT use data mirroring
Does NOT use parity
No data redundancy
Provides superior read/write performance
Efficient logical disk space usage
The following visually illustrates RAID Level 0:
RAID 1
A given data block is stored on both the disk drives. When a disk drive fails, the other disk drive comes to the rescue.
Requires at least two physical disks
Does NOT use data striping
Uses data mirroring
Does NOT use parity
Provides data redundancy
Provides decent read/write performance
Only 50% of logical disk space can be used
The following visually illustrates RAID Level 1:
RAID 5
A given data block is striped and a parity block is created & distributed amongst the disk drives. When a disk drive fails, it can be recreated using the remaining disk drives.
Requires at least three physical disks
Uses data striping
Does NOT use data mirroring
Uses distributed parity
Provides excellent data redundancy
Provides excellent read/write performance
The following visually illustrates RAID Level 5:
RAID 10
Thus far we have seen all the RAID Levels use an array of physical disks to form a logical RAID disk. Nothing is preventing a RAID Level from using the logical RAID disks.
RAID 10 is nothing more than a combination of RAID 1 and RAID 0. RAID 10 is also referred to as RAID 1+0.
Requires at least four physical disks
Uses data striping
Uses data mirroring
Does NOT use parity
Provides superior data redundancy
Provides superior read/write performance
The following visually illustrates RAID Level 10 (or 1+0):