Ask Your Question

swift ring change

asked 2014-05-22 06:30:31 -0500

blazesurfer gravatar image

Node Internal IP


account.builder, build version 20
262144 partitions, 1.000000 replicas, 1 regions, 1 zones, 4 devices, 0.73 balance
The minimum number of hours before a partition can be reassigned is 1
Devices:    id  region  zone      ip address  port      name weight partitions balance meta
             0     1     1  6012      sdb1   1.00         66    0.73
             1     1     1  6012      sdc1   0.00          0    0.00
             2     1     1  6012      sdd1 2000.00     131039   -0.00
             3     1     1  6012      sde1 2000.00     131039   -0.00

I want to change the to

is this as simple as

swift-ring-builder account.builder remove z1
swift-ring-builder account.builder add z1- 2000 

so basicly rebuilding the ring with out blowing it away.

Plan is to add another node and then

swift-ring-builder account.builder set_replicas 3
edit retag flag offensive close merge delete


Any one performed this as yet? is there away confirm all replication stages have ended before i do the next move?

blazesurfer gravatar imageblazesurfer ( 2014-06-06 03:50:40 -0500 )edit

2 answers

Sort by ยป oldest newest most voted

answered 2014-05-25 16:47:41 -0500

SamYaple gravatar image

It is as simple as that! Unfortunatly, it is not as quick as that.

The procedure is

  • Remove one device
  • Add one device
  • Rebalance
  • Wait 1 hour
  • Repeat

You have to wait because Swift can only move a partition once an hour the way yours is setup (this may be configurable). You may not have to wait an hour between each device, but you will likely run into that issue before you have replaced them all.

edit flag offensive delete link more


Ok so I can configure the partition pre hour move. Luckily no massive cluster but need to get those drives balanced and they are not balancing.either so gonna keep me busy.

On the configure partition move any direction where to configure? Will start doco surfing for a bit.


blazesurfer gravatar imageblazesurfer ( 2014-05-25 16:54:28 -0500 )edit

I apologize, I do not understand your question. Please rephrase it.

SamYaple gravatar imageSamYaple ( 2014-05-25 16:55:49 -0500 )edit

Hi Sam,

Sorry questions was do you know where I can find the information or the configuration i need to change to set the partition move to be allowed more often then every hour?

Doco surf = I will search through the swift documentation for the answer as well incase you didnt know.

blazesurfer gravatar imageblazesurfer ( 2014-05-25 18:55:18 -0500 )edit

The "min_part_hours" setting in the ring should be set to the time it takes for your cluster to complete a replication pass. This keeps your data available, even while you're in the middle of capacity adjustments. See

notmyname gravatar imagenotmyname ( 2014-05-25 21:49:04 -0500 )edit

Can i use set_info to change the ip with out having to rebalance the ring?

blazesurfer gravatar imageblazesurfer ( 2014-06-06 03:46:55 -0500 )edit

answered 2018-10-16 00:56:19 -0500

swift-ring-builder object-1.builder set_info --ip --change-ip --change-replication-ip

edit flag offensive delete link more

Get to know Ask OpenStack

Resources for moderators

Question Tools

1 follower


Asked: 2014-05-22 06:30:31 -0500

Seen: 314 times

Last updated: May 25 '14