[Openstack] [Swift] Syncing ring but not builder files?

Christian Schwede cschwede at redhat.com
Tue Jun 9 13:22:33 UTC 2015


Hi Mark,

On 09.06.15 10:30, Mark Kirkwood wrote:
> I note that the documentation (e.g
> http://docs.openstack.org/juno/install-guide/install/apt/content/swift-initial-rings-distribute.html)
> suggests copying the ring files:
> 
> - account.ring.gz
> - container.ring.gz
> - object.ring.gz
> 
> to the various other nodes.
> 
> Now this means that the [account|container|object].builder files only
> exist on the original/"master" proxy. I'm wondering if these should be
> copied around too (maybe to all additional proxies), as it seems like
> you need these to make changes to the existing ring (e.g
> replacing/moving that failed original proxy...).

it doesn't matter where you keep your .builder files - but keep them
somewhere safe, otherwise you might get into troubles if you want to
change your ring later and lost them. So yes, copying them to the other
proxis is an option. Just make sure you use a single set of .builder
files that you're changing.

If you lost your .builder files you can still recover with the command

swift-ring-builder <ring_file> write_builder [min_part_hours]

However, replication times might be much higher in the beginning, and if
you're unlucky some objects are not even accessible for a while. So keep
a copy of the .builder files, and use this command only as a last resort.

-- Christian





More information about the Openstack mailing list