Do drives need to be identical for RAID 0?

Quick Answer

For optimal performance, it is recommended that the drives used in a RAID 0 array are identical in terms of model, capacity, and rotation speed. However, it is possible to combine disparate drives in a RAID 0 array. The array will function, but performance may be impacted.

What is RAID 0?

RAID 0 (also called striping) is a form of RAID (Redundant Array of Independent Disks) that splits data evenly across two or more drives. By spreading data across multiple disks, RAID 0 improves performance through increased read/write speeds and bandwidth.

However, RAID 0 offers no redundancy or fault tolerance. If one drive fails, all data will be lost. For this reason, RAID 0 is generally used in non-critical environments where maximum performance is desired.

Benefits of RAID 0

Here are some of the main benefits provided by RAID 0:

  • Improved performance – By striping data across multiple disks, RAID 0 allows for simultaneous disk access. This results in faster read/write speeds.
  • Increased bandwidth – Spreading data across drives also increases overall array bandwidth as multiple disks can be accessed concurrently.
  • Larger volumes – RAID 0 combines the capacities of the member disks into a single large volume. For example, two 1TB drives creates a 2TB array.
  • Simple configuration – RAID 0 is easy to set up as no parity calculation is required.

Do drives need to be identical?

For the best performance from a RAID 0 array, it is strongly recommended to use identical drives in terms of:

  • Model – Using the same make and model drive ensures consistency in performance across the array.
  • Capacity – Drives of the same size will optimize available capacity.
  • Rotation speed – Matching the RPM prevents speed mismatches which can bottleneck performance.

If non-identical drives are used, the RAID 0 array will still function, but performance may suffer due to:

  • Slower read/write speeds – Data will transfer at the rate of the slowest drive.
  • Unused capacity – Remaining space on larger drives will be inaccessible.
  • Increased risk of failure – Using old/faulty drives increases likelihood of data loss.

For example, combining a 10,000 RPM drive with a 5,400 RPM drive will result in reduced performance compared to two matched 10,000 RPM drives.

While possible, mixing drive types is not optimal for RAID 0. Identical drives will provide consistent, maximum speed across the full capacity of the array.

Combining SSDs and HDDs

One exception is combining flash-based solid state drives (SSDs) with traditional hard disk drives (HDDs) in a RAID 0 array.

Because SSDs have much faster read/write speeds than HDDs, the SSDs can act as a high-speed cache for frequently accessed data. The HDDs provide more storage capacity at a lower cost.

This SSD + HDD configuration takes advantage of the strengths of each storage technology. The end result is better overall performance than using HDDs alone.

RAID 0 array size limits

Most RAID implementations support a maximum of 8 disks in a RAID 0 array. However, some software and hardware RAID solutions allow larger configurations:

RAID Solution Max Drives Supported
Adaptec HostRAID 32
LSI MegaRAID 16
Areca ARC-8050 32
Linux MD RAID 16

When combining a large number of drives, using identical models helps ensure balanced performance across the set. Mixing drive types can cause bottlenecks when accessing slower disks.

Does stripe size matter?

Stripe size or block size is the amount of data written to each drive before switching to the next drive. This value can be configured when creating the RAID 0 array.

For optimal performance, it is best to match the stripe size to the typical I/O request size. Common stripe size values are:

  • 64KB – Good for transactional workloads like databases, email, etc.
  • 128KB – Improves throughput for video editing, media streaming, etc.
  • 256KB or higher – Best for large sequential I/O as found in scientific, mathematical computing.

Ideally, the stripe size should be evenly divisible by the I/O request size. Odd-sized stripes or mismatched I/O can cause partial stripe writes which negatively impacts speed.

Again, using identical drives will help ensure consistent stripe size performance across the array.

Alternative RAID options

If fault tolerance or redundancy is needed, other RAID levels like RAID 1, 5, 6, or 10 may be preferable:

  • RAID 1 mirrors data between two drives to provide 100% redundancy.
  • RAID 5 stripes data and parity information across 3+ drives for redundancy.
  • RAID 6 adds a second parity drive to recover from up to two drive failures.
  • RAID 10 combines mirroring and striping for performance plus redundancy.

However, mirroring and parity calculations come with performance penalties. RAID 0 still provides the fastest write speeds of any RAID type, but at the cost of reliability.

Software vs hardware RAID 0

RAID 0 can be implemented via:

  • Software RAID – OS and drivers manage the array.
  • Hardware RAID – A physical RAID card handles RAID functions.

Software RAID has the advantage of being free and not requiring a RAID card. But CPU overhead can impact performance. Hardware RAID overcomes this through dedicated processing on the RAID controller.

Both solutions still benefit from matched disks in RAID 0 configurations. Hardware RAID simply has the performance edge for demanding workloads.

Conclusion

While non-identical drives can be used, identical drives are highly recommended for RAID 0 arrays. Matching the make, model, capacity, and speed of drives will provide optimal, balanced performance across the full range of the array.

Combining SSDs and HDDs can also be beneficial by using SSDs as a high-speed cache in front of larger HDD volumes.

Aim to match the RAID 0 stripe size to the typical I/O workload as well. And if fault tolerance is needed, consider alternative RAID levels like RAID 10.

Ultimately, taking the time to configure matching, high quality drives in RAID 0 will ensure maximum speed for critical applications.