<br><br><div class="gmail_quote">On Tue, Sep 20, 2011 at 2:08 AM, MORITA Kazutaka <span dir="ltr"><<a href="mailto:morita.kazutaka@lab.ntt.co.jp">morita.kazutaka@lab.ntt.co.jp</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">

At Mon, 19 Sep 2011 16:45:06 -0700,<br>
Wenhao Xu wrote:<br>
Hi Wenhao,<br>
<br>
Thanks for your interest!<br>
<div class="im"><br>
><br>
> Hi folks,<br>
><br>
> I just started looking at the sheepdog project. I really like what you are<br>
> doing here and would like to contribute code in the near future. After<br>
> reading the slides from kvm forum, I have the following questions:<br>
> 1. How to determine the id for an object? E.g. for a data object inside a<br>
> VDI, how to give it an ID?<br>
<br>
</div>The object ID is a 64 bit integer.  The upper 32 bit is a vdi ID,<br>
which is calculated from a vdi name with a hash function.  The lower<br>
32 bit is an index of the data object.  Sheepdog splits a virtual disk<br>
into 4 MB chunks (data objects), and the index is used for the lower<br>
32 bit.<br>
<div class="im"><br>
> 2. What is the relationship between vdi object and inode? How to locate<br>
> them? Are they also located by using consistency hashing?<br>
<br>
</div>Both are same.  We should unify the names.  Vdi objects are also<br>
located with consistent hashing.<br>
<div class="im"><br>
> 3. Can each vdi volume have its own replication factor?<br>
<br>
</div>Currently no, but it should have.<br>
<div class="im"><br>
> 4. How is the user_xattr is used? Why it is required by sheepdog?<br>
<br>
</div>It is used to store some cluster informations (e.g. the creation time<br>
of cluster).  If possible, I'd like to remove the dependency.<br>
<div class="im"><br>
> 5. Corosync uses multicast to do communications. However, in data center,<br>
> multicast may be disabled on the switch/router. Is it easy to replace<br>
> corosync with another engine to manage the node membership, e.g. zookeeper?<br>
> I would be very happy to contribute on this part.<br>
<br>
</div>I think it is not so difficult.  We have a plan to introduce a cluster<br>
driver which abstracts cluster management, and move all corosync<br>
related codes to the driver.  I think we can support zookeeper in the<br>
driver.<br>
<br></blockquote><div>This sounds great. Is the cluster driver interface available now? Having a concept of cluster driver really helps. </div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">


Currently, my coworker is working on a new cordination system project<br>
to become an alternative of corosync in Sheepdog.  I guess he can<br>
announce the project soon.<br></blockquote><div>Great. Looking forward to hear more about it.  </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<br>
Thanks,<br>
<font color="#888888"><br>
Kazutaka<br>
</font></blockquote></div><br>Thanks for the reply, Kazutaka.<div><br></div><div>Wenhao<br clear="all"><div><br></div>-- <br>~_~<br>
</div>