Configuring OpenStack Object Storage
Adding an Additional Proxy Server For reliability’s sake you may want to have more than one proxy server. You can set up the additional proxy node in the same manner that you set up the first proxy node but with additional configuration steps. Once you have more than two proxies, you also want to load balance between the two, which means your storage endpoint also changes. You can select from different strategies for load balancing. For example, you could use round robin dns, or an actual load balancer (like pound) in front of the two proxies, and point your storage url to the load balancer. See Configure the Proxy node for the initial setup, and then follow these additional steps. Update the list of memcache servers in /etc/swift/proxy-server.conf for all the added proxy servers. If you run multiple memcache servers, use this pattern for the multiple IP:port listings: 10.1.2.3:11211,10.1.2.4:11211 in each proxy server’s conf file.: [filter:cache] use = egg:swift#memcache memcache_servers = <PROXY_LOCAL_NET_IP>:11211 Change the default_cluster_url to point to the load balanced url, rather than the first proxy server you created in /etc/swift/proxy-server.conf: [app:auth-server] use = egg:swift#auth default_cluster_url = https://<LOAD_BALANCER_HOSTNAME>/v1 # Highly recommended to change this key to something else! super_admin_key = devauth After you change the default_cluster_url setting, you have to delete the auth database and recreate the OpenStack Object Storage users, or manually update the auth database with the correct URL for each account. Next, copy all the ring information to all the nodes, including your new proxy nodes, and ensure the ring info gets to all the storage nodes as well. After you sync all the nodes, make sure the admin has the keys in /etc/swift and the ownership for the ring file is correct.
Troubleshooting Notes If you see problems, look in var/log/syslog (or messages on some distros). Also, at Rackspace we have seen hints at drive failures by looking at error messages in /var/log/kern.log.