[Sheepdog] Dividing objects across disks
Brian Candler
B.Candler at pobox.com
Mon Aug 8 19:38:27 CEST 2011
On Tue, Aug 09, 2011 at 01:27:14AM +0900, MORITA Kazutaka wrote:
> [on node A]
> $ sheep /store_device/0 --zone 1
> $ sheep /store_device/1 --zone 1
>
> [on node B]
> $ sheep /store_device/0 --zone 2
> $ sheep /store_device/1 --zone 2
>
> [on node C]
> $ sheep /store_device/0 --zone 3
> $ sheep /store_device/1 --zone 3
>
> The data is not replicated in the same zone, so you can ensure that
> the data is replicated to separate physical nodes.
>
> Does this work for you?
Yes, that would work fine, at the cost of some complexity in management -
having to make each server be its own zone cancels some of the plug-and-play
benefit of sheepdog.
I was thinking that perhaps if it stored objects under
/store_device/obj<x>/<epoch>/<oid>
where x was a value 0-f based on a hash of the oid - then I could use
symlinks to point half the storage to one disk and half to the other.
It could even be made to look in both /obj<x>/ and /obj/ to allow
transparent migration from one structure to the other. (Exim has a similar
approach for its split_spool_directory option, which splits the mail queue
into 62 subdirs)
Regards,
Brian.
More information about the sheepdog
mailing list