Jeff Darcy
2017-Feb-07 15:18 UTC
[Gluster-users] Remove an artificial limitation of disperse volume
> So far, I can't create a disperse volume if the redundancy level is > 50% or more the number of bricks. I know that perfs would be better in > dist/rep, but what if I prefer anyway to have disperse? > > Conclusion: would it be possible to have a "force" flag during > disperse volume creation even if redundancy is higher that 50%?The problem is that the math behind erasure coding doesn't work for all fragment counts and redundancy levels. To get two-failure protection you need more than four bricks. If you had multiple disks in each server you could get protection against multiple disk failures, but you still wouldn't have protection against multiple server failures. The only thing your "force" flag could do is allow placement of multiple fragments on a single physical disk, but then you wouldn't even have protection against two disk failures. If you want higher levels of protection you need more disks, either to satisfy the mathematical requirements of EC or to overcome the space inefficiency of replication.
Olivier Lambert
2017-Feb-07 15:54 UTC
[Gluster-users] Remove an artificial limitation of disperse volume
Okay so the 4 nodes thing is a kind of exception? What about 8 nodes with redundancy 4? I made a table to recap possible configurations, can you take a quick look and tell me if it's OK? Here: https://gist.github.com/olivierlambert/8d530ac11b10dd8aac95749681f19d2c On Tue, Feb 7, 2017 at 4:18 PM, Jeff Darcy <jdarcy at redhat.com> wrote:>> So far, I can't create a disperse volume if the redundancy level is >> 50% or more the number of bricks. I know that perfs would be better in >> dist/rep, but what if I prefer anyway to have disperse? >> >> Conclusion: would it be possible to have a "force" flag during >> disperse volume creation even if redundancy is higher that 50%? > > The problem is that the math behind erasure coding doesn't work for all > fragment counts and redundancy levels. To get two-failure protection > you need more than four bricks. If you had multiple disks in each > server you could get protection against multiple disk failures, but you > still wouldn't have protection against multiple server failures. The > only thing your "force" flag could do is allow placement of multiple > fragments on a single physical disk, but then you wouldn't even have > protection against two disk failures. If you want higher levels of > protection you need more disks, either to satisfy the mathematical > requirements of EC or to overcome the space inefficiency of replication.