RAID Levels Explained

Striping is a technique to store data on the disk array. The contigous stream of data is divided into blocks, and blocks are written to multiple disks in a specific pattern. Striping is used with RAID levels 0, 5, 6, and 10.

Block size is selected when the array is created. Typically, blocks are from 32KB to 128KB in size.

Parity: The use of parity bits is a common method of detecting errors in data transmission and storage.

RAID 0 (Stripe set)

Minimum of?2 or more drives

If one or more drive fails the whole array is lost.

Excellent performance (Blocks?are striped)

Good if you want large capacity and don’t mind if you lose it all.

Array Capacity: (Size of Smallest Drive * Number of Drives).

RAID 1 (Mirror)

Minimum of 2 disks

Good performance (no striping. no parity)

Excellent redundancy (as blocks are mirrored)

Mirroring stores two identical copies of data on two hard drives. Should one of the drives fail, all the data can be read from the other drive.

Array Capacity: Size of Smaller Drive.

RAID 5 (Stripe with parity)

Minimum 3 disks.

Good performance (as blocks are striped)

Good redundancy (distributed parity)

RAID5 is a cost effective option providing both performance and redundancy. Use this for databases that are?heavily read oriented. Write operations will be slow.

The capacity of one member drive is used to maintain fault tolerance. E.g. if you have 10 drives 1TB each, the resulting RAID5 capacity would be 9TB

Single-parity RAID 5 takes longer than mirroring as data has to be read from each drive in the set, with rebuild times taking longer the more drives there are.

Array Capacity: (Size of Smallest Drive) * (Number of Drives – 1).

RAID 6 (Stripe with dual parity)

Minimum of 4 disks

Like with RAID 5, read data transactions are very fast.

The capacity of the array is (N-2) times the size of the smallest member disk for the array of N disks

Read speed is (N-2) times faster than in case of a single disk – two disks in the row hold a parity which is useless to read. Such read speed values are roughly the same as in RAID?5

There is no performance increase as to the write speed in RAID?6, because every new write requires a recalculation and update of two different parity blocks

Due to the complexity of dual distributed parity, degradation can be substantial after a failure and during rebuilding. Dual redundancy may allow rebuilding to be delayed to avoid performance hit.

RAID 6’s double parity takes longer than RAID 5 to rebuild, although rebuild times are less of a consideration as two drives can fail without data loss.

Can lose 2 disks are still continue to work

Array Capacity: (Size of Smallest Drive) * (Number of Drives – 2).

RAID 10 (Mirror over stripes)

Minimum 4 disks.

Excellent redundancy (as blocks are mirrored)

Excellent performance (as blocks are striped)

If you can afford it, this is the best option for any mission critical application (especially databases)

Read speed of the N-drive RAID10 array is N times faster than that of a single drive. Each drive can read its block of data independently, same as in RAID0 of N disks

Writes are two times slower than reads, because both copies have to be updated. As far as writes are concerned, RAID10 of N disks is the same as RAID0 of N/2 disks

You can lose up to 2 drives, 1 drive from each mirrored segment in the array. If you lose 2 drives from the same segment, your data is lost.

Rebuild times are fast with RAID 10.

Array Capacity: Total disk space / 2

See more links:

Great table on raid levels – http://eaegis.com/pages/raid-calculator