What is RAID?
Posted by Sugen S. on 23 October 2018 11:09 AM
The Redundant Array of Inexpensive Disks or RAID, is a robust method of storing data efficiently. It uses techniques like striping, mirroring, and parity to utilize multiple hard drives combined into larger volumes.
RAID serves two main purposes, it can be configured to mirror your data, giving you the potential opportunity to survive a catastrophic disk crash (depending on the configurations) and the other purpose is to make data reading and writing faster. Some RAID configurations do both.
Although you can recover data in some instances and some configurations, RAID will not save your data in the event of a catastrophic failure like all of the drives failing. A good backup schedule is essential to protect your data.
Some of the more commonly used RAID configurations are: RAID 0, RAID 1, and RAID 5. There are also configurations that combine two or more RAID levels, such as: RAID 01, RAID 10, and RAID 50. Some RAID configurations exist but are very rarely used, for example: RAID 2, RAID 3, RAID 4, and RAID 03.
There is another type of configuration called JBOD, which stands for Just a Bunch Of Disks. This configuration can use any number of disparate drives and combine them into volumes. This is considered a non-standard RAID configuration and it doesn’t provide data redundancy or recovery.
RAID can be implemented either in software or hardware. If the RAID is software based, it is controlled by your operating system, if its hardware based its controlled by a RAID controller expansion card utilizing one of your motherboards expansion slots. A hardware RAID card can be configured through its own BIOS.
RAID has many configurations depending on your needs and hardware availability. Most of those configurations are based on some form or combination of the first two levels. If you understand RAID level 0 and RAID level 1 you can understand any of the others. So what are RAID 0 and RAID 1?
RAID 0 aka Striping is a way of storing data on a volume. The data is written in stripes across all of the drives in the array. Striping improves read/write speeds, but has no protection against drive failure. In order to have that protection you need to use other techniques like parity and/or mirroring.
Parity is a redundancy mechanism somewhat like a data checksum that is created by the RAID controller. It uses a parity bit that is a calculation representing the total data in a stripe. This bit can be on a separate drive, as is usual for RAID level 5, or striped across the drives in the volume. In the event of one of the drives crashing, the RAID can be rebuilt using the parity data.
RAID 1 aka Mirroring is another way of storing data and is fundamental to RAID’s ability to recover from a drive failure. The volume(s) are mirrored, that is, there is an identical copy of the data on another volume. This method requires twice the amount of hard drives that you would need for a server without RAID, but gives you both redundancy and recoverability. Read speeds are slower due to the data being written to both sides of the mirror simultaneously, but should one of the mirrored volumes fail the RAID can still access the other side of the mirror and data reading/writing isn’t affected.
The most common RAID levels are: RAID 0, RAID 1, RAID 5, and RAID 10 (aka 1+0). Each of them offers different advantages and disadvantages as outlined below.
RAID LEVEL 0 – stripe
RAID LEVEL 1 – mirror
RAID LEVEL 5 – striping with parity
RAID LEVEL 10 – striped and mirrored volumes with parity
RAID 1+0 (often referred to as RAID 10) is a combination of RAID 1 and RAID 0 meaning that it will be able to provide both a read/write performance increase and data recoverability. A RAID 10 requires at least four identical drives. The drives are separated into pairs (in the case of 4 drives) to create two separate RAID 1 (mirrored) arrays, the two arrays are then combined with RAID 0 (striped) to create a single volume.