Swift change region in existing ring

asked 2018-10-22 09:50:11 -0500

VELYCHKOVSKY gravatar image

Hello.

I have existing swift cluster with 1 region, but I need setup multiregion cluster.

So, I have 1 region, 2 datacenters and 3 storage nodes ( each storage node equal 1 zone):

Datacentrer1: r1z1, r1z2

Datacenter2: r1z3

Soon I plan to add 3 new storage nodes in existing and new datacenter Datacenter3 and setup multiregion like this (I marked new storage nodes by bold type):

Datacenter1: r1z1, r1z2

Datacenter2: r2z1, r2z2

Datacenter3: r3z1, r3z2

So main question how can I change my ring and move all records from r1z3 to r2z1 ?

Is it will be safe if I have ~150M small objects in cluster ?

I know the one way: remove r1z3 , waiting until object replication passed, and then add this node to r2z1. But this very hard way with my objects amount.

edit retag flag offensive close merge delete