[sheepdog-users] sheepdog object cache
郑晓川
zhengxiaochuan at jd.com
Thu Apr 7 05:27:48 CEST 2016
I had tested sheepdog on ubuntu server 14.04 (the default qemu is 2.0.0)
The sheepdog cluster info : 2 nodes , 2 copies
I started 2 VM by openstack-nova ,and mount sheepdog vdies .
I tested with iozone and fio . the md5sum of vdi obj became diff from two sheepdog node as time goes by .
At the end , I umount the vdi , and check it with "dog vdi check " , got :
[cid:_Foxmail.1 at 9cbe8599-e7d6-1eed-225a-8d64bbfa41dc]
after some talk and test Liuy ( you should know him) told me ,this commit may help to resolve the problem. And indeed it works for me .
----------------------------
commit 77135d4317ff4e66777f0df760ed254be3d20df5
Author: Liu Yuan <liuyuan at cmss.chinamobile.com>
Date: Wed Jul 29 12:02:35 2015 +0800
sheepdog: fix overlapping metadata update
Current sheepdog driver use a range update_inode(min_idx, max_idx) for batching
the updates. But there is subtle problem by determining min_idx and max_idx:
for a single create request, min_idx == max_idx, so actually we just update one
one bit as expected.
Suppose we have 2 create request, create(10) and create(20), then min == 10,
max==20 even though we just need to update index 10 and index 20, update_inode(10,20)
will actually update range from 10 to 20. This would work if all the update_inode()
requests won't overlap. But unfortunately, this is not true for some corner case.
So the problem arise as following:
req 1: update_inode(10,20)
req 2: update_inode(15,22)
req 1 and req 2 might have different value between [15,20] and cause problems
and can be illustrated as following by adding a printf in sd_write_done:
@@ -1976,6 +1976,7 @@ static void coroutine_fn sd_write_done(SheepdogAIOCB *acb)
mn = s->min_dirty_data_idx;
mx = s->max_dirty_data_idx;
+ printf("min %u, max %u\n", mn, mx);
if (mn <= mx) {
/* we need to update the vdi object. */
offset = sizeof(s->inode) - sizeof(s->inode.data_vdi_id) +
...
min 4294967295, max 0
min 9221, max 9222
________________________________
郑晓川
From: Hitoshi Mitake<mailto:mitake.hitoshi at gmail.com>
Date: 2016-04-07 10:49
To: 郑晓川<mailto:zhengxiaochuan at jd.com>
CC: sheepdog-users<mailto:sheepdog-users at lists.wpkg.org>; 江凌生<mailto:jianglingsheng at jd.com>
Subject: Re: Re: [sheepdog-users] sheepdog object cache
On Thu, Apr 7, 2016 at 10:45 AM, 郑晓川 <zhengxiaochuan at jd.com<mailto:zhengxiaochuan at jd.com>> wrote:
As i know , there are some bugs on the early version of qemu ( sheepdog driver ) , for example 2.0.0 ,which has "vdi obj inconsistent" 、“discard delete error” bugs 。
Which version of qemu and libvirt is recommend for sheepdog usage。
AFAIK, the bug related to discard is fixed in v2.3.0 or later. And the latest libvirt would work fine.
Could you share the detail of the vdi object inconsistent problem? I'm not sure about the problem.
Thanks,
Hitoshi
Thanks a lot .
________________________________
郑晓川
From: Hitoshi Mitake<mailto:mitake.hitoshi at gmail.com>
Date: 2016-04-01 12:33
To: 郑晓川<mailto:zhengxiaochuan at jd.com>
CC: sheepdog-users<mailto:sheepdog-users at lists.wpkg.org>; 江凌生<mailto:jianglingsheng at jd.com>
Subject: Re: [sheepdog-users] sheepdog object cache
Hi,
On Mon, Mar 28, 2016 at 10:34 AM, 郑晓川 <zhengxiaochuan at jd.com<mailto:zhengxiaochuan at jd.com>> wrote:
Hi,all
what is the last released version , which still has "object cache" feature ?
and
I want to kown is this version is ready for commercial use ?
v.0.9.3 is the latest stable version.
BTW , when "Sheepdog v1.0" will come ?
I hope we can release v1.0 early May.
Thanks,
Hitoshi
Best regards
________________________________
--
sheepdog-users mailing lists
sheepdog-users at lists.wpkg.org<mailto:sheepdog-users at lists.wpkg.org>
https://lists.wpkg.org/mailman/listinfo/sheepdog-users
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.wpkg.org/pipermail/sheepdog-users/attachments/20160407/401b6d62/attachment-0001.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: Catch.jpg
Type: image/jpeg
Size: 83978 bytes
Desc: Catch.jpg
URL: <http://lists.wpkg.org/pipermail/sheepdog-users/attachments/20160407/401b6d62/attachment-0001.jpg>
More information about the sheepdog-users
mailing list