[sheepdog] [PATCH] sheep: add simple_store driver again
Liu Yuan
namei.unix at gmail.com
Fri Aug 24 06:44:05 CEST 2012
On 08/23/2012 10:58 PM, MORITA Kazutaka wrote:
> This introduces a storage driver 'simple_store' based on the current
> storage interface. The design of the new simple_store is similar to
> one of the farm driver. The main difference is that farm uses the
> sha1 based backend store for stale objects, but simple_store uses a
> flat directory for them. With this design, simple_store can move
> objects from the working directory to the backend store efficiently
> with rename(2).
>
> Here are pros vs cons of simple_store.
>
> Pros:
> - faster recovery
> - smaller and simpler
> - would be a good example to introduce other storage drivers
>
> Cons:
> - cluster snapshot is not supported
> - stale objects are not deduplicated
> - there is no sha1 verification
I am also in favor of simple implementation. I think a dedicated .stale
directory idea could also apply to Farm. So How about following approach:
merge simple store into Farm, then it actually run the code as
current simple store. That is, use .stale only for recovery and
trunk & snap for snapshot objects.
By modularizing Farm, we can share one code base for better development
and won't lose features that Farm provides. Trunk & snap design looks
complicated for now, but it is actually useful as a building block for
future more advanced features, for e.g, we can store all read-only base
VDI objects as sha1 objects to enjoy the data reduction. (From our
internal usage of Sheepdog, we observe a heavy use of 'template', so
this reduction could be rather promising).
Thanks,
Yuan
More information about the sheepdog
mailing list