Skip to content

Chorus

Chorus provides zero-downtime data replication and migration between S3 and Swift object storage systems. It runs as a transparent proxy in front of a Ceph RGW cluster, enabling live migration from one object store to another without application downtime.

What Chorus does

  • Replication - mirrors objects from a source object store to a destination, at the user or bucket level
  • Migration - moves data between object stores without downtime; traffic is proxied so reads and writes work during migration
  • Multi-backend support - works with any S3 or Swift-compatible storage, not only Ceph

Architecture

Chorus has two components:

ComponentRole
Chorus ProxyIntercepts S3/Swift requests, proxies them to the active backend, and enqueues replication tasks
Chorus WorkerProcesses replication tasks in the background; copies objects to the destination backend

Replication policies are configured per user or per bucket. Webhooks are supported for event-driven replication triggers.

Use cases in CobaltCore

  • Storage migration - move RGW data to a new Ceph cluster (e.g., during hardware refresh) without application changes
  • Multi-site replication - replicate buckets across two sites for disaster recovery
  • Parallel writes - write to both a primary and secondary store during a transition period

See also

EU and German government funding logos

Funded by the European Union – NextGenerationEU.

The views and opinions expressed are solely those of the author(s) and do not necessarily reflect the views of the European Union or the European Commission. Neither the European Union nor the European Commission can be held responsible for them.