RAID 6 is a type of redundant array of independent disks (RAID) that uses double distributed parity to protect against two drive failures. It provides fault tolerance and protects data if up to two drives fail. However, RAID 6 also has some downsides that may make other RAID levels or backup methods a better choice in some cases.
What is RAID 6?
RAID 6 is a RAID configuration that uses block-level striping with double distributed parity. This means the data is distributed across multiple drives, with parity information calculated and written across additional drives.
The parity information allows the array to rebuild data if one or two drives fail. RAID 6 requires a minimum of four drives, with two drives used for parity. The most common RAID 6 setups are:
- 4 data drives + 2 parity drives
- 6 data drives + 2 parity drives
- 8 data drives + 2 parity drives
Because parity information is spread across multiple drives, RAID 6 can withstand the loss of up to two drives without data loss. If a single drive fails, the parity information is used to recalculate the missing data. If a second drive fails, the second set of parity data is available for recovery.
Advantages of RAID 6
RAID 6 offers several benefits:
- Fault tolerance – With two parity drives, RAID 6 can withstand failure of up to two drives without data loss. This makes it more fault tolerant than RAID 5 or other single-parity options.
- Larger capacity – Because parity is distributed, RAID 6 is efficient in terms of storage capacity used compared to the level of redundancy. RAID 6 arrays require only two drives for parity, regardless of array size.
- Rebuilding protection – With two failed drives, RAID 6 can still rebuild data without issues. With RAID 5, a second disk failure during rebuild can cause data loss.
- Read performance – For read-heavy workloads, RAID 6 offers parallelization benefits for reading data across multiple drives.
For these reasons, RAID 6 offers a strong balance of performance, capacity, and redundancy for many applications. The dual parity makes it more robust than RAID 5 and suitable for mission critical data that requires high uptime and fault tolerance.
Disadvantages of RAID 6
However, RAID 6 also has some downsides to consider:
- Low write performance – The parity calculations significantly impact write performance. RAID 6 write speeds are much lower than with a simple striped array.
- Rebuilding takes longer – Rebuilding a failed drive takes longer with RAID 6 than with RAID 5 or RAID 1. With large array sizes, rebuild times can be extremely long.
- Higher cost – Implementing RAID 6 requires a minimum of four drives. The extra cost of drives and a RAID controller can add up, making it less affordable than mirrored or single-parity options.
- Complexity – Managing and monitoring RAID 6 arrays requires more expertise and system overhead compared to simpler RAID levels.
For workloads with heavy write requirements or limited budgets, these downsides may make RAID 6 less practical compared to other options.
When to choose RAID 6
RAID 6 works well in these situations:
- Applications that require high availability and uptime
- Mission critical data that cannot have any downtime or data loss
- Media servers streaming large files like video
- Data archives that rarely change after initial write
- Database servers with mostly read traffic
- High capacity bulk storage with redundancy needs
The fault tolerance of RAID 6 makes it a good choice for preserving critical data. The parity overhead has minimal impact on large sequential reads, making it suitable for streaming media content. For databases and other read-intensive workloads, RAID 6 provides redundancy without sacrificing too much performance.
When to avoid RAID 6
There are some cases where RAID 6 may not be the best option:
- Transactional workloads with small, random writes
- Applications requiring the highest write performance
- Budget-limited systems where cost is a concern
- Small arrays where rebuilding is not a major issue
- Frequently changing data
- Situations where uptime is less critical
The write penalty and rebuild times make RAID 6 a poor choice for transactional databases and other workloads with lots of small writes. In these cases, the parity overhead can cause major performance bottlenecks. For budget systems, the cost of extra drives may be prohibitive.
If uptime is less important, mirroring or simple striping may provide better performance at lower cost. Small arrays are less prone to failures during rebuilds, reducing the benefits of dual parity. And if data changes frequently, RAID 6’s write penalties have an even larger impact.
Alternatives to RAID 6
Depending on your application’s needs, several alternatives can provide redundancy without RAID 6:
RAID 10
RAID 10 mirrors data across pairs of drives while also striping data across drive pairs. This provides fault tolerance from drive failures combined with high performance. However, capacity utilization is only 50% due to mirroring, and rebuilding is slow.
RAID 5
RAID 5 is less redundant than RAID 6, but provides better write performance and requires less drives. It may be a good option for workloads needing moderate redundancy without sacrificing too much speed or capacity.
RAID 50/60
Nested RAID levels that combine striping and mirroring provide an alternative way to improve performance and redundancy. RAID 50 stripes RAID 5 arrays, while RAID 60 stripes mirrored pairs. These can match RAID 6 redundancy with better performance.
Backups
Traditional backups provide an alternative to RAID for protecting against data loss. Backups can be performed on normal single disks or RAID 1 mirrors for simplicity and better performance. Restoring from backups takes more time than RAID rebuilds but may provide a more affordable option.
Erasure coding
More advanced schemes like Reed-Solomon erasure coding provide distributed parity similar to RAID 6. Compared to RAID 6, erasure coding can more efficiently distribute data and parity chunks across a larger pool of disks.
Distributed file systems
Distributed file systems like Ceph replicate and stripe data across multiple nodes. They provide redundancy without traditional RAID and can scale out limitlessly. However, they add complexity and require more nodes than a RAID array.
When to use RAID 6 despite the downsides
While RAID 6 has some disadvantages, it may still be the optimal choice depending on circumstances:
- Budget constraints prevent mirroring multiple copies of data
- Backups and restores cannot meet recovery time objectives
- Faster rebuilding is needed relative to RAID 5
- Application requires redundancy greater than single parity offers
- Extra capacity minimizes impact of using two parity drives
- Read performance needs outweigh write performance concerns
If the application data requires high redundancy, RAID 6 may be the most cost-effective way to achieve that vs. backups or mirroring. The rebuild improvements over RAID 5 also make RAID 6 preferable for large arrays where uptime is critical.
If write performance is less important than reads, as in media streaming, RAID 6 provides a simple way to improve redundancy. And in larger arrays, the storage overhead of dual parity is lower compared to smaller arrays.
How to choose between RAID 6 vs other options
Choosing the right RAID level or alternative involves weighing factors like:
- Redundancy needs – How many disk failures can be tolerated?
- Performance requirements – Small random IOPS or large sequential throughput?
- Cost – What is the storage budget?
- Rebuilding – How long are rebuilds acceptable?
- Capacity – What is the usable capacity requirement?
Here is a comparison of RAID 6 against other options on those criteria:
Storage Type | Redundancy | Performance | Cost | Rebuild Time | Capacity |
---|---|---|---|---|---|
RAID 0 striping | None | Excellent | Low | N/A | 100% |
RAID 1 mirroring | 1 drive failure | Good | High | Fast | 50% |
RAID 5 single parity | 1 drive failure | Good | Moderate | Slow | 67-94% |
RAID 6 double parity | 2 drive failures | Moderate | Moderate | Very slow | 50-88% |
RAID 10 mirror+stripe | 1 drive per mirror | Excellent | High | Fast | 50% |
Backups | Depends on frequency | Good | Low | Slow | 100% |
Based on the performance, capacity, and redundancy requirements of the workload, the best option can be selected.
Tips for using RAID 6
If RAID 6 is the chosen solution, here are some best practices:
- Use at least 6 drives to reduce the storage overhead for parity
- Ensure drives are enterprise-grade for higher reliability
- Use a RAID controller with battery-backed write cache to improve write speeds
- Spread drives across multiple controllers or backplanes if possible
- Scrub arrays periodically to check for consistency and errors
- Monitor drive health and replace failing drives promptly
- Consider hot spares to reduce rebuild times
- Weigh benefits vs. risks of larger drive sizes – capacity vs. longer rebuilds
With proper RAID controller selection, drive configuration, and ongoing maintenance, RAID 6 can provide optimal data protection for applications that need high redundancy.
Conclusion
RAID 6 provides double parity redundancy for critical data, but write penalties and long rebuild times can make it less optimal for some workloads. The decision depends on the performance, capacity, and availability needs of the specific application.
For mission-critical data that requires high fault tolerance and uptime, RAID 6 is often an appropriate choice despite the downsides. But for transactional or budget-limited applications, alternative RAID levels or backup schemes may be preferable.
By weighing capacity, performance, cost, and redundancy considerations, RAID 6 can be implemented strategically for workloads that benefit from its strengths in data protection.