[sheepdog-users] Performance Impact of Recovery

Liu Yuan namei.unix at gmail.com
Tue Mar 18 07:58:58 CET 2014


On Mon, Mar 17, 2014 at 05:28:36PM +0100, richter at ecos.de wrote:
> > 
> > We store hash into xattr of the object while the hash is calculated.
> Hashes
> > are calculated indirectly when 1. 'dog vdi check' 2. recovery. We don't
> > calculate hash for normal read/write for better performance.
> > 
> 
> I did test it and the first recovery has taken about 9h (cluster was in
> use). I did a second recovery at the weekend when there is no load on the
> cluster and it took about 6:30h, and directly afterwards another one (so
> there should be only minimal writes between the two recoveries) and it took
> about 7h. There are currently about 160000 objects to recover.
> 
> It seems that there is no speed gain by storing the hash values (which I
> can't imagine) or the hash values are not stored at all. Is it possible for
> me to verify that there are some hash values stored. Is there a simple
> command line (e.g. using getfattr)? Maybe there is some configuration error
> on my side...

Did you run against latest master branch, which support multi-threaded recovery?

I forgot to mention that only snapshots objects can store hash value because
they are immutable.

For effect test, you can firstly snapshot all the vdis, then 'dog vdi check' to
store hash values and then make a recovery, you'll experience a faster recvoery.

Thanks
Yuan



More information about the sheepdog-users mailing list