RAID: Balancing Capacity, Performance and Resilience
Summary: RAID (Redundant Array of Independent Disks) is a storage technology that combines multiple physical disks into a single logical storage system. While RAID is often associated with fault tolerance and increased capacity, it also influences read performance, write performance, availability, and operational risk. Understanding RAID requires examining the trade-offs between these competing objectives rather than focusing solely on redundancy.
Context
RAID was developed to overcome the limitations of individual storage devices. A single disk presents several challenges:
- Limited capacity
- Limited performance
- A single point of failure
- Limited scalability
By combining multiple disks, RAID can improve one or more of these characteristics. However, every RAID level represents a compromise. Improvements in one area often come at the expense of another.
A common misconception is that RAID automatically makes storage faster and safer. In reality, different RAID levels are optimized for different goals.
The Five Core RAID Metrics
When evaluating a RAID solution, it is useful to consider five primary metrics:
Capacity Efficiency
How much of the total installed storage is actually usable?
Example:
- Four 1 TB disks provide 4 TB raw capacity.
- RAID 0 provides 4 TB usable capacity.
- RAID 1 provides 2 TB usable capacity.
- RAID 5 provides 3 TB usable capacity.
- RAID 6 provides 2 TB usable capacity.
Capacity is often the easiest metric to understand, but it should never be considered in isolation.
Fault Tolerance
How many disks can fail before data becomes unavailable?
Different RAID levels provide different levels of protection.
For example:
- RAID 0 tolerates no failures.
- RAID 1 can survive failure of one disk per mirror pair.
- RAID 5 can survive one disk failure.
- RAID 6 can survive two disk failures.
- RAID 10 can survive multiple failures under certain conditions.
Fault tolerance improves availability but usually reduces usable capacity.
Read Performance
Read performance is frequently overlooked during RAID discussions.
Many RAID levels provide multiple physical paths from which data can be read.
For example, when data is distributed across multiple disks, separate sections of a file can be read simultaneously.
Benefits include:
- Higher throughput
- Increased parallelism
- Improved handling of concurrent workloads
- Reduced read latency in some scenarios
A useful analogy is:
> A single disk is one person searching one filing cabinet. > > A RAID array can be several people searching several filing cabinets simultaneously.
Write Performance
Write performance is often more complex than read performance.
While additional disks may increase write throughput, some RAID levels introduce overhead.
Examples include:
- Data duplication in RAID 1
- Parity calculations in RAID 5
- Dual parity calculations in RAID 6
As a result, write speeds vary significantly between RAID levels.
Rebuild Behaviour
A rebuild occurs when a failed disk is replaced and lost data must be reconstructed.
Important considerations include:
- Rebuild duration
- System performance during rebuild
- Additional stress on surviving disks
- Probability of a secondary failure
As disk capacities increase, rebuild behaviour becomes increasingly important.
A RAID level that appears attractive during normal operation may become risky during a prolonged rebuild process.
Understanding Read Paths
One of RAID's lesser-known benefits is the ability to increase the number of available read paths.
With a single disk:
- One storage device performs all read operations.
With RAID:
- Multiple disks may participate in reading data.
- Read operations can occur in parallel.
- Separate requests can be serviced simultaneously.
This does not create additional read requests. Instead, it allows the storage subsystem to service more requests concurrently.
This distinction is important:
- RAID increases potential read throughput.
- RAID increases the number of concurrent read operations that can be serviced.
- RAID does not inherently increase application demand.
Common RAID Levels
RAID 0 (Striping)
RAID 0 distributes data across multiple disks.
Advantages:
- Maximum capacity efficiency
- Excellent read performance
- Excellent write performance
Disadvantages:
- No fault tolerance
- Failure of any disk results in total data loss
RAID 0 should only be used where performance is critical and data loss is acceptable or mitigated through other means.
RAID 1 (Mirroring)
RAID 1 stores identical copies of data on multiple disks.
Advantages:
- Excellent redundancy
- Improved read performance
- Simple recovery process
Disadvantages:
- 50% capacity efficiency
- Write performance similar to a single disk
RAID 1 is commonly used for operating system volumes and critical workloads requiring simplicity and reliability.
RAID 5 (Striping with Parity)
RAID 5 distributes data and parity information across all disks.
Advantages:
- Good capacity utilisation
- Good read performance
- Protection against a single disk failure
Disadvantages:
- Parity overhead
- Slower write performance
- Increased rebuild risk on large arrays
RAID 5 was historically popular because it balanced capacity, redundancy, and performance.
RAID 6 (Striping with Dual Parity)
RAID 6 adds a second layer of parity protection.
Advantages:
- Can survive two simultaneous disk failures
- Good read performance
- Better resilience than RAID 5
Disadvantages:
- Additional write overhead
- Reduced usable capacity
- Longer rebuild times
RAID 6 is commonly used where large arrays require additional protection.
RAID 10 (Mirrored Stripes)
RAID 10 combines striping and mirroring.
Advantages:
- Excellent read performance
- Excellent write performance
- Strong fault tolerance
- Fast rebuilds
Disadvantages:
- 50% capacity efficiency
- Higher hardware costs
RAID 10 is often considered the premium choice for high-performance transactional workloads.
RAID Comparison
| RAID Level | Capacity | Fault Tolerance | Read Performance | Write Performance | Rebuild Risk |
|---|---|---|---|---|---|
| RAID 0 | Excellent | None | Excellent | Excellent | Critical |
| RAID 1 | 50% | High | Very Good | Moderate | Low |
| RAID 5 | Good | One Disk | Good | Moderate | Moderate to High |
| RAID 6 | Fair | Two Disks | Good | Moderate to Poor | Moderate |
| RAID 10 | 50% | High | Excellent | Very Good | Low |
Design & Architecture Considerations
When selecting a RAID level, avoid asking:
> Which RAID level is best?
Instead ask:
What Is Most Important?
- Maximum capacity?
- Maximum performance?
- Maximum resilience?
- Lowest cost?
- Fastest recovery?
Every environment has different priorities.
A media archive may prioritise capacity.
A database server may prioritise write performance.
A virtualisation host may require a balance of all factors.
RAID Is Not Backup
One of the most dangerous misconceptions in storage design is believing RAID replaces backup.
RAID protects against hardware failure.
Backup protects against:
- Accidental deletion
- Corruption
- Malware
- Ransomware
- Administrative mistakes
- Site-wide disasters
A RAID array can fail with perfect redundancy if the wrong data is written to every disk.
The Six RAID Questions
Before choosing any RAID level, ask:
- How much usable capacity do I get?
- How many disks can fail?
- How fast are reads?
- How fast are writes?
- How difficult is recovery?
- What is the cost per usable terabyte?
These questions transform RAID selection from a technical preference into an engineering decision.
Conclusion
RAID is fundamentally about trade-offs.
Every RAID level exchanges one characteristic for another:
- Capacity for redundancy
- Redundancy for performance
- Performance for cost
- Cost for resilience
The most successful storage designs are not those with the highest capacity or greatest fault tolerance, but those that balance performance, resilience, operational risk, and cost in a way that best supports the workload being served.
Related Topics
- Storage Architecture
- Backup and Recovery
- High Availability
- SAN vs NAS
- Understanding IOPS
- Storage Performance Fundamentals
References
- RAID Advisory Board (RAB)
- Various RAID Controller Vendor Documentation
- Storage Architecture Best Practices
- Enterprise Storage Design Principles