[sheepdog] What is cooking in master # 2013.8.9

Liu Yuan namei.unix at gmail.com
Fri Aug 9 15:03:25 CEST 2013


On Fri, Aug 09, 2013 at 08:52:05PM +0800, Liu Yuan wrote:
> Hello sheepdog walkers,
> 
> This is the report of current status of development of sheepdog project.
> 
> I'll split the report into two part: user-visible, developer-visible from now on.
> 
> So what we are cooking right now in the development mailing list are:
> 
> User-visible changes:
> 
>  1 Release Cycle 
> 
>    Our release cycle was changed and now we'll release a stable version every 3
>    months, which is at the exact the same release day as QEMU. For example,
>    v0.7.0 will be released at 8.15, and v0.8.0 is scheduled at 11.15. Besides
>    release cycle, we'll mantain a stable branch of every release version, 
>    though how long the support for stable branch is not fixed yet. Current 
>    stable branch is 'stable-0.6', and after v0.7.0 released, 'stable-0.7' will
>    be created. At the same time, 'stable-0.6' is still going to be maintained.
> 
>    We have also get a new policy for versioning of release candicate, see
>    http://lists.wpkg.org/pipermail/sheepdog/2013-August/011435.html
> 
>  2 Cluster-wide snapshot is considered working, request for test
> 
>    We have moved 'farm' from sheep to collie as code base for new cluster-wide
>    snapshot. So now we only have 'plain' store left as store backend.
> 
>    features done: incremental backup, auto-deduplication, slicing for dedup
> 
>    For a simple test, it can achieve nearly 50% deduplication for images. More
>    info, see https://github.com/collie/sheepdog/wiki/Backend-Stores%2C-Object-Cache-and-Disk-Cache#cluster-backup
> 
>  3 Better recovery status from 'collie node recovery'
>    
>    For example, the new output is
>    $ collie node recovery
>       Id   Host:Port         V-Nodes       Zone       Progress
>        0   10.68.13.1:7000        64   17646602       56.3%
>        1   10.68.13.2:7000        64   34423818       37.2%
>        2   10.68.13.3:7000        64   51201034       18.1%
>        3   10.68.13.4:7000        64   67978250       68.9%
>        4   10.68.13.5:7000        64   84755466        3.9%
>        5   10.68.13.6:7000        64  101532682       52.6%
>        6   10.68.13.7:7000        64  118309898       77.9%
>        7   10.68.13.8:7000        64  135087114       38.9%
>        8   10.68.13.9:7000        64  151864330        8.7%
>        9   10.68.13.10:7000       64  168641546       97.1%
>       10   10.68.13.11:7000       64  185418762        1.1%
>       11   10.68.13.12:7000       64  202195978       25.6%
> 
>    And you can watch one node progress with a progress bar
>    $ collie node recovery --progress
>    99.7 % [==============================================>] 7047 / 7068
> 
>  4 Openstack Glance support is upstream-merged
>    
>    Now users can use sheepdog as the backend storage both for
>    Cinder(volume service) and Glance(image service)
> 
>    We are also in the effort to provide 'object storage' service on top of
>    sheepdog. We are planned to provide Openstack Swift compatible API first.
> 
>  5 More detailed help messages
>    
>    Users can get the elaberate help messages for specific sheep options with
>    sheep binary. For exmaple, if you don't know how to use cache, try
> 
>    $ sheep -w
>    sheep/sheep: option requires an argument -- 'w'
> Available arguments:
> 	size=: size of the cache in megabyes
> 	dir=: path to the location of the cache (default: $STORE/cache)
> 	directio: use directio mode for cache IO, if not specified use buffered IO
> 
> Example:
> 	$ sheep -w size=200000,dir=/my_ssd,directio ...
> This tries to use /my_ssd as the cache storage with 200G allocted to the
> cache in directio mode
> 
>    A detailed usage with example will be provided.
> 
>  6 Simplied restart of the cluster after crash
>  
>    In the past, we have to start many sheep twice if epoches of sheep get
>    inconsistent. Now we will only have at most two steps to relaunch the nodes
>    from a crashed state:
> 
>    A. start sheep on each node one by one, after all the nodes are up again, the
>       cluster will be working. That is all. But
> 
>    B. If some node(s) is physically down and never have a chance to get up, try
>       $ collie cluster recover force
> 	  The cluster will be working again. Done.
> 
>  7 Qeury the cache infomation on the node
> 
>    A new command is added to get the information of the cache usage
> usage:
>  $ collie vdi cache info # Get the cache informatin of the node
> 
> Example:
> yliu at ubuntu-precise:~/sheepdog$ collie/collie vdi cache info
> Name    Tag     Total   Dirty   Clean
> test            88 MB   68 MB   20 MB
> data            88 MB   0.0 MB  88 MB
> 
> Cache size 200 MB, used 176 MB
> 
>  8 Deb package support
> 
>    Now we can make deb or rpm pakcage on our own by a simple command
>    $ make deb # for debian-based system package
>    $ make rpm # for redhat-based system pakcage
> 
 
One candy I forgot to mention is that auto reconnection from VM to sheep daemon
is finished, but the code will be merged for next release of QEMU. We'll provide
the patched next-released stable v1.6.0 of QEMU with reconnection support at

git at github.com:collie/qemu.git

This qemu repo is served as a temporary place when our patches for QEMU aren't
merged yet in the official QEMU.

Thanks
Yuan



More information about the sheepdog mailing list