[Sheepdog] questions from a newbie
morita.kazutaka at lab.ntt.co.jp
Tue Sep 20 11:08:00 CEST 2011
At Mon, 19 Sep 2011 16:45:06 -0700,
Wenhao Xu wrote:
Thanks for your interest!
> Hi folks,
> I just started looking at the sheepdog project. I really like what you are
> doing here and would like to contribute code in the near future. After
> reading the slides from kvm forum, I have the following questions:
> 1. How to determine the id for an object? E.g. for a data object inside a
> VDI, how to give it an ID?
The object ID is a 64 bit integer. The upper 32 bit is a vdi ID,
which is calculated from a vdi name with a hash function. The lower
32 bit is an index of the data object. Sheepdog splits a virtual disk
into 4 MB chunks (data objects), and the index is used for the lower
> 2. What is the relationship between vdi object and inode? How to locate
> them? Are they also located by using consistency hashing?
Both are same. We should unify the names. Vdi objects are also
located with consistent hashing.
> 3. Can each vdi volume have its own replication factor?
Currently no, but it should have.
> 4. How is the user_xattr is used? Why it is required by sheepdog?
It is used to store some cluster informations (e.g. the creation time
of cluster). If possible, I'd like to remove the dependency.
> 5. Corosync uses multicast to do communications. However, in data center,
> multicast may be disabled on the switch/router. Is it easy to replace
> corosync with another engine to manage the node membership, e.g. zookeeper?
> I would be very happy to contribute on this part.
I think it is not so difficult. We have a plan to introduce a cluster
driver which abstracts cluster management, and move all corosync
related codes to the driver. I think we can support zookeeper in the
Currently, my coworker is working on a new cordination system project
to become an alternative of corosync in Sheepdog. I guess he can
announce the project soon.
More information about the sheepdog