Storage solutions are now heavily loaded with RAID configurations. But do you know this technology? Is it difficult to find an effective and suitable RAID type for your IT infrastructure among different RAID systems? Often too specific or covering only RAID 0, RAID 1, RAID 5 and RAID 10 or RAID 0+1 may put you in a more difficult situation. So today we are going to see the right information and theoretical steps that will help you to choose a proper RAID system according to the requirements.
RAID – 0
RAID 0 configuration is established with a minimum of 2 hard drives. It uses multiple disks so that a good performance is obtained in Read / Write. However, there is no replication of data (technically – no Parity distribution). And it also doesn’t offer fault-tolerance so it should therefore not be considered in case of storage of sensitive information.
A simple design structure makes it easy to implement. The implementation contains a striped disk array and the data is fragmented into a block where each block is written to a distinct disk drive. I/O load spreads across the various channels when the data striped through different controllers with only single drive per controller. As no parity distribution available means there is no overhead involved.
- RAID 0 isn’t considered as true RAID system due to the non-presence of fault-tolerance ability.
- Failure of even a single drive may result in data loss in an array. Hence, RAID 0 configuration isn’t recommended for mission critical environments.
- Editing of images and videos
- Applications that demands high bandwidth
For example, you will notice the speed difference if you are playing games, but if you are just working on a word document or working on excel spreadsheets, you will not notice any difference.
RAID – 1
RAID 1 is constituted of 2 hard drives. It consist a copy of disk on the other. The final capacity is only 50% of the total installed capacity of the disks. However, we get fault-tolerance ability to the failure of a hard drive. To achieve the high level of performance, here, RAID controller must be able to execute two parallel, but separate Read per mirrored pair or two identical Write per mirrored pair.
With each mirrored pair, one Write or two Read is possible that results the transaction rate of Read and Write of single disk twice with 100% data redundancy. Hence, no need of rebuilding in the event of disk failure, just a copy to replacement disk is enough. The rate of transfer per block is equivalent to that of a single disk. The RAID 1 can tolerate multiple simultaneous drive failures. It is also the simplest RAID storage subsystem design.
Though RAID 1 eliminates downtime risk due to disk failure, but it has the highest disk overhead in all RAID types. Usually, the RAID function is completed by system software, loading the CPU/Server and possibly depreciating data at high activity levels. Therefore, implementation of Hardware is strongly recommended for this type of RAID. Note: RAID 1 may not be supportive to a hot swap of failed disk when implemented in Software.
RAID 1 setup is ideal for any mission critical application that requires high-level of availability.
RAID – 2
Here, data isn’t stripped at block level but at a bit levels and spreads over redundant disk drive. EACH data word has its Hamming Code i.e. Error Correcting Code (in short ECC) word noted on ECC disks. And when the ECC disks are Read, the ECC code verifies correct data or amends single disk errors.
- Data error rectification – mostly on the fly
- Exceptionally high data transfer rates are promising
- The better ratio of data disks to ECC disks is achieved when the data transfer rate required is higher
- As compared to RAID 3, 4 and 5 levels RAID 2 has simple controller design
- Quite inefficient when there is a very high ratio of ECC disks to data disk with smaller word sizes
- Higher level cost – needs very high transfer rate requirement to justify
- Equal transaction rate to that of a single disk with spindle synchronization
- Not a practical option for commercial implementations
RAID – 3
RAID 3 requires a matrix of at least three disks. N1 disks contain data (like RAID 0) and last drive stores parity. Indeed, if a data disk fails, it is possible to rebuild information with the parity disk and if it fails, the system becomes a RAID 0. It is important that the parity disk is of a good quality because it is at all times requested in writing.
- Read and Write data transfer rate is very high
- Disk failure has a minor impact on data
- High competence due to the small ratio of ECC (Parity) disks to data disks
- Complicated design of Controller
- Not recommended for Software RAID configuration due to its resource hogging nature.
- If the parity disk fails, you end up in RAID 0
Suitable for an application that requires high throughput.
RAID – 4
At least 3 drives are essential to implement this type. In addition, RAID 4 is substantially similar to RAID 3 except at the point where it works at a block level and not bytes level, which no longer requires synchronization between the disks.
- Read data transaction rate is very high
- Higher competence rate due to the small ratio of ECC (Parity) disks to data disks
- Comprehensive Read transfer rate inclines towards higher side
- Complicated design of controller
- Write transaction rate is a bit poor
- In case of the disk failure, data rebuilding is quite hard task
- Inefficient Block Read transfer rate, which is equal to that of single disk
RAID – 5
This system absolutely requires a minimum of three hard drives. They must generally be the same, but a lot of modern RAID cards allow different sized disks as well. This system combines safety with parity and good availability through the distribution of parity. It allows good availability even in case of failure of a storage device. There is a variant – RAID 5 Orthogonal where each disk has its controller. Though, all other functionality is same.
At least 3 drives are required for the implementation for this RAID type. Here, entire data block is written on a data disk and the parity for blocks similarly created on Writes, recorded in a distributed form and checked on Reads.
- The control disk is distributed among all drives, eliminating the bottleneck of RAID 4
- If the disks are compatible to “Hot-Plug”, this mode allows the exchange of heat disks.
- It improves the speed in reading and writing.
- This mode corresponds to the stripe with parity under NT4 Server.
- Intermediate effect on throughput in the event of disk failure
- Complicated controller design
- In case of disk failure it is a bit difficult to rebuild information
- Data transfer rate of single block is as similar to that of a single disk
This is the most versatile RAID level, hence, majorly used in mission critical environments such as file and application servers, database servers, Intranet servers, Email servers, etc…
RAID – 6
RAID 6 is constituted of a minimum of 4 hard drives. This is an evolution of RAID 5, which is characterized by a distribution of dual parity. The enhanced level of security is achieved by using two parities instead of one. If the security is larger, the cost is higher as well (two devices instead of one) and the speed is low (two write).
RAID 6 provides simultaneous disk Read / Write performance and fault-tolerance of 2 hard drives. The useful capacity is equal to the total capacity of two drives. The more disks installed, the lower the loss of useful capacity will be.
Dual parity structure gives an additional level fault-tolerance than RAID 5. In RAID 6 data is striped on a block level across a set of drives as similar to RAID 5. The second set of parity is calculated and written across all the drives. As RAID 6 has higher degree of data fault-tolerance, hence, it can sustain multiple concurrent disk failures, highly recommended solution for mission critical applications.
- Complicated controller design plus overhead to compute parity addresses
- Combination of RAID 5 and custom ASIC can bring better Write performance
- Dual Parity scheme demands N+2 drives for the implementation
As it’s an extension of RAID 5, hence, it’s equally recommended for the same type of mission critical environments.
RAID – 10
RAID 10 is constituted of a minimum of 4 hard drives. It has the advantages of both RAID 0 and RAID 1. RAID 10 increase securities by writing the same data on two disks i.e. mirroring, which increases the Read / Write data between two or more mirrored drive: virtual striping. Two clusters are required, each of which contains at least 2 elements.
This system is a combination of the aggregate and the mirror. By simplifying the system, it behaves as RAID 1, 2, RAID 0 volumes [[1_RAID 0] <<<>>> RAID 1 [2_RAID 0]]. This system is safer and more effective than RAID 5, because it allows the loss of two disks on same volume in RAID 0, but its disk space cost is more important.
- It is implemented as a striped array whose subdivisions are RAID 1 arrays
- Fault tolerance is similar to RAID level 1
- Same level overhead for fault-tolerance as mirroring alone
- High I/O rates are accomplished by striping RAID 1 segments
- High sustainability means RAID 10 array can tolerate several concurrent drive failures
- A good alternative to RAID 1 if additional performance boost is required
- Expensive solution plus high overhead
- All drives need to move in parallel form to track dropping sustained performance
- Inadequate scalability at very high inherent cost
Database servers requiring high performance and fault tolerance.
RAID 0+1 is constituted of a minimum of 4 hard drives. This system is the cascade of RAID 0 and RAID 1. Implemented as a mirrored array whose segments are RAID 0 arrays i.e. each two groups in RAID 0 fit together in RAID 1. For example, if a drive fails in one of the group of RAID 1, the other works in RAID 0 only. We therefore need a minimum of 4 disks (a group, this contains at least 2 disks). Hard drives must have identical sizes.
- The same fault-tolerance level as RAID 5 offers
- The same overhead for fault-tolerance as mirroring alone
- Multiple stripe segments allows to achieve higher level I/O
- A perfect solution for website that demands high-performance but not concerned with achieving maximum reliability
- Many get confused between RAID 0+ and RAID 10. Here a single drive failure will cause the entire array to become RAID 0 level array in essence.
- Costly solution plus high overhead
- All drives need to move in a parallel form to track dropping constant performance
- Very limited scalability at a very high inherent cost
Generally, very useful in applications that offer image editing and practical choice for file servers.
RAID 50 is constituted of a minimum of 6 hard drives. It details the advantages of RAID 10. RAID 50 increases safety by writing the same data on a minimum of two volumes in RAID 5. It is cascade of a RAID 5 and RAID 0. Here, it takes two disks in a group to make the soul.
- More fault-tolerant that RAID 5, though parity overhead is twice
- Due to the RAID 5 segments high data transfer rate is possible
- Due to the RAID 0 striping high I/O rate for small request are achievable
- Practical solution for the website that needs RAID 5 functionality with additional level of performance boost
- Expensive solution to implement
- Limited choice of drives as all disk spindles must be synchronize
- In the event of two drive failure in one of the RAID 5 segments make the entire array unusable
Image Credit: Wikipedia