3 ms·
>You're getting caught up on redundancy for a given total number of disks, and in the process missing the point entirely. That is the only point. Let me state
by pedrocr 11y ago
>You're getting caught up on redundancy for a given total number of disks, and in the process missing the point entirely.
That is the only point. Let me state it like this: you have N disks of which you want to get M capacity out of (M < N), what's the RAID configuration that maximizes redundancy. My assertion is that parity raid is strictly better than RAID10 at doing that, you haven't really refuted it.
>From there, my point should be more clear. Just like how you can constantly add more and more parity blocks (and disks to handle them), I can constantly widen the mirror.
Of course you can, and for any given number of disks you'll always be behind on redundancy. You can of course just throw more hardware at the problem and if your choices are between RAID6 (2-parity) and RAID10 then RAID10 eventually wins because you need more parity disks than RAID6 provides to take advantage of the extra hardware. Since most block RAID implementations only do 2 or at most 3-parity, RAID10 ends up being the only practical solution for lots of disks. But for a 4 or 5 disk setup (most NAS applications for example) RAID6 or ZFS 3-parity support is a better choice if the performance tradeoff is workable (as it is in most NAS).
>because with a n-disk array, a RAID1 will always be at least as redundant as the equivalent parity-based RAID
This is a red herring, yes there is the lower bound of no implementation with N disks can survive the loss of all N disks, and if you want the space of only a single disk RAID1 of N disks is the obvious choice.
(really, it'll always be able to survive one more disk failure than an n-1 parity-block array; you can see this rather easily when comparing RAID5 with a three-way RAID1).
This is again wrong. A 3 disk RAID1 has the size of 1 disk and a 3 disk RAID5 has the size of 2 disks so they're not the same. To make it comparable you need to make the array RAID6 at which point you have the same space and redundancy. You'd still do a RAID1 though as for the 1 disk size case there is no added benefit of parity.
>RAID10's advantages become more clear, since each mirror group added to the striped whole instantly bumps up capacity and the best-case without compromising the worst-case. Meanwhile, you do have the advantage of having more flexibility in the quantity of disks added, but doing so doesn't help your best-case unless you feel like resuming the whole "let's make every disk a parity or mirror disk" arms race.
This is missing the point entirely. The parity normal case is the same as the RAID10 best case and better than the worst case. There's no real way around that.
>Which is exactly why you're incorrect. Since any disk failure is like any other, every single disk has to be unique in order for a parity-based array to benefit from any diversity
This is just not true. Having diversity means that failures become uncorrelated. Parity RAID explores that even better than RAID10. The property you keep bringing up is basically saying "since RAID10 has worse redundancy than n-parity it benefits more from uncorrelated disk failures" which is true but only by partially mitigating a problem that parity RAID doesn't have.
>This has been a fun discussion, and there is certainly lots of room for debate on the merits of mirroring v. parity, but I'm starting to think that we should just agree to disagree on this one.
I think that by now I've explained my point clearly enough and even repeated myself a bit so yeah, I'll drop it here.
- yellowapple 11y agoSorry, I promised I'd let us agree to disagree, and I will after this, but I just can't help myself on this one point: > This is again wrong. A 3 disk RAID1 has the size of 1 disk and a 3 disk RAID5 has the size of 2 disks so they're not the same. To make it comparable you need to make the array RAID6 at which point you have the same space and redundancy. You'd still do a RAID1 though as for the 1 disk size case there is no added benefit of parity. Pardon, but what? Think about this for a second. For one, now you're moving the goalpost by shifting gears to disk capacity alone (which, as I've mentioned repeatedly, is a non-factor if you're considering anything mirror-based). With the same number of disks, mirroring always beats parity in a RAID. There's no getting around that. Don't believe me? Take those four disks (you need four at minimum) in your RAID6. Your array can survive two disk failures. Now I build a RAID1 with four disks. Mine can survive three disk failures. Yes, there's a capacity hit, but it's been repeatedly established that it's not capacity that matters. This still holds true when comparing a three-disk RAID5 and a three-disk RAID1. This still holds true when comparing any n-disk n-1-parity-block array with any n-disk RAID1 with the same value of n. Your points are much more valid when they're targeted at RAID10 instead of the concept of mirroring in general.
- pedrocr 11y agoI've explained all this so there's nothing new here at all. I'll try again if it helps. >Don't believe me? Take those four disks (you need four at minimum) in your RAID6. Your array can survive two disk failures. Now I build a RAID1 with four disks. Mine can survive three disk failures. Apples and oranges again... > Yes, there's a capacity hit, but it's been repeatedly established that it's not capacity that matters. This is not established. This is something you keep saying but makes no sense. My NAS has 4 2TB disks, I've configured it as RAID6 for 4TB of space where any two disks can fail. RAID10 is strictly inferior to that and RAID1 would only give me 2TB of space which is not enough for me. This result is generalizable. For a given number of disks and a given target array usable size the n-parity RAID configuration always has superior redundancy to the RAID10 configuration, there's no way around that. >Your points are much more valid when they're targeted at RAID10 instead of the concept of mirroring in general. My points have always been about RAID10 and not RAID1. If RAID1 is enough that's always the better option as obviously it's not possible to improve on "you have N disks and N-1 of them can fail". Note that's also the reason RAID5 implementations are limited to 3 disks minimum and RAID6 to 4 disks minimum. In theory you could configure a RAID5 with 2 (1+1parity) and a RAID6 with 3 (1+2parity) but since it doesn't make sense to calculate parity of a single disk that just ends up meaning RAID1.