What is RAID 6 best for?

RAID 6 is a data storage technology that combines multiple disks into one logical unit for redundancy and performance.

According to the Storage Networking Industry Association (SNIA), the definition of RAID 6 is: “Any form of RAID that can continue to execute read and write requests to all of a RAID array’s virtual disks in the presence of any two concurrent disk failures.”

RAID 6 provides fault tolerance by striping data and parity information across all disks in the array. This allows the array to continue functioning even if multiple disk failures occur. The key advantage of RAID 6 over other RAID levels is that it can sustain two disk failures without losing data. This makes it ideal for large storage systems that require high availability.

Some key pros of RAID 6 include:

  • Fault tolerance against two disk failures
  • Increased I/O performance compared to RAID 5
  • Capacity efficiency as only requires two disks for parity

How RAID 6 Works

RAID 6 uses a method called striping, which divides data across the set of hard disks or SSDs in the array. The data is split into blocks called stripes that get distributed across the drives (TechTarget).

In addition to striping, RAID 6 utilizes parity for redundancy. Parity is calculated data that can be used to reconstruct data in case of drive failure. Unlike RAID 5 which uses a single parity stripe, RAID 6 uses dual parity stripes, meaning there are two separate sets of parity data (PITS Data Recovery).

The two parity stripes are distributed across the array, ensuring that if one drive fails, the parity information to rebuild the lost data is still available on another drive. This dual parity provides an extra layer of fault tolerance compared to a single parity scheme.

RAID 6 requires a minimum of 4 drives to implement dual parity. If a single drive fails, the system can recalculate the data using the distributed parity stripe. If a second drive fails before the first failed drive is replaced, the system can still operate using the second parity stripe.

Pros of RAID 6

One of the biggest pros of RAID 6 is the high fault tolerance it provides (Source). RAID 6 can survive up to two drive failures without losing data, making it a highly resilient and reliable option for critical data storage. This is because RAID 6 uses dual parity, storing parity information across two drives (Source). If one drive fails, the array can rebuild the lost data using the parity drive. And if a second drive fails before rebuilding is complete, the second parity drive can be used to recover the lost data. This provides excellent protection against multiple drive failures.

In addition to tolerating two failed drives, RAID 6 also provides strong overall data protection and integrity (Source). The dual parity allows for the detection and correction of errors, ensuring stored data remains intact and consistent. This makes RAID 6 well-suited for mission-critical applications that demand high availability and data resilience over time.

Cons of RAID 6

RAID 6 comes with some disadvantages that are worth considering before implementation. The most notable downside of RAID 6 is that write speeds are slower compared to RAID 5 due to the dual parity calculation. Each write requires the parity data to be calculated and written twice, which adds substantial overhead. This can result in write performance that is 20-30% slower than RAID 5 (Source: https://www.techtarget.com/searchstorage/definition/RAID-6-redundant-array-of-independent-disks).

Additionally, rebuild times for a failed drive can be very lengthy with RAID 6. Since the array can tolerate up to two drive failures, the rebuild involves recalculating both parities across all drives. For large drive capacities or a significant number of drives, this can mean rebuild times of many hours or even days. This exposes the array to risk of a second drive failure during rebuild (Source: https://www.ionos.com/digitalguide/server/security/raid-6/).

Use Cases

RAID 6 is often used for large storage arrays where data integrity is critical. The dual parity provided by RAID 6 makes it well-suited for mission critical data that requires high uptime and cannot afford data loss. According to the article RAID 6 vs. RAID 10, RAID 6 is commonly used in enterprise settings for databases, email servers, and other business applications where downtime is unacceptable. The redundant parity allows the array to continue operating even if multiple drives fail.

Compared to RAID 5, RAID 6 offers better protection for large drive capacities where the risk of unrecoverable read errors is higher. The extra parity drive can reconstruct data if up to two drives fail, whereas RAID 5 can only handle a single drive failure. For mission critical data with little tolerance for disruption, RAID 6 provides an ideal balance of storage efficiency, performance, and fault tolerance.

Performance

RAID 6 offers comparable read speeds to RAID 5, but write speeds are slower due to the double parity calculation. With RAID 6, every write requires recalculating parity data across all disks twice, which adds extra processing overhead compared to RAID 5’s single parity calculation. This means RAID 6 configurations experience slower write performance as the array size increases.1

Specifically, RAID 6 write speeds tend to be around 25% slower than RAID 5 with the same number of disks. Some benchmarks show this write speed penalty increasing to 50% slower or more as the array size goes beyond 12 disks.2 The reduction in write performance needs to be weighed against the benefits of dual parity for critical data.

While RAID 6 writes are slower, read speeds are comparable to RAID 5. Both offer linear read scaling as disks are added to the array. RAID 6 does not calculate dual parity on reads like it does for writes. Overall, RAID 6 offers excellent read speed and acceptable write speed for large arrays requiring dual disk fault tolerance.

Alternatives

While RAID 6 provides a good balance of performance and redundancy for many use cases, there are some alternatives worth considering:

For performance-critical applications like databases, RAID 10 is commonly used instead of RAID 6. RAID 10 provides faster read and write speeds by striping and mirroring drives. However, it requires more disks to achieve the same usable capacity as RAID 6.

For large storage arrays with many disks, RAID 60 can be used to provide even more redundancy than RAID 6. RAID 60 combines RAID 6 sets in a nested RAID 0 configuration. While more complex, it allows for two disk failures in each RAID 6 set without losing data.

In scenarios where performance is critical and the array size is more modest, RAID 10 is typically preferable to RAID 6. For massive storage arrays, RAID 60 provides stronger redundancy at the cost of greater complexity.

Implementation

RAID 6 can be implemented in software or hardware. Software RAID 6 relies on the operating system and drivers to manage the array. This allows it to work across different hardware but requires CPU resources. Hardware RAID 6 uses a dedicated RAID controller card to manage the array, offloading the work from the CPU. However, hardware RAID 6 is dependent on the RAID controller and is less flexible if you need to move the drives to another system.[1]

Software RAID 6 is supported across Linux, Windows, FreeBSD and other operating systems. Most OSes include drivers to set up and manage software RAID. Hardware RAID 6 requires a compatible RAID controller card and drivers for your OS. While hardware RAID 6 works on both Windows and Linux, controller compatibility varies so you need to ensure your selected card supports your OS.[2] Overall, software RAID 6 offers wider compatibility but hardware RAID 6 can provide better performance if properly implemented.

Cost

RAID 6 is generally more expensive to implement than RAID 5. This is because RAID 6 requires a minimum of 4 drives, while RAID 5 can be implemented with just 3 drives. The additional drive required for the dual parity in RAID 6 increases the overall storage cost.

Each additional drive added to a RAID array increases the total cost. Since RAID 6 needs at least one more drive than RAID 5, the overall storage cost is higher. With drive prices being a significant portion of a storage array budget, this cost difference can be substantial.

For example, a 4 drive RAID 5 array may cost $400 for the drives. A minimum 5 drive RAID 6 array with similar drives may cost $500. This represents a 25% increase in storage costs for the RAID 6 implementation.

In addition to the base cost of the extra drive(s), the size of the drives matters. Larger capacity drives generally have a higher price per gigabyte. This further increases the cost gap between RAID 5 and RAID 6 configurations using larger drives.

The increased cost of RAID 6 versus RAID 5 needs to be weighed against the benefits of the additional redundancy and protection provided by the dual parity stripes. For applications requiring high availability and fault tolerance, the extra cost may be easily justified.

Conclusion

In conclusion, RAID 6 offers strong fault tolerance and reliability for situations where maximum uptime and data protection are critical. The dual parity provided by RAID 6 means the array can survive up to two concurrent drive failures without data loss. This makes RAID 6 well-suited for mission-critical applications, large-scale storage environments, and scenarios where rebuild times need to be minimized.

The trade-off is somewhat slower write performance compared to RAID 10 or RAID 5. However, read speeds remain fast. RAID 6 is preferable over RAID 5 when using large capacity drives, as the risk of rebuild failure is higher. Overall, the excellent fault tolerance makes RAID 6 a popular choice for large storage systems where downtime cannot be tolerated.

Alternative options like RAID 10 provide faster performance but less storage efficiency. RAID 5 offers single parity and lower overhead than RAID 6, but lacks the same level of reliability. For critical data that requires both high availability and efficient storage, RAID 6 is an optimal balance. The dual parity provides excellent protection without the 4x storage overhead of full mirroring.