<?xml version="1.0" encoding="UTF-8"?>
<section xml:id="adding-proxy-server"
        xmlns="http://docbook.org/ns/docbook"
        xmlns:xi="http://www.w3.org/2001/XInclude"
        xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0">
                <title>Add another proxy server</title>
                <para>To provide additional reliability and bandwidth
                        to your cluster, you can add proxy servers. You can
                        set up an additional proxy node the same way
                        that you set up the first proxy node but with
                        additional configuration steps.</para>
                <para>After you have more than two proxies, you must
                        load balance them; your storage endpoint (what
                        clients use to connect to your storage) also
                        changes. You can select from different
                        strategies for load balancing. For example,
                        you could use round-robin DNS, or a software
                        or hardware load balancer (like pound) in
                        front of the two proxies. You can then point your
                        storage URL to the load balancer, configure an initial
                        proxy node and complete these steps to add proxy
                        servers.</para>
                <procedure>
                        <step>
                                <para>Update the list of memcache
                                   servers in the
                                   <filename>/etc/swift/proxy-server.conf</filename>
                                   file for added proxy servers. If
                                   you run multiple memcache servers,
                                   use this pattern for the multiple
                                   IP:port listings in each proxy
                                   server configuration file:</para>
                                <literallayout class="monospaced">10.1.2.3:11211,10.1.2.4:11211</literallayout>
                                <literallayout class="monospaced">[filter:cache]
use = egg:swift#memcache
memcache_servers = <replaceable>PROXY_LOCAL_NET_IP</replaceable>:11211</literallayout>
                        </step>
                        <step>
                                <para>Copy ring information to all
                                   nodes, including new proxy nodes.
                                   Also, ensure that the ring
                                   information gets to all storage
                                   nodes.</para>
                        </step>
                        <step>
                                <para>After you sync all nodes, make
                                   sure that the admin has keys in
                                   <filename>/etc/swift</filename> and
                                   the ownership for the ring file is
                                   correct.</para>
                        </step>
                </procedure>
        </section>