[sheepdog] [PATCH] sheep: add simple_store driver again
MORITA Kazutaka
morita.kazutaka at lab.ntt.co.jp
Thu Aug 23 18:46:28 CEST 2012
At Fri, 24 Aug 2012 00:03:09 +0800,
Liu Yuan wrote:
>
> On 08/23/2012 10:58 PM, MORITA Kazutaka wrote:
> > To fix this problem, we need to move stale objects in the worker
> > thread. I've spent several days trying to fix it, but it seems to
> > need a lot of work, and it looks difficult to stable the change in a
> > short time.
> >
>
> Last time your patches to fix this problem looks kind of easy, why 'a lot
> of work' now?
The patch was not enough. Main problems are:
- We cannot increment an epoch while deleting stale objects because
the objects are not stale at the new epoch.
- If objects are in the working directory, sheep assumes the objects
are already recovered. But it is not true if we unlink the objects
in the worker thread.
>
>
> > $ ./farm.sh simple
> > using backend simple store
> > Name Id Size Used Shared Creation time VDI id Tag
> > test 1 100 GB 100 GB 0.0 MB 2012-08-23 11:29 7c2b25
> >
> > real 0m1.016s
> > user 0m0.092s
> > sys 0m0.000s
>
> This looks much better, but I think not good enough. If we have 500G data, it seems
> that we still need around 5 minutes, which is unacceptable to guest VM too. For example
> Linux guests won't tolerate for more than 2 minutes.
I also tested with 500 GB, but the result was similar. I think 1
second is the overhead of 'collie vdi list'. On the other hand, farm
takes more than 1 hour...
>
> I think we really need to put the moving stale objects job to worker thread as a long-term fix,
> which never block main thread.
Yes, indeed.
Thanks,
Kazutaka
More information about the sheepdog
mailing list