what is a raid 5

What Is A RAID 5? How Does It Work

Even although its been round for over 50 years, RAID continues to be highly regarded, notably in enterprise environments. Overall, it’s fairly an achievement for any expertise to be related for this lengthy.

If we give attention to RAID’s standing within the current day, some RAID ranges are actually extra related than others. RAID 5 particularly has been one of the crucial standard RAID variations for the final 20 years.

As disk sizes have elevated exponentially, it does beg the query, although; is RAID 5 nonetheless dependable? To reply this query, we’ll first have to speak about what RAID 5 precisely is, it’s working mechanisms, purposes, and flaws.

RAID Terminology

RAID 5 makes use of block-interleaved distributed parity. To perceive this, we’ll have to begin with the fundamentals of RAID.

Redundant Array of Independent Disks (RAID) is mainly knowledge storage expertise that’s used to offer safety in opposition to disk failure by way of knowledge redundancy or fault tolerance whereas additionally enhancing total disk efficiency.

RAID methods implement strategies like striping, mirroring, and parity. Striping spreads chunks of logically sequential knowledge throughout all of the disks in an array which ends up in higher read-write efficiency.

Parity, within the context of RAID, is restoration knowledge that’s written to a devoted parity disk or unfold throughout all disks within the array. If a disk within the array fails, this parity knowledge, together with the info on the remaining working drives, can be utilized to reconstruct the misplaced knowledge.

How Does RAID 5 Work?

RAID 5 arrays use block-level striping with distributed parity. As atleast two disks are required for striping, and yet another disk price of house is required for parity, RAID 5 arrays want at the very least 3 disks. Let’s take a 4-disk RAID 5 array for instance to know higher the way it works.

When writing to the array, a block-sized chunk of information (A1) is written to the primary disk. This chunk of information can also be known as a strip. The dimension of the block is named the chunk dimension, and its worth varies because it’s as much as the consumer to set.


Continuing with the write operation, the following logically consecutive chunk of information (A2) is written to the second disk and the identical with the third (A3). As knowledge blocks are unfold throughout these three strips, they’re collectively known as a stripe.

Stripe dimension, because the title implies, refers back to the sum of the scale of all of the strips or chunks within the stripe. Generally, {hardware} RAID controllers use stripe dimension, however some RAID implementations additionally use chunk dimension.


Continuing once more, after knowledge is striped throughout the disks (A1, A2, A3), parity knowledge is calculated and saved as a block-sized chunk on the remaining disk (Ap). With this, one full stripe of information has been written.

In our instance, the identical course of repeats once more as knowledge is striped throughout three disks whereas the fourth disk shops parity knowledge. To put it merely, this continues till the write operation completes.

But there are some extra issues to cowl right here, akin to how parity knowledge is definitely calculated and the structure of information and parity blocks within the array. So, let’s shift the main target to these within the subsequent part.

Parity In RAID 5

Different RAID ranges use completely different algorithms to calculate parity knowledge. RAID 5 particularly makes use of the Exclusive OR (XOR) operator on every byte of information.

XOR returns a real output when solely one of many inputs is true. If each of the inputs are true (1,1) or false (0,0), the output can be false. The desk beneath and the instance that follows ought to illustrate this higher.

First Input Second Input Output
0 0 0
0 1 1
1 0 1
1 1 0

Let’s return to our instance from earlier and have a look at the primary stripe. Let’s say the primary byte of information on the strips is as follows:

A1 – 10111001
A2 – 11001010
A3 – 10011011

By performing an A1 XOR A2 operation, we get the 01110011 output. When we carry out one other XOR operation with this output and A3, we get the parity knowledge (Ap) which comes out to 11101000.

Let’s say one of many disks within the array (e.g., Disk 2) fails. We can carry out an A1 XOR A3 operation to get 00100010 because the output. If we carry out one other XOR operation with this output and the parity knowledge, we get the next output:


With this, we’ve reconstructed the primary byte of information on Disk 2. And this, in a nutshell, is how parity knowledge gives fault tolerance and protects your knowledge in case of disk failure. This redundancy does have its limits, although, as RAID 5 solely protects in opposition to one disk failure. If two disks fail concurrently, all the info can be misplaced.

Finally, there’s additionally the matter of information structure within the array. Unlike RAID ranges 2, 3, and 4, which use a devoted parity disk, RAID 5 makes use of distributed parity. This means the parity blocks are unfold throughout the array as a substitute of being saved on a single drive.

Our instance from earlier exhibits a left-to-right asynchronous structure, however this may change relying on sure components. For occasion, the info blocks will be written from left to proper or proper to left within the array. Accordingly, the parity block could also be positioned at the beginning or finish of the stripe.

In the case of a synchronous structure, the situation of the parity block additionally determines the place the following stripe will begin. For occasion, the array beneath is about up as left synchronous, that means knowledge is written left to proper. Additionally, the parity block (Ap) determines the place the following stripe (B1) begins, and so forth.

left synchronous raid 5 array

Should You Use RAID 5?

raid server racks

RAID 5 gives each efficiency positive aspects by way of striping and fault tolerance by way of parity. And in contrast to decrease RAID ranges, it doesn’t need to cope with the bottleneck of a devoted parity disk. This made it highly regarded within the 2000s, notably in manufacturing environments.

However, RAID 5 has at all times had one crucial flaw in that it solely protects in opposition to a single disk failure. In principle, two disks failing in succession is extraordinarily unlikely. But throughout real-world purposes, issues are completely different.

For starters, HDD sizes have grown exponentially, whereas learn/write speeds haven’t seen nice enhancements. Due to this disparity, when a disk does fail, rebuilding the array takes fairly lengthy. Depending on the scale and specs of the array, this may vary from hours to days.


Next, folks typically purchase disks in units. When you expose the identical make drives to the identical workload and setting, the possibilities of them failing across the similar time enhance.

But let’s say just one disk failed. If you’ve repeatedly been disk scrubbing, you’re most likely good. But in case you haven’t been checking for errors, there’s a threat of encountering UREs in the course of the rebuilding course of, as one of many disks within the array has failed simply now.

Unrecoverable Read Errors (UREs) are a significant difficulty when rebuilding arrays as a result of a single MB of unreadable knowledge can render all the array ineffective. This is as a result of manner most RAID setups work.

Certain RAID implementations like ZFS RAID and Linux software program RAID and a few {hardware} controllers mark the sector as dangerous and proceed rebuilding. However, most {hardware} RAID controllers merely cease the reconstruction and mark all the array as failed. 

The reasoning for that is that it’s finest to cease the array slightly than threat knowledge corruption. This is completed with the idea that you just’ll both restore from a backup or get well the info from every drive individually.

raid 6 array 1

When you mix all these components, it’s not laborious to see why RAID 5 has fallen out of favor in recent times. This is why different RAID variations like RAID 6 or ZFS RAID-Z2 are most well-liked nowadays, notably for bigger arrays, the place the rebuild occasions are increased, and there’s an opportunity of dropping extra knowledge.

That’s to not say RAID 5 is already irrelevant, although. HDD producers have taken this stuff into consideration and improved the drives by decreasing URE prevalence charges exponentially in recent times. We suggest that you just usually go for different RAID ranges, however if you wish to go together with RAID 5 anyway, it’s best to solely achieve this within the case of small-sized arrays.

Finally, listed below are some necessities and issues price understanding in case you plan to arrange a RAID 5 array:

  • As talked about earlier, a RAID 5 array requires 3 disk items on the minimal. This is as a result of atleast 2 drives are required for striping, and yet another disk price of house is required to retailer parity knowledge.
  • The usable storage in a RAID 5 setup will be calculated with (N – 1) x (Smallest disk dimension). You ought to use same-size drives as a result of in case you use an uneven setup, the smallest disk will create a major bottleneck.
  • RAID 5 gives wonderful learn efficiency as striping permits knowledge to be learn from a number of disks on the similar time. However, by the identical token, write efficiency isn’t as nice as parity data for a number of disks additionally must be written.
  • RAID 5 will be arrange by way of software program implementations, nevertheless it’s finest to make use of {hardware} RAID controllers for a RAID 5 array because the efficiency suffers with software program implementations.
  • Finally, RAID’s redundancy shouldn’t be the identical factor as backups. RAID’s function is just to guard in opposition to disk failure. There are loads of causes to have separate offsite backups, from malware to human error and accidents.

Similar Posts

Leave a Reply

Your email address will not be published. Required fields are marked *