<div dir="ltr">HI all,<div><br></div><div>So now I want to add a third "datacenter" basically more storage nodes. Now I want to try and do the following below:</div><div><br></div><div><a href="http://techs.enovance.com/7094/openstack-swift-2-0-introducing-storage-policies">http://techs.enovance.com/7094/openstack-swift-2-0-introducing-storage-policies</a><br></div><div><br></div><div>So pretty much have a Paris and Montreal center as described - I want to add a third datacenter to each as replication. So it the blog it says create new rings - there is where I am getting confused - may someone help and let me know what are the commands to create a whole new ring??  I dont think I am supposed to run this command again (and for object and container)</div><div><br></div><div>swift-ring-builder account.builder create <br></div><div><br></div><div>As I already have my base files. So I guess basically what commands would I need to make object-1.ring.gz and object-2.ring.gz. </div><div><br></div><div>Basic setup that I am trying</div><div><br></div><div>Paris - HQ  Ring 1</div><div>Montreal - HQ Ring 2</div><div><br></div><div>Paris has 2 storage nodes, Montreal has 2 and HQ has 2. Right now Paris and Montreal have the same containers. I want to try and have Paris-HQ and Montreal-HQ have their own separate containers. Appreciate the time and help!!</div><div><br></div><div>Thanks</div><div><br></div><div>Amit Anand</div><div><br></div><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Dec 17, 2014 at 4:14 AM, Jonathan Lu <span dir="ltr"><<a href="mailto:jojokururu@gmail.com" target="_blank">jojokururu@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
  
    
  
  <div bgcolor="#FFFFFF" text="#000000">
    <div>Hi,<br>
          It seems that John has helped a lot. I just share 2 blogs that
      I think is related with your issue.<br>
          <br>
          <a href="https://swiftstack.com/blog/2012/04/09/swift-capacity-management/" target="_blank">https://swiftstack.com/blog/2012/04/09/swift-capacity-management/</a><br>
          <a href="https://swiftstack.com/blog/2013/12/20/upgrade-openstack-swift-no-downtime/" target="_blank">https://swiftstack.com/blog/2013/12/20/upgrade-openstack-swift-no-downtime/</a><span class="HOEnZb"><font color="#888888"><br>
      <br>
      -- Jonathan Lu</font></span><div><div class="h5"><br>
          <br>
      On 2014/12/17 4:06, Amit Anand wrote:<br>
    </div></div></div><div><div class="h5">
    <blockquote type="cite">
      <div dir="ltr">Thanks again John. Out of curiosity, is it possible
        to see what is where? Lets say I have uploaded a video and
        wanted to see where the three copies like out of the 4 nodes I
        have? 
        <div><br>
        </div>
        <div>
          <div>And you guys dont have a free version of Swiftstack
            available per chance do you :-)</div>
          <div><br>
          </div>
          <div>
            <div><br>
            </div>
            <div><br>
            </div>
          </div>
        </div>
      </div>
      <div class="gmail_extra"><br>
        <div class="gmail_quote">On Tue, Dec 16, 2014 at 12:48 PM, John
          Dickinson <span dir="ltr"><<a href="mailto:me@not.mn" target="_blank">me@not.mn</a>></span>
          wrote:<br>
          <blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Assuming
            your regions are pretty close to the same size, that's
            exactly what you'll get with 3 replicas across 2 regions.
            Some data will have 2 replicas in region 1 and one in region
            2. Other data will have 1 in region 1 and 2 in region 2.<br>
            <span><font color="#888888"><br>
                --John<br>
              </font></span>
            <div>
              <div><br>
                <br>
                <br>
                <br>
                > On Dec 16, 2014, at 9:39 AM, Amit Anand <<a href="mailto:aanand@viimed.com" target="_blank">aanand@viimed.com</a>>
                wrote:<br>
                ><br>
                > Ok cool Ill wait it out see what happens. So now I
                have another stupid question - after all is said and
                done, how many copies of my data will I have?! What I am
                aiming for is something like 2 regions and 3 replicas
                ie, 2 copies of the data in region one and one copy in
                region 2.<br>
                ><br>
                > On Tue, Dec 16, 2014 at 12:35 PM, John Dickinson
                <<a href="mailto:me@not.mn" target="_blank">me@not.mn</a>>
                wrote:<br>
                > That's normal. See the "...or none can be due to
                min_part_hours". Swift is refusing to move more data
                until the stuff likely currently in flight has settled.
                See <a href="https://swiftstack.com/blog/2012/04/09/swift-capacity-management/" target="_blank">https://swiftstack.com/blog/2012/04/09/swift-capacity-management/</a><br>
                ><br>
                > --John<br>
                ><br>
                ><br>
                ><br>
                ><br>
                ><br>
                ><br>
                > > On Dec 16, 2014, at 9:09 AM, Amit Anand <<a href="mailto:aanand@viimed.com" target="_blank">aanand@viimed.com</a>>
                wrote:<br>
                > ><br>
                > > Hi John thank you!<br>
                > ><br>
                > > So I went ahead and added two more storage
                nodes to the existing rings (object, account, container)
                and tried to rebalance on the controller I got this:<br>
                > ><br>
                > > [root@controller swift]# swift-ring-builder
                object.builder rebalance<br>
                > > Reassigned 1024 (100.00%) partitions. Balance
                is now 38.80.<br>
                > >
-------------------------------------------------------------------------------<br>
                > > NOTE: Balance of 38.80 indicates you should
                push this<br>
                > >       ring, wait at least 1 hours, and
                rebalance/repush.<br>
                > >
-------------------------------------------------------------------------------<br>
                > ><br>
                > ><br>
                > > For all three. So while waiting, I went ahead
                and added the *.gz files and swift.conf to the new nodes
                and started the Object Storage Services on the both the
                new storage nodes.... Now I am seeing this after I try
                to rebalance after waiting about an hour:<br>
                > ><br>
                > > [root@controller swift]# swift-ring-builder
                object.builder rebalance<br>
                > > No partitions could be reassigned.<br>
                > > Either none need to be or none can be due to
                min_part_hours [1].<br>
                > ><br>
                > > Devices 4,5,6,7 are the new ones I added in
                region 2.<br>
                > ><br>
                > ><br>
                > > [root@controller swift]#  swift-ring-builder
                object.builder<br>
                > > object.builder, build version 9<br>
                > > 1024 partitions, 3.000000 replicas, 2 regions,
                2 zones, 8 devices, 38.80 balance<br>
                > > The minimum number of hours before a partition
                can be reassigned is 1<br>
                > > Devices:    id  region  zone      ip address 
                port  replication ip  replication port      name weight
                partitions balance meta<br>
                > >              0       1     1       10.7.5.51 
                6000       10.7.5.51              6000      sda3 100.00 
                      501   30.47<br>
                > >              1       1     1       10.7.5.51 
                6000       10.7.5.51              6000      sda4 100.00 
                      533   38.80<br>
                > >              2       1     1       10.7.5.52 
                6000       10.7.5.52              6000      sda3 100.00 
                      512   33.33<br>
                > >              3       1     1       10.7.5.52 
                6000       10.7.5.52              6000      sda4 100.00 
                      502   30.73<br>
                > >              4       2     1       10.7.5.53 
                6000       10.7.5.53              6000      sda3 100.00 
                      256  -33.33<br>
                > >              5       2     1       10.7.5.53 
                6000       10.7.5.53              6000      sda4 100.00 
                      256  -33.33<br>
                > >              6       2     1       10.7.5.54 
                6000       10.7.5.54              6000      sda3 100.00 
                      256  -33.33<br>
                > >              7       2     1       10.7.5.54 
                6000       10.7.5.54              6000      sda4 100.00 
                      256  -33.33<br>
                > ><br>
                > ><br>
                > ><br>
                > > All three have -33.33 (container, object,
                account)  for their balance. Is this normal or did do
                something incorrect? It doesnt seem to be replicating
                the data to the new nodes (or at least it looks like it
                stopped?)  but I am not sure. Would appreciate any
                insight. Thanks!<br>
                > ><br>
                > > Amit<br>
                > ><br>
                > ><br>
                > ><br>
                > ><br>
                > > On Mon, Dec 15, 2014 at 1:49 PM, John
                Dickinson <<a href="mailto:me@not.mn" target="_blank">me@not.mn</a>> wrote:<br>
                > > Sounds like you're looking for a global
                cluster. You don't need multiple rings for this. Swift
                can support this. When you add a new device to a ring,
                you add it in a different region, and Swift takes care
                of it for you.<br>
                > ><br>
                > > Here's some more information:<br>
                > ><br>
                > > <a href="http://docs.openstack.org/developer/swift/admin_guide.html#geographically-distributed-clusters" target="_blank">http://docs.openstack.org/developer/swift/admin_guide.html#geographically-distributed-clusters</a><br>
                > > <a href="https://www.youtube.com/watch?v=mcaTwhP_rPE" target="_blank">https://www.youtube.com/watch?v=mcaTwhP_rPE</a><br>
                > > <a href="https://www.youtube.com/watch?v=LpmBRqevuVU" target="_blank">https://www.youtube.com/watch?v=LpmBRqevuVU</a><br>
                > ><br>
                > > <a href="https://swiftstack.com/blog/2013/07/02/swift-1-9-0-release/" target="_blank">https://swiftstack.com/blog/2013/07/02/swift-1-9-0-release/</a><br>
                > > <a href="https://swiftstack.com/blog/2012/09/16/globally-distributed-openstack-swift-cluster/" target="_blank">https://swiftstack.com/blog/2012/09/16/globally-distributed-openstack-swift-cluster/</a><br>
                > > <a href="https://www.swiftstack.com/docs/admin/cluster_management/regions.html" target="_blank">https://www.swiftstack.com/docs/admin/cluster_management/regions.html</a><br>
                > ><br>
                > ><br>
                > ><br>
                > > --John<br>
                > ><br>
                > ><br>
                > ><br>
                > ><br>
                > ><br>
                > > > On Dec 15, 2014, at 10:15 AM, Amit Anand
                <<a href="mailto:aanand@viimed.com" target="_blank">aanand@viimed.com</a>>
                wrote:<br>
                > > ><br>
                > > > Hi all,<br>
                > > ><br>
                > > > I was wondering if anyone knew of any
                good blog posts and videos that could show/explain what
                I am trying to do. I have Juno setup and it working
                great (thanks to everyone on heres help)! Now, I would
                like to add two more Object Store nodes, but as a
                separate "datacenter" as it were and replicate between
                my existing ring and the new one. Now, Im not sure
                exactly what to do for the account/container/object
                rings and how to get them to replicate (so if one goes
                down the other will still continue to serve data). I am
                also going to try and add another storage node just as a
                backup for existing data. Would anyone have any good
                links to send me I would appreciate it!<br>
                > > ><br>
                > > > Thanks!<br>
                > > > Amit Anand<br>
                > > >
                _______________________________________________<br>
                > > > Mailing list: <a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack" target="_blank">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack</a><br>
                > > > Post to     : <a href="mailto:openstack@lists.openstack.org" target="_blank">openstack@lists.openstack.org</a><br>
                > > > Unsubscribe : <a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack" target="_blank">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack</a><br>
                > ><br>
                > ><br>
                ><br>
                ><br>
                <br>
              </div>
            </div>
          </blockquote>
        </div>
        <br>
      </div>
      <br>
      <fieldset></fieldset>
      <br>
      <pre>_______________________________________________
Mailing list: <a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack" target="_blank">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack</a>
Post to     : <a href="mailto:openstack@lists.openstack.org" target="_blank">openstack@lists.openstack.org</a>
Unsubscribe : <a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack" target="_blank">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack</a>
</pre>
    </blockquote>
    <br>
  </div></div></div>

</blockquote></div><br></div></div>