Why is Raid 10 better than Raid 01?

It would appear to me performance wise, they are the same, isn't it true?

That is, if we write a 1GB file to Raid 10 or Raid 01, then we are letting each drive write 500MB of data, so it is increased speed for either case.

Is it true that it is only for fault tolerance and how the controllers are designed?

For example, if there are 4 drives total, and if Drive 1 fails:

  1. in Raid 10, then 3 drives will still be working hard for you. When Drive 1 fails in a mirrored situation, Drive 2 will still keep on working hard. Drive 3 and 4 are also working hard. Only 25% of the setup is down.
  2. in Raid 01, only 2 drives will now be working hard for you (Drive 3 and 4). In fact, you may as well turn off Drive 1 and Drive 2, because the way it is designed, the controllers will not write part of the data to Drive 2 like it writes to Drive 4. Both Drive 1 and 2 will not be used at the same time. 50% of the setup is down.

It is even more apparent in a 12 drive situation. If Drive 1 fails:

  1. In Raid 10, then 11 drives will still be working for you. 91.66% of the setup is still up and running.
  2. In Raid 01, then 6 drives will all stop running at the same time. Again, 50% of the setup is down.

Note that this is how Raid 1 (mirror) is designed: if one drive is down, it will keep busy with the remaining drive. In Raid 0 (striped), if one drive is down, the whole series of drives will all stop working.

And imagine if Drive 1 fails in Rail 01, and you need to wait 5 days to get a new drive to rebuild. If during that 5 days, any one of Drive 7 - 12 dies, then your system is in a really bad shape. Because Drive 7 - 12 is constantly changing its content. If Drive 12 dies, can you use Drive 6 to substitute for it? You cannot, because Drive 12 and 6 are different already.

But if it is Raid 10 and Drive 1 fails, and during that 5 days you wait for a new drive, if Drive 3 - 12 fails, that's fine. You still have everything. It has to be exactly Drive 2 that dies that the system will be in a bad shape, which is less likely to happen than any one of Drive 7 - 12 failing.

And actually if in Raid 01, when rebuilding 5 days or even just one day later, don't we have to rebuild Drive 1 to 6, because Drive 7 - 12 have already changed enough, so Drive 2 to 6 are also out of sync? In Raid 10, all that needs to rebuild is only one drive.

Is that exactly the reason why? Performance wise, it is all the same. It is about tolerance that matters that makes Raid 10 better than Raid 01?

6

2 Answers

It's simple: There is no good reason to choose RAID01 (a.k.a. RAID0+1) over RAID10 (a.k.a. RAID1+0).

Performance of both types of RAID is the same for the same number of disks. Both types of RAID have similar read and write speeds, with a "write penalty" of 2 because of the mirroring. I.e. writes to the array are (theoretically) two times slower than reads if looking purely at the number of I/O operations that need to take place. See: Understanding RAID Performance

Storage efficiency is the same. Useful capacity for both RAID types is half of the raw storage capacity.

But, redundancy of RAID01 is (much) worse.

Consider the failure of one disk:

  • With RAID01, If one disk dies, you lose redundancy of half the array, i.e. a single additional disk failure in the other (mirrored) stripe will bring the entire array down.

  • With RAID10, only one of the RAID1 sets that makes up the stripe loses redundancy but all the other RAID1 sets that make up the RAID10 stripe are still redundant.

The difference in the amount of redundancy will get larger the more disks are in the array.

I think I understand it and can provide a simple answer:

What if one hard drive fails?

  1. If it is Raid 01, meaning Raid 0 + 1, it is first stripped, and then mirrored. So Disk 1, 2 has stripped data, and mirrored to Disk 3 and 4. Now if Disk 3 fails, then Disk 3 and 4 fail together, because they work as a unit. Now, the only working disks are Disk 1 and 2. So we have 2 drives working for us.

  2. If it is Raid 10, meaning Rain 1 + 0, it is first mirrored and then stripped. So Disk 1 and 2 are mirrored. But a file is stripped across Disk 1&2, and Disk 3&4. Now if Disk 3 fails, Disk 1&2 can still work, and Disk 4 can still work (because it is a mirror), so there are 3 hard drives working for us.

So in the above situation, when 1 drive fails, in Raid 01, 50% of the system goes down, but in Raid 10, only 25% of the system goes down.

How will the whole system fail?

  1. Raid 01: with Disk 3 failing, now, if Disk 1 or Disk 2 fails, now the whole system fails.

  2. Raid 10: with Disk 3 failing, now only if Disk 4 fails, then the whole system fails. If Disk 1 or Disk 2 fails, that's ok, we still have the system running. (For example, Disk 2 and Disk 3 alone can still provide all the files, assuming Disk 2 and 3 have no issue).

Your Answer

Sign up or log in

Sign up using Google Sign up using Facebook Sign up using Email and Password

Post as a guest

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

You Might Also Like