Well for 4 drives with Raid 0+1
...
If you lose the first drive, then you still can lose the second drive and be fine. But you lose data if you lose first and third drive then the data are lost. The question is if you lose the first and last drive, then will Raid be able to recover that? In principle all information is stored on the second and third drives, so you should be able to reconstruct it in principle.
Now 4 drives in Raid 10
...
If you lose first drive and second drive, you lose the data, but lost of (first and third) or (first and last) does not lose the data
So, fundamentally, if Raid 0+1 can recover the data if first and last drives lost, then I do not see the difference. The question is can it recover?
Ah, but let's look at this a bit closer: (Please excuse my crude text graphics. I didn't have time to build it to scale or to paint it. 8) )
[code:1:70cf002008]
Raid 0+1 Raid 10
======== =======
Drives Drives
A B C D A B C D
1 2 1 2 1 1 2 2
3 4 3 4 3 3 4 4
--- --- --- ---
| | | |
| | | \
| | | -- Mirrored (RAID 1) -
| | \ > Striped (RAID 0)
| | ------ Mirrored (RAID 1) -
| \
| -- Striped (RAID 0) -
\ > Mirrored (RAID 1)
------ Striped (RAID 0) -
[/code:1:70cf002008]
If drive A in the Raid 0+1 fails, the entire RAID 0 (drive A/B) set is offline. The only operational portion of the array is the drive C/D RAID 0 set. Yes, theoretically you could also lose drive B and not lose data, but that's not going to happen because drive B won't be getting accessed (the RAID 0 A/B set is offline). But, the loss of
either drive C or drive D takes out the entire array.
If drive A in the RAID 10 fails, the A/B mirror set is no longer redundant. The subsequent loss of drive B loses all data on the array. But either drive C or drive D can subsequently fail and the array is still good.
Thus, in the 4-drive setup, the failed Raid 0+1 has no chance of surviving with another operating drive failure (the operating drives being C and D). But in the Raid 10, if another random operating drive fails, the array has a 2/3 chance of surviving.
And, there is the aforementioned recovery aspect. After the failed drive A is replaced in the Raid 0+1, the Raid 0 A/B set is now blank. The Raid 0 C/D set must be re-mirrored to A/B, thus all drives are participating in the rebuild. In the Raid 10, drive B re-mirrors to drive A. Drives C/D are not involved.
This is with 4 drives. If you increase the number of drives to 8, it gets worse:
[code:1:70cf002008]
Raid 0+1 Raid 10
======== =======
Drives Drives
A B C D E F G H A B C D E F G H
1 2 3 4 1 2 3 4 1 1 2 2 3 3 4 4
5 6 7 8 5 6 7 8 5 5 6 6 7 7 8 8
------- ------- --- --- --- ---
| | | | | |
| | | | | \
| | | | \ --- Mirrored (RAID 1) -\
| | | \ ------- Mirrored (RAID 1) \___ Striped (RAID 0)
| | \ ----------- Mirrored (RAID 1) /
| | --------------- Mirrored (RAID 1) -/
| \
\ -- Striped (RAID 0) \__ Mirrored (RAID 1)
---------- Striped (RAID 0) /
[/code:1:70cf002008]
Raid 0+1: Drive A fails, drives B,C,D now offline. Failure of any of E,F,G,H loses all data.
Raid 10: Drive A fails, only drive B is a single point of failure. Loss of any of drives C,D,E,F,G,H doesn't cause a problem.
Now, several people have made reference to RAID 5 being a better solution than either of these. That's true to an extent. You lose less drive space to the redundancy, and the setup is simpler. But the cost of a RAID 5 card that can read/write as fast as either the RAID 0+1 or RAID 10 is several hundred dollars, and will require a PCI-X or PCIe slot. If you have a bunch of old drives lying around and want a fast redundant array, then RAID 0+1 or 10 becomes attractive.