[sheepdog-users] [Sheepdog Announcement] erasure coding is fully functional, please try test

Shawn Moore smmoore at stormpoint.com
Tue Oct 22 20:23:51 CEST 2013

$ for i in `seq 0 5`; do sheep /tmp/store$i -n -c local -z $i -p 700$i;done
$ dog cluster format
$ dog vdi create -c 4:2 test 10G

In the above example you created a "zone" per node.  If you have 3
zones with 5 nodes per zone in the past you could set copies = 3 and
guarantee that each "zone" would have a full copy of each vdi amongst
the 5 nodes in that zone.

With EC does that same logic still apply?  In that would it do the EC
inside each zone or is it now a sum of all the nodes in all zones put
together?  In the following example could two whole zones fail and
still allow one node to fail in the remaining zone?

$ for i in `seq 0 5`; do sheep /tmp/store$i -n -c local -z 0 -p 700$i;done
$ for i in `seq 6 10`; do sheep /tmp/store$i -n -c local -z 1 -p 700$i;done
$ for i in `seq 11 15`; do sheep /tmp/store$i -n -c local -z 2 -p 700$i;done
$ dog cluster format
$ dog vdi create -c 2:1 test 10G

A long time ago there was a "--unsafe" option that allowed us to keep
the cluster running even if two whole zones, out of three failed.
This left the number of functional nodes less than 50%.  In all our
latest tests, this option is gone and it appears "-m unsafe" doesn't
emulate the same feature.  My above example couldn't occur without a
way to bring this "unsafe" feature back which we desire and could be
useful if parity could occur within each zone.

More information about the sheepdog-users mailing list