Due to the threat of Unrecoverable Read Errors (UREs) when rebuilding a failed disk, RAID 5 is rarely used these days. After all, one URE could cause the entire array to fail.

RAID 6 or RAID 10 are generally recommended as safer alternatives. But these RAID levels have certain disadvantages compared to RAID 5. And with how large RAID arrays have gotten these days, they can sometimes be inadequate as well.

So, is RAID 5 ever worth using these days? Or should you always go for higher levels like RAID 10 despite their cons? We’ll attempt to answer such queries in this article.

raid-5-illustration

RAID 5 is a standard RAID level that stripes block-sized chunks of data across the array. It uses one disk worth of space to store parity data which is distributed across the array. As such, RAID 5 provides a good mix of everything (performance, fault tolerance, storage capacity).

RAID 10, or technically RAID 1+0, is a nested RAID level. It combines RAID 1 (mirroring only) as the first layer and RAID 0 (striping only) as the second layer. As such, it’s also called a stripe of mirrors.

Like RAID 5, RAID 10 also stripes data chunks at the block level. But it uses mirroring instead of parity calculation for fault tolerance. And unlike RAID 5 which is a jack-of-all-trades, RAID 10 prioritizes performance and redundancy over storage efficiency.

raid-10-raid-10

RAID 5 Vs RAID 10 – Main Differences

RAID 5 and RAID 10 differ in significant ways, with the main one being how they provide fault tolerance, and to what degree.

RAID 5 calculates parity informationby performing XOR operations on each byte of data. It distributes this parity data across the array such that it occupies one disk worth of space overall.

If a disk in the array fails and needs to be replaced, this parity data, along with the currently functional disks, can be used to reconstruct the lost data. Thanks to this, RAID 5 arrays can sustain one disk failure.

raid-5-disk-failure-rebuild

RAID 10 uses mirroring instead of parity calculation to provide fault tolerance. Since the lower layers are mirrored pairs of disks (RAID 1), each RAID 1 array can sustain up to 1 disk failure. Overall, this means that RAID 10’s fault tolerance level varies a lot.

Let’s say you have a 12-disk RAID 10 array. Your array might handle up to 6 concurrent disk failures, or it might fail because both disks in the same RAID 1 array failed. In the best-case scenario, RAID 10’s fault tolerance can be unmatched. In the worst case, it’ll be the same as RAID 5.

Even ifonly one disk fails, RAID 10 tends to fare better when rebuilding, particularly with larger arrays. This is because RAID 5 needs to read data off all disks in the array, while RAID 10 only deals with one mirrored pair.

read-write-speed

Read/Write Performance

Read and write speeds generally depend on what your workload mostly looks like. RAID 10 handles random I/O better because it has two identical datasets to work with, which helps reduce seek time.

raid-5-vs-raid-10-usable-storage

raid-5-vs-raid-10-mixed-disk-sizes

raid-10-6-disks