RAID, which stands for Redundant Array of Independent Disks, is a data storage technology that uses multiple hard disk drives to provide fault tolerance and improve performance. The different levels of RAID provide different combinations of increased data reliability and input/output performance.
RAID 6 is a type of RAID that uses two parity drives to provide fault tolerance against up to two drive failures without any loss of data. This makes RAID 6 one of the most reliable RAID configurations available.
The key defining feature of RAID 6 is the use of double parity – requiring a minimum of 4 drives to implement (2 for data, 2 for parity). The double parity provides the ability to recover data if up to 2 drives fail.
What is Parity?
Parity refers to a calculated value used to reconstruct data in case of a drive failure. Parity allows data to be recovered by calculating the missing data from the remaining data blocks and parity information.
For example, if you have 3 data drives (Drive 1, Drive 2, Drive 3) and 1 parity drive (Parity 1), you can calculate the data for any single failed drive using the data on the remaining drives and the parity drive.
Parity calculation uses the XOR (exclusive OR) operation. By XOR’ing data blocks from each drive, the result is the parity value. If any single drive fails, the data can be recreated by XOR’ing the remaining data blocks and the parity block.
This ability to reconstruct data from parity is what provides the fault tolerance in RAID 6 and other RAID levels. The more parity drives available, the more drive failures can be tolerated without data loss.
How Many Parity Drives Does RAID 6 Use?
RAID 6 uses two dedicated parity drives to provide fault tolerance against up to two simultaneous drive failures. This means a minimum RAID 6 setup requires a total of 4 drives:
– 2 data drives
– 2 parity drives
The two parity drives (Parity 1 and Parity 2) allow any two failed drives to be recreated using XOR calculations with the remaining data and parity drives.
For example, in a 4 drive RAID 6 array:
– If Drive 1 and Drive 2 fail, the data can be recreated using Parity 1, Parity 2, and the remaining Drive 3.
– If Drive 2 and Drive 3 fail, the data can be recreated using Parity 1, Parity 2, and the remaining Drive 1.
– If Drive 1 and Drive 3 fail, the data can be recreated using Parity 1, Parity 2, and the remaining Drive 2.
And so on for any two simultaneous drive failures. The dual parity provides full data redundancy and protection.
Why Use Dual Parity?
RAID 6 uses dual parity for several key reasons:
Enhanced Redundancy
With single parity (e.g. RAID 5), the array can only tolerate a single drive failure. RAID 6 provides much stronger protection by allowing recovery from up to two failed drives.
Eliminates Write Hole Issue
RAID 5 can suffer from a “write hole” issue where a second drive failure during a rebuild can corrupt data. RAID 6 eliminates this problem by providing a second parity drive.
Larger Capacity Arrays
By providing redundancy with less overhead compared to mirroring (RAID 1), RAID 6 can efficiently support larger drive counts and capacities.
Performance
With appropriate controller support, RAID 6 provides increased bandwidth compared to RAID 5 for certain workloads by distributing parity calculations across drives.
Drives | Data Drives | Parity Drives |
---|---|---|
Minimum 4 Drives | 2 | 2 |
5 Drives | 3 | 2 |
6 Drives | 4 | 2 |
Minimum Drive Requirements
As mentioned previously, the minimum number of drives required for RAID 6 is 4 – consisting of 2 data drives and 2 parity drives.
This provides the redundant parity needed to allow recovery from up to 2 failed drives.
With a 4 drive minimum RAID 6 setup, the total usable capacity would be equal to the capacity of the 2 data drives. The 2 parity drives do not contribute to usable capacity.
Some examples:
– 4 x 2TB drives = 4TB total capacity (2 x 2TB data capacity)
– 4 x 4TB drives = 8TB total capacity (2 x 4TB data capacity)
– 4 x 8TB drives = 16TB total capacity (2 x 8TB data capacity)
While 4 drives is the required minimum, RAID 6 can scale upwards by adding additional data/parity drive pairs.
Drive Counts Greater than 4
Once the initial 4 drive minimum is met, additional drives can be added to a RAID 6 array in pairs – 1 data drive and 1 parity drive.
This keeps the 2:1 ratio of data drives to parity drives needed to maintain dual parity and two drive fault tolerance.
Some examples:
– 6 drives = 4 data drives, 2 parity drives
– 8 drives = 6 data drives, 2 parity drives
– 10 drives = 8 data drives, 2 parity drives
And so on. The parity drive count stays fixed at 2, while data drives are added in pairs matching the additional parity drive.
This allows for both increased data capacity and performance scaling by using a larger number of drives.
The total usable capacity scales up linearly as more data drives are added, while the array can still tolerate up to 2 drive failures.
Uneven Drive Counts
While not as common, RAID 6 can also support uneven drive counts that don’t increase by pairs. For example:
– 5 drive RAID 6 = 3 data drives, 2 parity drives
– 7 drive RAID 6 = 5 data drives, 2 parity drives
This will provide more usable capacity than the prior even pair counts, at the tradeoff of asymmetric performance that may favor writes over reads (or vice versa) depending on the implementation.
Drive Format
RAID 6 does not require any specific drive format or size. Consumer RAID controllers generally support standard SATA or SAS hard drives and SSDs.
Enterprise RAID 6 implementations may additionally support more advanced drive types like FC, NVMe, etc.
RAID 6 can be implemented using:
– All HDDs
– All SSDs
– A mix of HDDs and SSDs
HDDs provide large, affordable storage while SSDs offer faster performance. Combining HDDs and SSDs can optimize for cost and speed.
Typically, the parity drives will be provisioned from the fastest drives available to improve rebuild times. But the data/parity distribution can be customized as needed.
Performance Considerations
Compared to RAID 5 and RAID 1, RAID 6 can provide improved performance in certain workloads by distributing the parity calculations across drives.
However, the dual parity does introduce additional overhead that can impact performance:
Reads
For read operations, RAID 6 performance is similar to RAID 5. Reads only need to fetch data from the data drives. The parity drives do not come into play for reads.
Writes
Writes require both data and parity drives to be updated, so RAID 6 writes will have more overhead than RAID 5. However, performance is still better than mirroring (RAID 1).
Proper RAID 6 controller support can distribute the parity calculation workload to optimize write performance across multiple drives.
Rebuilds
In the event of a drive failure, rebuilding a drive in RAID 6 takes longer than RAID 5 since there are more parity calculations involved. Rebuild times are also impacted by the drive speeds used.
To optimize rebuild times, the parity drives should be provisioned from faster SSD storage if possible.
RAID 6 Use Cases
Thanks to its combination of enhanced redundancy and improved performance, RAID 6 can serve many storage use cases:
File Storage
The redundant parity makes RAID 6 well-suited for shared file storage and NAS where uptime and data protection are critical.
Application Servers
RAID 6 provides robust protection for mission critical application servers that require high availability. Database servers in particular benefit from RAID 6.
Media Production
For media production environments where large video files and assets are stored, RAID 6 offers ample capacity while protecting against data loss.
Backups
RAID 6 provides an excellent platform for backups thanks to its fault tolerance. Critical backup repositories benefit greatly from the dual redundancy.
RAID 6 Implementations
RAID 6 can be implemented through:
Hardware RAID
Dedicated hardware RAID controllers provide the most performance for RAID 6 arrays. These cards efficiently manage the parity calculations and disk I/O.
Software RAID
Many operating systems like Windows, Linux, etc. have built-in software RAID that can provide RAID 6 through the OS without additional hardware. This provides a low cost option.
NAS Appliances
Many pre-built NAS (network attached storage) appliances support configuring RAID 6 for the internal storage drives through a simple web interface.
Cloud Storage
Major cloud providers like Amazon AWS, Microsoft Azure, and Google Cloud offer managed RAID 6 storage options as part of their IaaS service offerings.
Conclusion
RAID 6 is one of the most reliable and high performance RAID levels thanks to its use of dual parity drives. This provides protection against up to two drive failures along with optimized read and write speeds.
The minimum required drive count for RAID 6 is 4 – consisting of 2 data drives and 2 parity drives. Additional data/parity drive pairs can be added to scale up capacity and performance.
RAID 6 is well-suited for a variety of use cases including file storage, databases, media production, and backups due to its combination of redundancy and speed. It can be easily implemented through hardware RAID, software RAID, dedicated NAS, or public cloud storage.
So in summary – the answer to how many parity drives RAID 6 uses is 2. The dual parity provides excellent fault tolerance by enabling recovery from up to 2 failed drives.