The swift-get-nodes tool can be used to find out the location where a particular account, container or object item is located within the swift cluster nodes. For example, if you have the account hash and a container name that belongs to that account, you can use swift-get-nodes to lookup where the container resides by using the container ring.
-
Example:
-
-
$ swift-get-nodes /etc/swift/account.ring.gz MyAccount-12ac01446be2
-
-
Account MyAccount-12ac01446be2
-
-
Container None
-
-
Object None
-
-
Partition 221082
-
-
Hash d7e6ba68cfdce0f0e4ca7890e46cacce
-
-
Server:Port Device 172.24.24.29:6002 sdd
-
-
Server:Port Device 172.24.24.27:6002 sdr
-
-
Server:Port Device 172.24.24.32:6002 sde
-
-
Server:Port Device 172.24.24.26:6002 sdv [Handoff]
-
-
curl -I -XHEAD http://172.24.24.29:6002/sdd/221082/MyAccount-12ac01446be2
-
-
curl -I -XHEAD http://172.24.24.27:6002/sdr/221082/MyAccount-12ac01446be2
-
-
curl -I -XHEAD http://172.24.24.32:6002/sde/221082/MyAccount-12ac01446be2
-
-
curl -I -XHEAD http://172.24.24.26:6002/sdv/221082/MyAccount-12ac01446be2 # [Handoff]
-
-
ssh 172.24.24.29 ls -lah /srv/node/sdd/accounts/221082/cce/d7e6ba68cfdce0f0e4ca7890e46cacce/
-
-
ssh 172.24.24.27 ls -lah /srv/node/sdr/accounts/221082/cce/d7e6ba68cfdce0f0e4ca7890e46cacce/
-
-
ssh 172.24.24.32 ls -lah /srv/node/sde/accounts/221082/cce/d7e6ba68cfdce0f0e4ca7890e46cacce/
-
-
ssh 172.24.24.26 ls -lah /srv/node/sdv/accounts/221082/cce/d7e6ba68cfdce0f0e4ca7890e46cacce/ # [Handoff]
-