RAID is a storage technology that combines multiple disk drives components into a logical unit.
Data is distributed across the drives in one of several ways called "RAID levels", depending on what level of redundancy and performance is required.
RAID Levels:
RAID 0:
block-level striping without parity or mirroring, has no (or zero) redundancy. It provides improved performance and additional storage but no fault tolerance. Any drive failure destroys the array, and the likelihood of failure increases with more drives in the array (at a minimum, catastrophic data loss is almost twice as likely compared to single drives without RAID). A single drive failure destroys the entire array because when data is written to a RAID 0 volume, the data is broken into fragments called blocks. The number of blocks is dictated by the stripe size, which is a configuration parameter of the array. The blocks are written to their respective drives simultaneously on the same sector. This allows smaller sections of the entire chunk of data to be read off the drive in parallel, increasing bandwidth.
RAID0 Advantages:
- High performance (speed rate) of writing on the disks.
- Additional disk space by combining more than one disk together.
Flaws:
- Cannot specify the actual place for one file (split in multiple disks).
- A single drive failure destroys the entire array.
Figure 1: Raid 0
RAID 1:
mirroring without parity or striping, data is written identically to multiple drives, thereby producing a "mirrored set"; at least 2 drives are required to constitute such an array. While more constituent drives may be employed, many implementations deal with a maximum of only 2. The array continues to operate as long as at least one drive is functioning. With appropriate operating system support, there can be increased read performance, and only a minimal write performance reduction; implementing RAID 1 with a separate controller for each drive in order to perform simultaneous reads (and writes) is sometimes called multiplexing (or duplexing when there are only 2 drives).
RAID1 Advantages:
- An entire data backed up (including the OS itself).
- A possibility to rebuild the array if one drive fail, simply by replacing it with another while the system operates.
Flaws:
- Slowness in writing process.
- A waste of entire drive (or more).
Figure 2: RAID 1
RAID 5:
(block-level striping with distributed parity) distributes parity along with the data and requires all drives but one to be present to operate; the array is not destroyed by a single drive failure. Upon drive failure, any subsequent reads can be calculated from the distributed parity such that the drive failure is masked from the end user. However, a single drive failure results in reduced performance of the entire array until the failed drive has been replaced and the associated data rebuilt.
RAID5 Advantages:
- A possibility to rebuild the array by replacing the fail drive (but you have to wait until the rebuilding process completes before you start the system).
- Reduce the amount of wasted drives to just one.
- Faster than Raid 1 in writing on the disk.
Flaws:
- Waste time in rebuilding process.
- Waste one drive all the time.
Figure 3: RAID 5
RAID 10:
It's a combine between RAID1 & RAID0. First you establish a RAID1 level on 2 drives and another RAID1 on other 2 drives too, then you make RAID0 between the 2 logical volumes you had. It always requires at least 4 drives to function.
RAID10 Advantages:
- The possibility of data recovering.
- Can be rebuild if one drive fails, (or two from different RAID1 array).
- The possibility to convert to simple RAID0 level anytime.
Flaws:
- Waste of 2 drives (or more).
- Slowness while writing on disks.
