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) methods, either by using software, or by separate hardware RAID units.
With RAID, the stored data will be shared/replicated to several separate hard drives, in order to increase data reliability or it can also improve hard drive I/O performance.
Data reliability can be met with RAID because data storage is not only placed on several disks. If any disk is damaged, the data will remain safe, and the damaged hard disk can be replaced immediately without affecting the existence of the data.
Improved hard drive I/O performance can be met because when the hard drive reads/writes it is not done alone, but is done together with other hard drives. In other words, they work together to do the job. 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!
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 1987. But even though they used the term RAID for the first time, the RAID patent is actually owned by Norman Ken Ouchi from IBM, which in 1978 was granted patent number 092732 with the title “System for recovering data stored in failed memory units”.
RAID Standard Levels
Basically, there are 5 standard RAID levels. But along with the development of computer technology, several new levels have emerged. In this article, I will discuss 7 frequently used RAID levels.
RAID 0 (or also known as ) stripe set or striped volume), the data will be stored separately on two or more hard drives, without any information parity to increase speed. Parity data in RAID is used to check hard disk errors & 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. Generally, 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, the I/O speed of the hard drive will increase because the read/write performance is done together. With 3 7200 rpm SATA hard drives, you will have the equivalent performance of 3 x 7200 rpm = 21600 rpm.
With RAID 0, 3 x 1 TB hard drive = 3 TB hard drive!
With RAID 1, the data on the first hard drive will be copied (mirroring) 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 one of the hard drives is damaged, the data will remain safe because it has been copied to the second hard drive. If the damaged hard drive is replaced, RAID 1 will automatically copy/mirorring to the new hard drive.
2 Hard drives that are set up with RAID 1, the total capacity is only like having 1 hard drive. So for example 2 x 1 TB hard drive with RAID 1, then 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 the storage capacity.
RAID 1 is widely used in operating systems (OS) and transactional databases.
RAID 5 uses a block-level striping method with parity data distributed to all hard drives. RAID 5 is quite popular because it is able to provide data redundancy at a low cost.
RAID 5 has only one disk damage tolerance, the same as RAID 1. So, if you use 3 x 1TB hard drives, the storage capacity that can be used is only 2 TB, because the other 1 TB is used for damage tolerance.
RAID 5 has twice as fast read performance, but no increase in write performance. This RAID level is recommended for data storage, file servers, or for server backups.
RAID 6 is actually almost the same as RAID 5, the only difference being the addition of a parity block. If in RAID 5 there is only one disk damage tolerance, in RAID 6 it has 2 disks. With the addition of extra parity blocks, data redundancy is better than RAID 5.
Read/write performance is no different from RAID 5. RAID level 6 is 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, only difference is that the use of RAID levels is reversed.
RAID 10 isn’t 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 a damage tolerance of up to several hard drives).
RAID 10 has a damage tolerance of 1 hard drive per mirror stripe.
RAID 10 is usually widely implemented on databases, web servers & application servers or servers that require high hard drive performance.
RAID 50 (also known as RAID 5+0) is a combination of block-level striping of RAID 0 with parity distribution of RAID 5. RAID 50 requires a minimum of 6 hard drives.
If one of the hard drives of each RAID 5 is damaged, the data will remain 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 damage tolerance of 1 hard drive per sub-array. Like RAID 10, RAID 50 also has read/write performance & high data redundancy (damage tolerance 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 of RAID 0 with parity distribution of RAID 6. RAID 60 requires a minimum of 8 hard drives.
RAID 50 and RAID 60 are not much different, the only difference is the tolerance of the hard disk damage. 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 widely implemented in High Availability solutions, Mission Critical Apps, or servers that require large storage capacity.