Do RAID 6 drives need to be the same size?

What is RAID 6?

RAID 6 is a type of RAID (Redundant Array of Independent Disks) setup that uses block-level striping with double distributed parity. 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 rank’s virtual disks in the presence of any two concurrent disk failures. This is often implemented by striping data and parity across a series of drives and storing an additional diagonal parity block to allow recovery from the failure of two drives.” (https://en.wikipedia.org/wiki/Standard_RAID_levels)

In other words, RAID 6 provides fault tolerance by writing data across multiple drives and using two separate parity stripes. This allows the array to withstand the loss of up to two drives without losing data. If two drives fail, the parity stripes can be used to reconstruct the missing data. The main benefits of RAID 6 are high fault tolerance and continuous read/write capability even during drive rebuilds. The downside is reduced overall array capacity since some space is taken up for parity. (https://www.pcmag.com/encyclopedia/term/raid-6)

RAID 6 Drive Requirements

RAID 6 requires a minimum of 4 drives to implement. This is because RAID 6 uses block-level striping with double distributed parity, which requires at least 4 drives. The distributed parity provides fault tolerance up to 2 drive failures.

There is no set limitation on drive sizes in a RAID 6 array, as long as each drive has the same capacity. Drives of varying sizes can be mixed, but it comes with some drawbacks related to performance and usable capacity. Generally, matching drive sizes is recommended for optimal performance.

According to Microsemi, “RAID 6 requires a minimum of four drives and usable capacity is 50 percent of the total drive capacity.” This highlights how the dual parity in RAID 6 cuts the usable space in half with the minimum drive configuration. Adding more matched drives increases overall usable capacity.

Mixing Drive Sizes in RAID 6

Yes, you can mix different sized drives in a RAID 6 array. The main advantage of doing this is potentially lowering costs by using a combination of larger and smaller capacity drives. However, there are some downsides to be aware of.

When mixing drive sizes, the total capacity of the array will be determined by the size of the smallest drive. For example, if you combine 2TB and 1TB drives, the total size of the array will be limited to the capacity of the 1TB drives. Any extra space on the larger drives goes unused [1].

Performance can also be impacted when using mismatched drives. The speed of the array will be limited by the performance of the slowest drive. So mixing fast SSDs and slower HDDs is not recommended [2].

Additionally, rebuilding a failed drive in a mixed array takes longer since data needs to be rebuilt across the full capacity of the larger drives. The rebuild process is also more prone to failure with mismatched sizes.

Performance Considerations

The performance of a RAID 6 array depends on several factors, including the number of drives, the drive interface (SATA, SAS, NVMe), and the size of the drives. In general, RAID 6 provides slower write performance compared to RAID 0 or RAID 10 due to the parity calculations that need to be performed on each write.

When it comes to mixed drive sizes, the overall performance of a RAID 6 array is limited by the smallest drive. This is because parity information needs to be calculated and written across all drives in the array. So while larger drives may have better performance on their own, in a mixed RAID 6 setup their potential speed is bottlenecked by the smallest drive.

For sequential reads, there is less of a performance penalty with mixed drive sizes. But for random reads and writes, having uniform drive sizes is recommended to avoid bottlenecks. Rebuilding a RAID 6 array is also slower with mismatched drives.

According to one source, “When we allow writes to commit asynchronously, we see RAID6 achieve roughly 1/3 of single-disk performance and slowly trend downward, while mixed drive sizes in RAID6 can attain only 10-25% of single drive performance with more variability” (Source).

In summary, mixing drive sizes in RAID 6 is not recommended if peak array performance is a priority. Uniform drives avoid bottlenecks and can maximize throughput.

Managing Mismatched Drives

Using drives of different sizes in a RAID 6 array can present some challenges when it comes to management and maintenance. According to discussions on Reddit and ServerFault, one of the main difficulties is efficiently rebuilding the array if a drive fails[1][2]. When replacing a failed drive, the rebuild process can take significantly longer if the new drive is a different size than the old one. This is because RAID has to fully sync the larger drive, which leaves unused space on the smaller drives.

Another consideration with mismatched drives is dealing with performance bottlenecks. As detailed in a Synology forum post, mixing and matching drives with different RPM speeds, cache sizes, and technologies can lead to some drives working harder than others[3]. This imbalance can potentially cause performance issues.

Overall, while it is technically possible to combine different sized drives in RAID 6, doing so requires accepting increased management complexity, longer rebuild times, and potentially less consistent performance.

[1] https://www.reddit.com/r/DataHoarder/comments/rw89y7/mixed_disk_sizes_in_raid6/

[2] https://serverfault.com/questions/1129463/raid-with-different-drive-types-possible

[3] https://community.synology.com/enu/forum/17/post/104034

Rebuilding RAID 6 Arrays

When a drive fails in a RAID 6 array, the array will go into a degraded state until the failed drive is replaced. At that point, the array needs to rebuild the data from the failed drive onto the replacement drive. This rebuild process takes longer if the replacement drive is a different size than the original failed drive.

RAID 6 can rebuild with mixed drive sizes thanks to its double distributed parity. But there are some performance implications to consider. Rebuilding with a larger replacement drive means the array has to fill more sectors. So rebuild times will increase proportionally with larger replacement drives. Rebuilding with a smaller replacement takes less time but leaves unused storage capacity compared to the original drive.

According to a Server Fault discussion, rebuild times with a 2x larger replacement drive can take up to 2x longer. For example, rebuilding a 4TB drive could take 24 hours. But rebuilding an 8TB replacement would then take up to 48 hours.

The performance hit comes from the additional read activity needed to rebuild the extra capacity. So careful planning of drive replacements is advised if uptime is critical during rebuilds.

Expanding Drive Capacity

Adding larger drives is the most straightforward way to increase the storage capacity of a RAID 6 array. The amount of usable storage in RAID 6 equals the sum of all drive capacities minus two drives (for parity information). For example, if you have six 8TB drives in a RAID 6 array, the usable capacity would be 8TB x (6 – 2) = 40TB.

To expand, simply replace the existing drives one at a time with larger capacity drives, allowing the array to rebuild between each replacement. The array will remain fully redundant throughout this process. Once all the original drives are upgraded, the total capacity will increase. For instance, replacing all six 8TB drives with 12TB drives would give you 12TB x (6 – 2) = 60TB of usable storage while retaining RAID 6 protection.

Most RAID controllers allow you to mix drive sizes, so you don’t have to upgrade all the drives at once if you want to do it in stages. However, it’s generally recommended to use the same drive models from the same manufacturer when replacing multiple drives [1]. Mixing drive sizes can impact performance and make it more difficult to predict how much space you will gain.

[1] https://serverfault.com/questions/988998/upgrading-raid6-drives-with-larger-capacity-best-practices

Drive Costs

When it comes to drive costs for RAID 6, choosing drives of the same size versus different sizes can make a significant difference. Generally, buying matching drives of the same size in bulk will be the most cost-effective approach. As the Dell RAID 6 Price List shows, buying drives in sets from the manufacturer provides volume discounts compared to purchasing individually.

Mixing drive sizes means you may lose out on bulk pricing deals. In addition, managing an array with mismatched drives requires buying drives one at a time as needed for replacement or expansion. Buying single drives eliminates bulk pricing benefits and can increase costs 2-3 times per drive versus buying a matched set.

Overall, sticking with matched drives of the same size allows you to optimize RAID 6 drive costs over the long term. The exception is if you happen to have spare drives available to fill out your array, in which case mixing sizes may provide short-term savings.

Alternatives to Mixed Sized Drives

While RAID 6 does allow mixing different sized drives, there are some alternatives that avoid the potential drawbacks:

JBOD (Just a Bunch of Disks) – With JBOD, each drive is independent and acts as a separate drive letter or mount point. No RAID calculations are done. The benefit is full access to the capacity of each drive, with the downside of no redundancy. JBOD requires manually managing where data is stored across the separate drives.

RAID 10 – Also known as RAID 1+0, this combines a RAID 0 stripe set with RAID 1 mirroring. By mirroring stripe sets, RAID 10 provides performance and redundancy without some of the rebuilding challenges of RAID 6 mixed drive sets. However, 50% of total capacity is lost to redundancy.[1]

RAID 5 – RAID 5 requires at least 3 drives and stripes data with distributed parity information. This can handle 1 disk failure similar to RAID 6. As long as the largest drive size is used for total capacity, RAID 5 avoids most issues with mixed sized disks. The disadvantage is lower performance and greater risk during rebuilds.

Overall, by using RAID modes focused on striping like RAID 0, RAID 10, or JBOD, some of the size mismatch disadvantages can be avoided. This comes at the cost of some redundancy. When redundancy is needed, RAID 5 could be an alternative, recognizing the increased risk during rebuilds.

Best Practices for Selecting Drives in RAID 6

When configuring a RAID 6 array, the best practice is to use drives of the same size and speed for optimal performance. However, it is possible to mix drive sizes in a RAID 6 array if necessary.

Some recommendations when selecting drives for RAID 6:

  • Use the same drive models from the same manufacturer if possible. This ensures maximum compatibility and performance.
  • If mixing drive sizes, use drives with similar speeds and technologies. Combining slow HDDs and fast SSDs can hamper performance.
  • Keep the difference in drive capacities to a minimum. Using a 2TB drive with 8TB drives will result in wasted space.
  • Place smaller drives in dedicated RAID 1 mirrors rather than in the main RAID 6 array if the size difference is significant.
  • Avoid spanning RAID arrays across different drive interfaces like SATA and SAS. Stick to one interface.
  • When in doubt, default to same-sized drives. The performance and rebuild advantages often outweigh the extra cost.

Following these best practices will lead to a smoother RAID 6 implementation with fewer issues during rebuilds and expansions. Check manufacturer guidelines as well when selecting drive models and sizes.