[Openstack] (Juno) Multiple rings Swift

Amit Anand aanand at viimed.com
Mon Dec 22 18:11:03 UTC 2014


HI all,

So now I want to add a third "datacenter" basically more storage nodes. Now
I want to try and do the following below:

http://techs.enovance.com/7094/openstack-swift-2-0-introducing-storage-policies

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)

swift-ring-builder account.builder create

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.

Basic setup that I am trying

Paris - HQ  Ring 1
Montreal - HQ Ring 2

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!!

Thanks

Amit Anand


On Wed, Dec 17, 2014 at 4:14 AM, Jonathan Lu <jojokururu at gmail.com> wrote:

>  Hi,
>     It seems that John has helped a lot. I just share 2 blogs that I think
> is related with your issue.
>
>     https://swiftstack.com/blog/2012/04/09/swift-capacity-management/
>
> https://swiftstack.com/blog/2013/12/20/upgrade-openstack-swift-no-downtime/
>
> -- Jonathan Lu
>
>
> On 2014/12/17 4:06, Amit Anand wrote:
>
> 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?
>
>  And you guys dont have a free version of Swiftstack available per chance
> do you :-)
>
>
>
>
> On Tue, Dec 16, 2014 at 12:48 PM, John Dickinson <me at not.mn> wrote:
>
>> 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.
>>
>> --John
>>
>>
>>
>>
>> > On Dec 16, 2014, at 9:39 AM, Amit Anand <aanand at viimed.com> wrote:
>> >
>> > 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.
>> >
>> > On Tue, Dec 16, 2014 at 12:35 PM, John Dickinson <me at not.mn> wrote:
>> > 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
>> https://swiftstack.com/blog/2012/04/09/swift-capacity-management/
>> >
>> > --John
>> >
>> >
>> >
>> >
>> >
>> >
>> > > On Dec 16, 2014, at 9:09 AM, Amit Anand <aanand at viimed.com> wrote:
>> > >
>> > > Hi John thank you!
>> > >
>> > > 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:
>> > >
>> > > [root at controller swift]# swift-ring-builder object.builder rebalance
>> > > Reassigned 1024 (100.00%) partitions. Balance is now 38.80.
>> > >
>> -------------------------------------------------------------------------------
>> > > NOTE: Balance of 38.80 indicates you should push this
>> > >       ring, wait at least 1 hours, and rebalance/repush.
>> > >
>> -------------------------------------------------------------------------------
>> > >
>> > >
>> > > 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:
>> > >
>> > > [root at controller swift]# swift-ring-builder object.builder rebalance
>> > > No partitions could be reassigned.
>> > > Either none need to be or none can be due to min_part_hours [1].
>> > >
>> > > Devices 4,5,6,7 are the new ones I added in region 2.
>> > >
>> > >
>> > > [root at controller swift]#  swift-ring-builder object.builder
>> > > object.builder, build version 9
>> > > 1024 partitions, 3.000000 replicas, 2 regions, 2 zones, 8 devices,
>> 38.80 balance
>> > > The minimum number of hours before a partition can be reassigned is 1
>> > > Devices:    id  region  zone      ip address  port  replication ip
>> replication port      name weight partitions balance meta
>> > >              0       1     1       10.7.5.51  6000       10.7.5.51
>>           6000      sda3 100.00        501   30.47
>> > >              1       1     1       10.7.5.51  6000       10.7.5.51
>>           6000      sda4 100.00        533   38.80
>> > >              2       1     1       10.7.5.52  6000       10.7.5.52
>>           6000      sda3 100.00        512   33.33
>> > >              3       1     1       10.7.5.52  6000       10.7.5.52
>>           6000      sda4 100.00        502   30.73
>> > >              4       2     1       10.7.5.53  6000       10.7.5.53
>>           6000      sda3 100.00        256  -33.33
>> > >              5       2     1       10.7.5.53  6000       10.7.5.53
>>           6000      sda4 100.00        256  -33.33
>> > >              6       2     1       10.7.5.54  6000       10.7.5.54
>>           6000      sda3 100.00        256  -33.33
>> > >              7       2     1       10.7.5.54  6000       10.7.5.54
>>           6000      sda4 100.00        256  -33.33
>> > >
>> > >
>> > >
>> > > 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!
>> > >
>> > > Amit
>> > >
>> > >
>> > >
>> > >
>> > > On Mon, Dec 15, 2014 at 1:49 PM, John Dickinson <me at not.mn> wrote:
>> > > 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.
>> > >
>> > > Here's some more information:
>> > >
>> > >
>> http://docs.openstack.org/developer/swift/admin_guide.html#geographically-distributed-clusters
>> > > https://www.youtube.com/watch?v=mcaTwhP_rPE
>> > > https://www.youtube.com/watch?v=LpmBRqevuVU
>> > >
>> > > https://swiftstack.com/blog/2013/07/02/swift-1-9-0-release/
>> > >
>> https://swiftstack.com/blog/2012/09/16/globally-distributed-openstack-swift-cluster/
>> > > https://www.swiftstack.com/docs/admin/cluster_management/regions.html
>> > >
>> > >
>> > >
>> > > --John
>> > >
>> > >
>> > >
>> > >
>> > >
>> > > > On Dec 15, 2014, at 10:15 AM, Amit Anand <aanand at viimed.com> wrote:
>> > > >
>> > > > Hi all,
>> > > >
>> > > > 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!
>> > > >
>> > > > Thanks!
>> > > > Amit Anand
>> > > > _______________________________________________
>> > > > Mailing list:
>> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack
>> > > > Post to     : openstack at lists.openstack.org
>> > > > Unsubscribe :
>> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack
>> > >
>> > >
>> >
>> >
>>
>>
>
>
> _______________________________________________
> Mailing list: http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack
> Post to     : openstack at lists.openstack.org
> Unsubscribe : http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstack.org/pipermail/openstack/attachments/20141222/5e247719/attachment.html>


More information about the Openstack mailing list