[sheepdog] [PATCH v1 0/5] using disks to generate vnodes instead of nodes

Liu Yuan namei.unix at gmail.com
Mon May 5 05:54:24 CEST 2014


On Tue, Apr 29, 2014 at 10:53:40AM +0800, Robin Dong wrote:
> From: Robin Dong <sanbai at taobao.com>
> 
> When a disk is fail in a sheepdog cluster, it will only moving data in one node
> to recovery data at present. This progress is very slow if the corrupted disk is
> very large (for example, 4T).
> 
> The solution to accelerate the speed of recovering is using disks to generate
> vnodes so the failing of one disk will cause whole cluster to reweight and
> moving data.
> 

Personally I don't like #ifdef scatter all over the source files, making code
very hard to maintain and extend. So I hope this is just a interim patch set and
finally will take the shape that the two algorithms for vnode generation can be
completely decoupled into different code paths and controled by

 dog cluster format -v {disk|node}

which choose disk or node as the basic unit for vnode generation.

Besides, I think you'd better write down the pros and cons of your new approach.
For a quick review, I can see that the disadvantage of the new method is we can't
support unlimited number of local disks for a single node any more and
constrained by a static number (32).

Is there any performance number for recovery boost using new method against old
one?

Thanks
Yuan



More information about the sheepdog mailing list