External ring management

By default, the Object Storage service (swift) creates and manages rings automatically for PersistentVolume (PV) and data plane devices. For larger deployments or specific ring requirements, use external ring management to manage rings manually.

External ring management is useful in the following scenarios:

  • Your deployment uses multiple storage policies that require separate ring files.
  • Your ring files exceed 1 MiB in size, which is the etcd storage limitation for ConfigMaps.
  • You need precise control over ring configuration, device weights, or rebalancing operations.

When you use external ring management, you are responsible for:

  • Creating and maintaining the ring files using the swift-ring-builder tool.
  • Uploading the ring files to ConfigMaps in the OpenShift cluster.
  • Rebalancing rings as needed when adding or removing storage devices.

The Object Storage service requires the following ring files as a minimum:

  • account.ring.gz
  • container.ring.gz
  • object.ring.gz

Additional ring files are required if you use custom storage policies.

Using the swift-ring-builder tool
You create and manage ring files by using the swift-ring-builder tool, which is included in the Object Storage service. You can either install the Object Storage service packages locally to use the tool, or use the tool with podman and a container image.