[Openstack] Several questions about HOW SWIFT WORKS

Alejandro Comisario alejandro.comisario at mercadolibre.com
Tue Jan 3 17:32:51 UTC 2012


Hi everyone !

Since we are using swift for a time now, we would like to know a few 
things in a deep way about how some things actually works in SWIFT.

Imagine the setup where im putting all the doubts is as follow :
+ 2 proxyNodes
+ 10 dataNodes ( 5 zones )

So, lets get down to business.

# 1 we have memcache service running on each proxy, so as far as we 
know, memcache actually caches keystone tokens and object paths as the 
request ( PUT , GET) enters the proxy, but for example, if we restart 
one proxy server, so the memcached service is empty, is the restarted 
proxy node going to the neighbor memcache on nex request, lookup for 
what it needs, and cache the answer on itself so the next query is 
solved locally ?

# 2 the documentation says regarding "For each request, it will look up 
the location of the account, container, or object in the ring (see 
below) and route the request accordingly" in what way the proxy actually 
does the look-up regarding WHERE is an object / container in the cluster 
? does it connect to any datanode asking for an object location ? does 
the proxy have any locally sotarge data ??

# 3 Maybe it has to do with the previous question but, every dataNode 
knows everything that is stored on the cluster (container service) or 
only knows the object that has itself, and the replicas of its objects?

# 4 We are building a production cluster of 24 datanodes, having 6 
drives each (144 immediate drives) we know, that a good default number 
of partitions per drive is 100, so the math for creating the ring will 
be (24 nodes * 6 drives * 100 partitions) but we know the at the end of 
the year, the amount of datanodes (and drives also) could be 2x or 3x 
more. So, for the initial setup, can we build the RING with our 144 
drives and 100 partitions per drive so we can modify the ring / 
partitions later and rebalance? or is safer to think about future 
infrastructure increase, and build the ring with those numbers in mind ?

# 5 We put a new object into the cluster, the proxy decides where to 
write the object (is it in a round-robin manner ?) is the proxy server 
giving a "Created" response when the 1st replica is actually writen and 
put into the account and container SQLite databases ? or there is and ok 
just when the OBJECT service actually wrote the data on disc ?

Hope, we can shed some lights regarding this doubts.
Thanks !

Cheers.

-- 
Alex <www.mercadolibre.com>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstack.org/pipermail/openstack/attachments/20120103/48023882/attachment.html>


More information about the Openstack mailing list