[openstack-dev] Swift ring building..

Christian Schwede christian.schwede at enovance.com
Fri Apr 4 09:41:51 UTC 2014


Hi,

Am 04.04.14 11:14, schrieb Shyam Prasad N:
> I have a question regarding the ring building process in a swift cluster.
> Many sources online suggest building the rings using ring-builder and
> scp the generated ring files to all the nodes in the cluster.
> What I'm trying to understand is if the scp step is just to simplify
> things, or is it absolutely necessary that the ring files on all the
> nodes is exactly the same?
> Can I instead individually build the rings on each node individually?

no, the ring files must be the same on all nodes.

Ring files in combination with the full object name define which storage
nodes are responsible for the object.

A very simplified example with four storage servers A, B, C, D and only
two replicas:

1. The proxy server wants to store an object and based on its ring file
decides that storage server "A" and "B" should store it.

2. The storage nodes "A" and "B" use different ringfiles; their
replicators now assume that the object is misplaced and will replicate
the object to nodes "C" and "D".

3. Now the proxy wants to get the object sometime later, and because of
the different ring expects the object on server "A" and "B". But the
object is no longer stored on these servers and the request will fail.

Christian



More information about the OpenStack-dev mailing list