[sheepdog-users] [Sheepdog Announcement] Erasure coding is fully functional with Sheepdog now

Liu Yuan namei.unix at gmail.com
Tue Oct 22 16:41:44 CEST 2013


On Tue, Oct 22, 2013 at 02:23:53PM +0000, Andrew J. Hobbs wrote:
> Excellent.
> 
> Last question then:  Are there predefined stripe+parity settings that 
> you would recommend for specific targetted redundancy or performance 
> levels?  For example, if I have 7 nodes in a cluster, and I wanted to 
> minimize redundant data storage while surviving up to three machines 
> dropping out?
> 
> Would that by default be 4:3? Or for larger node counts?
> 

There is no default value. The default paramter is replicated volume with
-c x when you format the cluster.

4:3 is reasonable for 7 nodes cluster.

There is some clues that users can consdier:

1. x:y means sheepdog have to allocate x:y objects to hold data and parity
   strips. For every write, e.g, write 4k with the 4:2 volume, we'll send 6k
   data to sheepdog split into 6 write request each with 1k length. So compare
   with 3 copies replicated volume, erasure will send less data (6k vs 12k),
   but will need more IOPS (6 vs 3). For read, we'll get 4k data which split
   into 4 requests with 1k length for the cluster, compared with replicated
   volume, erasure will need more IOPS (4 vs 1), but the data traffic are the
   same for read.

2. normally, the smaller (x + y), the less IOPS we'll need for writes.
   the smaller x, the less requests we'll send for read.
   the bigger y, we'll get higher surviving rate.

Thanks
Yuan



More information about the sheepdog-users mailing list