[Sheepdog] support object recovery

Piavlo piavka at cs.bgu.ac.il
Thu Jan 21 08:32:36 CET 2010


MORITA Kazutaka wrote:
> Thanks for your report.
>
> In my environment, objects seem to be replicated to two nodes with
> --copies=2 option.
>
>   
I had an error in my ebuild - as a result I did not notice it fetched
the master branch.
Now it's fixed and I'm running with both  sheepdog and kvm compiled
against next branch.

The first thing that bothers me is than one I start 3 sheepdogs (no mkfs
made yet) but I see the following
fire-srv2 ~ # ls -la  /sheepdog/0/*
/sheepdog/0/epoch:
total 0
drwxr-x--- 1 root root 48 2010-01-21 08:30 .
drwxr-x--- 1 root root 16 2010-01-21 08:30 ..
-rw-r----- 1 root root 32 2010-01-21 08:30 00000001
-rw-r----- 1 root root 64 2010-01-21 08:30 00000002
-rw-r----- 1 root root 96 2010-01-21 08:30 00000003

/sheepdog/0/obj:
total 0
drwxr-x--- 1 root root 48 2010-01-21 08:30 .
drwxr-x--- 1 root root 16 2010-01-21 08:30 ..
drwxr-x--- 1 root root  0 2010-01-21 08:30 00000001
drwxr-x--- 1 root root  0 2010-01-21 08:30 00000002
drwxr-x--- 1 root root  0 2010-01-21 08:30 00000003
fire-srv2 ~ #    

fire-srv3 ~ # ls -la /sheepdog/0/*
/sheepdog/0/epoch:
total 0
drwxr-x--- 1 root root 48 2010-01-21 08:30 .
drwxr-x--- 1 root root 16 2010-01-21 08:30 ..
-rw-r----- 1 root root 32 2010-01-21 08:30 00000001
-rw-r----- 1 root root 64 2010-01-21 08:30 00000002
-rw-r----- 1 root root 96 2010-01-21 08:30 00000003

/sheepdog/0/obj:
total 0
drwxr-x--- 1 root root 48 2010-01-21 08:30 .
drwxr-x--- 1 root root 16 2010-01-21 08:30 ..
drwxr-x--- 1 root root  0 2010-01-21 08:30 00000001
drwxr-x--- 1 root root  0 2010-01-21 08:30 00000002
drwxr-x--- 1 root root  0 2010-01-21 08:30 00000003
fire-srv3 ~ #    

fire-srv4 ~ # ls -la /sheepdog/0/*
/sheepdog/0/epoch:
total 0
drwxr-x--- 1 root root 32 2010-01-21 08:30 .
drwxr-x--- 1 root root 16 2010-01-21 08:30 ..
-rw-r----- 1 root root 64 2010-01-21 08:30 00000002
-rw-r----- 1 root root 96 2010-01-21 08:30 00000003

/sheepdog/0/obj:
total 0
drwxr-x--- 1 root root 32 2010-01-21 08:30 .
drwxr-x--- 1 root root 16 2010-01-21 08:30 ..
drwxr-x--- 1 root root  0 2010-01-21 08:30 00000002
drwxr-x--- 1 root root  0 2010-01-21 08:30 00000003
fire-srv4 ~ #         

The sheepdogs were started in the following order
fire-srv2,fire-srv3,fire-srv4
Why is does fire-srv4 missing 00000001 and what meanings do these files
have?

After
fire-srv2 ~ #   shepherd mkfs --copies=2
fire-srv2 ~ #  

/sheepdog/0/vdi/ is created only on fire-srv3 fire-srv4
I don't know if the /sheepdog/0/vdi/ can be called an image metadata -
if yes this means the metadata is will always reside on these two nodes
only.

Also all image blocks get stored under the  /sheepdog/0/obj/00000003/
directory - so what is the purpose of /sheepdog/0/obj/0000000{1,2}/ ?
and what are those /sheepdog/0/epoch/0000000{1,2,3}/?

Thanks
Alex

> Collie in the next branch stores objects into the following path.
>   [root of store directory]/obj/[version of node map]/[object id]
> (I'll document details about this, sorry.)
>
>   




More information about the sheepdog mailing list