What is RAID? According to Wikipedia, RAID (which stands for Redundant Array of Independent Disks), is a technology in computer data storage that is used to implement fault tolerance features on computer storage media (mainly hard disks) by using data redundancy (stacking), either by using software, or a separate RAID hardware unit.
With RAID, the stored data will be shared / replicated onto several separate hard drives, in order to increase data reliability or to increase hard disk I/O performance.
Data reliability can be fulfilled with RAID because data storage is not only placed on several disks. If there is a damaged disk, the data will remain safe, and the damaged hard disk can be replaced immediately without affecting the existence of the data.
The increase in hard disk I/O performance can be fulfilled because when the hard drive reads / writes it is not done alone, but done together with other hard drives. The term is they mutually carry out their duties. For example, RAID 0 with 2 hard drives, if the speed per disk is 7200 rpm, then with RAID 0, the speed is doubled, 2 x 7200 rpm = 14400 rpm!
History of RAID
The use of the term RAID was first introduced by David A. Patterson, Garth A. Gibson and Randy Katz from the University of California, Berkeley, United States in 1999 1987. But even though those who use the term RAID for the first time, the RAID patents are actually owned by Norman Ken Ouchi from IBM, which in 1978 obtained patent number 092732 with the title “System for recovering data stored in failed memory unit”.
RAID Standard Levels
Basically, there is a standard RAID level 5. But along with the development of computer technology, several new levels have emerged. In this article, I will discuss the 7 frequently used RAID levels.
RAID 0 (also known as stripe set or striped volume), data will be stored evenly across two or more hard drives, without any information parity to increase speed. Parity data in RAID is used to check hard drive errors and get data redundancy. If there is a damaged hard drive, RAID will automatically reconstruct the data on the new hard drive.
Well, in RAID 0, parity data does not exist, so if there is a damaged hard drive, the data will automatically be damaged. There is no data redundancy / reliability at RAID 0 level. In general, RAID 0 is used to improve read / write only performance, or to increase storage capacity, regardless of data redundancy.
As I mentioned earlier, with RAID 0, hard drive I/O speed will increase as read/write performance is done together. With 3 7200 rpm SATA hard drives, you will have the equivalent of 3 x 7200 rpm = 21600 rpm.
With RAID 0.3 x 1 TB hard drives = 3 TB hard drives!
With RAID 1, the data on the first hard drive will be mirrored exactly the same to the second hard drive. If you are more concerned with read performance & data reliability, rather than storage, then RAID 1 is the right choice.
In RAID 1, if damage occurs on one of the hard drives, the data will remain safe because it has been copied to the second hard drive. If the damaged hard drive gets replaced, RAID 1 will automatically copy / mirror to the new hard drive.
2 Hard drives that are configured with RAID 1, the total capacity is like having 1 hard drive only. So, for example, a 2 x 1 TB hard drive with RAID 1, the storage capacity that can be used is only 1 TB.
The read/write speed in RAID 1 is quite good, although not as high as the performance in RAID 0. The only drawback of RAID 1 is its storage capacity.
RAID 1 is widely used in operating systems (OS) & transactional databases.
RAID 5 uses block-level striping with parity data distributed across all hard drives. RAID 5 is quite popular because it can provide data redundancy at a modest cost.
RAID 5 has only one disk damage tolerance, just like RAID 1. So, if you use a 3 x 1TB hard drive, then the storage capacity that can be used is 2 TB only, because the other 1 TB is used for damage tolerance.
RAID 5 has twice the read performance, but no increase in write performance. RAID level is recommended for data storage, file servers, or server backups.
RAID 6 is actually almost the same as RAID 5, the only difference being the addition of parity blocks. If in RAID 5 disk damage tolerance is only one, in RAID 6 it has 2 disks. With the addition of an extra parity block, data redundancy is better than RAID 5.
Read / write performance is no different from RAID 5. RAID 6 levels are usually recommended for HA (High Availability) solutions, Mission Critical Apps, and servers that require large storage capacity).
RAID 10 is also known as RAID 1 + 0 or RAID 1 & 0, similar to RAID 0 + 1, the only difference is the use of the RAID level is reversed.
RAID 10 is not really a standard RAID level created for drivers Linux MD. RAID 10 requires a minimum of 4 hard drives.
RAID 10 is a combination of RAID 0 (data striping) and RAID 1 (mirroring). Has the highest read / write performance & data redundancy (has damage tolerance of up to multiple hard drives).
RAID 10 has a damage tolerance of 1 hard drive per mirror stripe.
RAID 10 is usually implemented on databases, web servers & application servers or servers that require high hard disk performance.
RAID 50 (also known as RAID 5 + 0) is a combination of block-level striping from RAID 0 with the parity distribution of RAID 5. RAID 50 requires a minimum of 6 hard drives.
If one of the hard drives from each RAID 5 is damaged, the data will still be safe. However, if the damaged hard drive is not replaced immediately, and the hard drive from RAID 5 is damaged again, then all data in RAID 50 will be damaged. Hard disk replacement must be done so that data redundancy is maintained.
RAID 50 has a fault tolerance of 1 hard drive per sub-array. Like RAID 10, RAID 50 also has high read / write performance & data redundancy (has a damage tolerance of up to multiple hard drives).
RAID 50 is usually widely implemented on database servers, application servers, and file storage servers.
RAID 60 (also known as RAID 6 + 0) is a combination of block-level striping from RAID 0 with the parity distribution of RAID 6. RAID 60 requires a minimum of 8 hard drives.
RAID 50 and RAID 60 are not much different, the difference is only in the hard disk damage tolerance. If in RAID 50 the damage tolerance is 1 hard drive per sub-array, while in RAID 60 it is 2 hard drives per sub-array.
RAID 60 is usually implemented on High Availability solutions, Mission Critical Apps, or servers that require large storage capacity.