Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

I've been reading the architectural docs for swift (http://docs.openstack.org/developer/swift/overview_architecture.html). I half understand what 'rings' are for but I think I'm missing some details.

It seems to me that when an object is PUT into the storage, a client connects to a server which somehow finds a ring. It then writes the data to a device and somehow updates a ring (probably) to say what has been written and where (the docs say that storage servers don't modify rings themselves, so I'm guessing there's a central pool of servers that take care of updating rings and pushing them out to storage servers). It seems that sqlite databases are used to store the mapping between object IDs and locations. The sqlite databases are then replicated along with objects around the cluster.

For a GET operation, a client makes a request to a server which somehow knows where to find the database mapping that particular object ID to a physical location. It then connects using a proxy server to retrieve the object and returns it to the client.

If I've got this right, it seems to me that the sqlite 'ring' mapping object IDs to physical locations is replicated to at least 3 nodes, so not to the entire cluster. So how does the system know, when retrieving an object, where to find the 'ring' database that contains a mapping of object ID to location? Perhaps this is stored in an 'account' ring, but then the same question applies - what subsystem does the public-facing server connect to to find out which nodes contain the actual objects that need to be retrieved/deleted?

share|improve this question
add comment

1 Answer

Peter,

I would suggest you to watch this youtube video explains Swift Ring functionality in details. http://www.youtube.com/watch?v=LzaQKKp58JI

Hope it helps.

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.