Rebalance Object Storage rings
When you change the Object Storage service (swift) topology, the swift-operator rebalances the rings. For external data plane nodes, push the updated rings to the data plane nodes. After a rebalance, verify that all data has been moved to its new location before performing another rebalance.
Before you begin Copy linkLink copied!
- You have populated the dispersion tool before the rebalance. You only need to run this command once per cluster:
$ oc debug --keep-labels=true job/swift-ring-rebalance -- /bin/sh -c 'swift-ring-tool get && swift-dispersion-populate'This creates a set of test objects and containers that are distributed across all partitions in the ring. The dispersion tool uses these to verify that all replicas are in the expected locations. You must run this command before a rebalance so that the test objects are placed according to the current ring layout.
About this task Copy linkLink copied!
Successive rebalances must respect the minPartHours interval. A rebalance is only possible when swift-ring-builder shows 0:00:00 remaining.
Procedure Copy linkLink copied!
Custom rings Copy linkLink copied!
You can create custom rings to update existing Object Storage service (swift) clusters.
When you add new nodes to a cluster, their characteristics might differ from those of the original nodes. Without custom adjustments, the larger capacity of the new nodes might be underused, or if weights change in the rings, data dispersion can become uneven, which reduces safety.
The ring builder helps manage Object Storage as clusters grow and technologies evolve. For assistance with creating custom rings, contact Red Hat Support.