There are several levels of RAID (Redundant Array of Independent Disks) which offer different ways to combine multiple hard drives together for increased performance, capacity, and/or reliability. The most common RAID levels are 0, 1, 5, 6, 10, 50, and 60.
What is RAID?
RAID is a technology that allows combining multiple physical hard disk drives into one or more logical units to protect data. The different configurations, or levels, provide various balances of the key goals: increase data reliability and integrity, increase I/O performance, and increase storage capacity. Some key concepts in understanding RAID include:
- Striping – Splitting data evenly across multiple disks without parity or redundancy.
- Mirroring – Creating an exact copy from one drive to another.
- Parity – Error checking information calculated across drives.
- Span – Combining areas of multiple drives into a single logical unit.
- Stripe Set – A group of striped data blocks across multiple drives.
The RAID level used determines how these methods are combined. Each level offers varying advantages and tradeoffs in utilization, performance, data protection, and cost.
RAID 0
RAID 0 (also called stripe set or striping) splits data evenly across two or more disks with no parity or redundancy. RAID 0 provides improved performance through parallelism by spreading the load across drives, but does not provide fault tolerance. If any one drive fails, all data in the array is lost.
RAID 0’s advantages are:
- Improved I/O performance – Increased bandwidth since data is written across multiple disks.
- Increased storage capacity – The total capacity equals the capacity of all included disks added together.
While RAID 0 improves performance, it does not provide the fault tolerance of other RAID levels and also increases the risk of data loss compared to a single disk. If one drive fails, all data across the array is lost.
RAID 1
RAID 1 (also known as disk mirroring) creates an exact copy (or mirror) of a set of data on two or more disks. This provides redundancy and fault tolerance since if one drive fails, the data is still available from the mirror on the other drive(s). Write performance is decreased due to every write requiring multiple reads to update each mirror.
RAID 1 benefits include:
- Very high read performance – Reads can be performed in parallel across mirrors.
- Fault tolerance – Data remains available if one drive fails.
The tradeoff is that only half the total storage capacity is usable with a two disk array since the capacity is duplicated. RAID 1 is relatively simple to implement but is best used when read performance or reliability is more important than total storage capacity.
RAID 5
RAID 5 stripes data and parity information across a set of three or more disks. If one disk fails, the parity blocks from the remaining drives can rebuild the missing data. RAID 5 requires at least three disks total.
RAID 5 advantages are:
- Increased storage capacity – Only one disk worth of capacity is used for parity, the rest for data.
- High read performance – Data is split across multiple disks that can operate in parallel.
- Fault tolerance – Parity allows data to be recreated if a disk fails.
A disadvantage is lower write performance than other levels since parity information needs to be updated each write. Because of this, RAID 5 works better for reads than writes.
RAID 6
RAID 6 is similar to RAID 5 in that data and parity is striped across disks. However, RAID 6 uses an additional parity block called the Q parity (or second parity block). This allows the array to withstand the loss of two drives. At least four disks are needed for RAID 6.
RAID 6 provides the same distributed parity fault tolerance as RAID 5, plus:
- Double fault tolerance – Can sustain loss of two drives.
This added redundancy comes at a cost of reduced storage capacity and write performance due to the additional parity calculations. RAID 6 is best suited for large arrays focused on data reliability over performance.
RAID 10
RAID 10 combines mirroring and striping for both performance and fault tolerance. It creates a striped set from a series of mirrored drives. At least four disks are needed in total.
The advantages of RAID 10 include:
- High read and write performance – Mirroring and striping together enable fast parallel reads/writes.
- Fault tolerance – Data remains intact as long as one disk in each mirror survives.
RAID 10 provides performance and redundancy but at a relatively high cost. The storage capacity is equal to the capacity of the smallest disk times the number of disks, divided by two. RAID 10 is best for mission critical systems that require high performance and availability.
Nested RAID Levels
Nested or hybrid RAID levels combine two or more RAID configurations for increased performance and/or redundancy. For example:
- RAID 10 is nested RAID 1+0 – Striped set of mirrors.
- RAID 50 is nested RAID 5+0 – Striped set of RAID 5 groups.
- RAID 60 is nested RAID 6+0 – Striped set of RAID 6 groups.
These nested RAID levels provide combined benefits of their component levels. RAID 50 provides the capacity of RAID 5 with the increased throughput of RAID 0 striping. RAID 60 adds the double parity fault tolerance of RAID 6 for critical data protection.
Comparison of RAID Levels
RAID Level | Minimum Drives | Fault Tolerance | Capacity Efficiency | Read Performance | Write Performance |
---|---|---|---|---|---|
RAID 0 | 2 | No | 100% | High | High |
RAID 1 | 2 | Yes | 50% | High | Low |
RAID 5 | 3 | Yes | 67% – 94% | High | Low |
RAID 6 | 4 | Yes | 50% – 88% | High | Low |
RAID 10 | 4 | Yes | 50% | High | High |
This comparison shows the tradeoffs of each solution in terms of performance, capacity, and fault tolerance. When selecting a RAID level, factors like required redundancy, read/write patterns, cost limitations, and I/O performance targets need to be considered.
Choosing the Right RAID Level
Here are some best practices and scenarios for selecting the appropriate RAID level for a given situation:
- RAID 0 – Use when high performance is critical and fault tolerance is less important. Common in gaming PCs and video production where speed matters most.
- RAID 1 – Use when data redundancy and fault tolerance are critical. Common in servers where uptime and reliability are top priorities.
- RAID 5 – Use for a balance of capacity, performance and fault tolerance. Popular general purpose option for storage and NAS devices.
- RAID 6 – Use when additional redundancy is needed for large arrays and critical data. Common in high-end servers and enterprise storage.
- RAID 10 – Use when both high performance and full redundancy are required. Ideal for mission critical applications that demand speed and maximum uptime.
The RAID level that is best aligns with the specific requirements of the environment and applications it will support. Factors like performance, capacity, and availability targets help determine what level fits appropriately.
Conclusion
There are several standard RAID levels to choose from that provide different combinations of performance, capacity, and fault tolerance. Lower RAID levels offer performance benefits but little or no redundancy. Higher RAID levels provide various forms of redundancy and fault tolerance but require more disks. Nested RAID levels combine aspects of multiple RAID configurations for combined advantages.
When selecting a RAID solution, key criteria include required capacity, demand for high availability, I/O performance needs, and budget constraints. Understanding the strengths and tradeoffs of each option allows matching the proper RAID level to meet the needs of a given environment or application.