how the migration of data in swift is done? [closed]

asked 2015-04-06 12:32:43 -0500

AminaM gravatar image

updated 2015-04-06 13:56:54 -0500

When we add new drive to a ring in Swift, and rebalance the, what are the steps Swift makes to migrate data from one drive to another? I think that the replicator performs these tasks. But can anyone enumerate the steps for me ? Is the data replicated first and the deleted from the source? Is that a possibility that two storage nodes replicate the same data to one other storage node?

edit retag flag offensive reopen merge delete

Closed for the following reason the question is answered, right answer was accepted by omar-munoz
close date 2015-04-21 10:31:58.258951

4 answers

Sort by ยป oldest newest most voted

answered 2015-04-08 17:01:10 -0500

torgomatic gravatar image

Basically, the object replicator scans its local disks to find partitions, pushes the data in those partitions to the primary nodes that it belongs on, and if the partition does not belong on the local node, deletes it. Deletion will only occur if it was successfully pushed to all the primary nodes, though, so if one is down then durability is not compromised.

There's no coordination between instances of the object replicator, so it's entirely possible for two replicators to be pushing the same partition to the same node at the same time. If this happens, then some bytes are transferred needlessly, but it doesn't hurt anything.

edit flag offensive delete link more


Thank you!

AminaM gravatar imageAminaM ( 2015-04-10 09:40:56 -0500 )edit

answered 2015-04-06 13:07:11 -0500

Did you already try this from the proxy node ? swift-ring-builder /etc/swift/account.builder rebalance

edit flag offensive delete link more


I'm asking about the steps that swift do after a rebalance.

AminaM gravatar imageAminaM ( 2015-04-06 13:52:09 -0500 )edit

answered 2015-04-21 04:59:55 -0500

ddenia gravatar image

updated 2015-04-21 05:00:14 -0500

root@swift-srv:/etc/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].

how do you know when the process is completed rebalance????

edit flag offensive delete link more

answered 2015-04-08 23:20:59 -0500

RHK gravatar image
edit flag offensive delete link more

Get to know Ask OpenStack

Resources for moderators

Question Tools

1 follower


Asked: 2015-04-06 12:32:43 -0500

Seen: 653 times

Last updated: Apr 21 '15