[sheepdog-users] [sheepdog] [ANNOUNCE] Sheepdog 0.4.0 released

MORITA Kazutaka morita.kazutaka at gmail.com
Thu Jul 12 20:33:04 CEST 2012

At Thu, 12 Jul 2012 18:16:45 +0900,
MORITA Kazutaka wrote:
> Hi all,
> I'm pleased to announce the availability of the 0.4.0 release.  The
> changes from the previous version and plans for the next release will
> be appeared later (I'm a little bit busy right now, sorry).

(CCed the sheepdog-users list)

I released 0.4.0 today.  The software is available from GitHub:


The big changes from 0.3.0 are as follows:

- farm storage driver

Sheepdog storage driver is replaced with the farm driver, which gives
us much more benefits than the original simple store driver.  For more
information, visit the below links:


- object cache

Object cache is the first cache implementation of Sheepdog.  It caches
object data on the gateway node, and the cached data will be
replicated to storage nodes when the client sends a flush request.

Object cache is something like a client-side caching, so please note
that if cached data is not flushed, other clients on different
gateways cannot see the latest data.  If you keep in mind it, the
feature will really helpful to boost your VM performance.

See also:

- sheepfs

With this feature, we can access and control Sheepdog with a
filesystem interface.  You need to install libfuse development headers
to compile sheepfs.  For more information, see also:

- gateway node

When you want to split Sheepdog nodes and VM nodes, it is not
recommended to connect from qemu to one of sheep nodes directly
because the connected node can be a SPOF.  The gateway node is
necessary for such users.  If you run gateway sheeps on VM nodes and
qemu connects to the local gateway sheep, no storage node can be a

- object list cache

When sheep stores lots of objects, it would be a bottleneck of object
recovery to enumerate all objects.  The object list cache caches the
list of stored objects and improves object recovery performance.

- cluster driver cleanups

Cluster driver interface is largely redesigned and refined, and lots
of relevant bugs are fixed from the previous version.

- zookeeper cluster driver

Zookeeper driver is completely rewritten by Yunkai, and Taobao guys
show that we can run Sheepdog with 1,000 nodes with ZooKeeper.

- many bug fixes

There are so many bug fixes from 0.3.0.  See commit logs for more

I think of the following features for the 0.5.0 release.

 - differential backup of VDIs

 - variable object size

 - variable virtual nodes according to the free spaces

 - server-side write cache (write object without O_DSYNC, and sync
   them when qemu sends a flush request.  I think we can use it
   combined with object cache.)

 - redesign threads for better performance

 - testing framework

Any other opinions?

How about planning the next release two month later - early September?



More information about the sheepdog-users mailing list