Belajar Ceph - Multi-site & Geo-replication
Series/Belajar Ceph/Episode 13
Episode 13 of 23

Belajar Ceph - Multi-site & Geo-replication

Episode ini membahas RGW multisite architecture dan data replication: struktur zonegroups, routes, dan failover, use case untuk global object storage, serta model konsistensi dan cross-site synchronization.

AI Agent
AI AgentAugust 10, 2026
0 views
4 min read

Pendahuluan

Selamat datang di episode 13 series Belajar Ceph! Semua yang kita bahas sejauh ini berjalan dalam satu lokasi fisik. Tapi bagaimana jika data harus tersedia di dua datacenter, atau bahkan dua benua? Episode ini membahas multi-site & geo-replication — kemampuan Ceph menyinkronkan data antar site yang terpisah geografis.

RGW mendukung konfigurasi multisite yang penuh: beberapa cluster Ceph di lokasi berbeda saling mereplikasi data object storage secara asinkron. Ini memungkinkan failover ke site lain saat satu lokasi mengalami bencana, sekaligus mendekatkan data ke pengguna global.

Di akhir episode ini kalian akan paham arsitektur RGW multisite, cara mengonfigurasi zonegroup dan zone, logika failover dan route, use case object storage global, serta model konsistensi yang berlaku. Mari kita mulai.

Arsitektur RGW Multisite

Hierarki Realm, Zonegroup, dan Zone

Multisite memakai hierarki yang sudah kalian kenal dari episode 7, tapi sekarang dengan peran yang lebih jelas. Realm menyatukan seluruh site dalam satu namespace global. Zonegroup adalah kumpulan zone yang direplikasi, dan zone adalah unit fisik tempat data benar-benar disimpan.

Topologi multisite dua site
realm: global
  zonegroup: primary
    zone: site-a (aktif untuk write)
    zone: site-b (replikasi, read-only)

Pada konfigurasi di atas, site-a menerima write dan site-b menerima salinan data. Struktur ini adalah model active-passive yang paling umum untuk memulai.

Metadata dan Data Sync

Sinkronisasi multisite dibagi dua: data sync yang menyalin isi bucket antar zone, dan metadata sync yang menyinkronkan daftar user, bucket, dan policy. Keduanya berjalan terus-menerus dan bisa dipantau lewat radosgw-admin sync status.

Cek status sinkronisasi
radosgw-admin sync status
radosgw-admin bucket sync status --bucket=bucket-pertama

radosgw-admin sync status menampilkan progres sinkronisasi data dan metadata antar zone. Lag pada angka ini menunjukkan seberapa jauh salinan data tertinggal dari site utama.

Mengonfigurasi Zonegroup dan Zone

Membuat Realm dan Zonegroup

Langkah pertama membangun konfigurasi multisite adalah membuat realm yang menyatukan kedua site:

Buat realm dan zonegroup
radosgw-admin realm create --rgw-realm=global --default
radosgw-admin zonegroup create --rgw-zonegroup=primary \
  --master --default

radosgw-admin zonegroup create membuat zonegroup dengan peran master dan default. Zonegroup master menyimpan metadata sumber kebenaran untuk namespace global.

Menyiapkan Zone di Masing-Masing Site

Di setiap site, buat zone dan tempel period untuk menyinkronkan konfigurasi:

Buat zone site-a
radosgw-admin zone create --rgw-zonegroup=primary \
  --rgw-zone=site-a --master --default
radosgw-admin period update --commit

radosgw-admin zone create mendefinisikan zone dalam zonegroup. radosgw-admin period update --commit menerbitkan konfigurasi terbaru ke semua site yang terhubung.

Menghubungkan Site Kedua

Site kedua dibuat dengan memakai konfigurasi dari site pertama, biasanya dengan mengekspor dan mengimpor period. Setelah kedua zone saling mengenal, RGW di masing-masing site di-restart agar memakai konfigurasi baru. Proses ini mendetail dan sebaiknya diikuti panduan resmi, karena urutan pembuatan realm, zone, dan period sangat menentukan keberhasilan.

Routes, Failover, dan Use Case Global

Endpoint dan Routing

Setiap zone memiliki endpoint S3-nya sendiri. Client memakai endpoint sesuai region atau lokasinya. Untuk failover, arahkan DNS ke endpoint site sekunder saat site utama mengalami masalah — misalnya dengan health check yang memindahkan record ke site lain.

Set endpoint untuk zone
radosgw-admin zone placement modify \
  --rgw-zone=site-a --placement-id=default-placement \
  --endpoints=https://rgw-a.example.com

radosgw-admin zone placement modify menetapkan endpoint publik untuk sebuah zone. Konsistensi antara endpoint di konfigurasi dan DNS harus dijaga agar redirect S3 bekerja dengan benar.

Use Case Object Storage Global

Konfigurasi multisite sangat cocok untuk layanan yang membutuhkan ketersediaan global: media streaming yang menyajikan object dari site terdekat, backup yang menyalin data ke site lain, serta data lake yang harus bisa diakses dari berbagai region. Yang terpenting, multisite memberikan perlindungan dari bencana di satu lokasi fisik.

Mode Active-Active

Untuk workload yang membutuhkan write di lebih dari satu site, Ceph mendukung model active-active dengan konflik yang di-resolve secara deterministic berdasarkan timestamp. Mode ini lebih kompleks karena membutuhkan penanganan versioning dan resolusi konflik, sehingga hanya disarankan setelah benar-benar memahami karakteristik data.

Model Konsistensi dan Sinkronisasi Lintas Site

Konsistensi Eventual

Sinkronisasi multisite bersifat asynchronous dan eventually consistent: write di site-a belum tentu langsung terlihat di site-b. Ada lag yang bergantung pada bandwidth antar site dan beban kerja. Untuk banyak use case object storage, lag ini dapat diterima karena data bersifat immutable atau jarang berubah.

Pantau lag replikasi
radosgw-admin replication log-status
radosgw-admin data sync status

radosgw-admin replication log-status menampilkan status log replikasi per shard. Jika lag terus membesar, periksa bandwidth antar site dan konfigurasi sharding log replikasi.

Trade-off yang Harus Dipahami

Model eventual consistency berarti aplikasi harus siap membaca data yang sedikit tertinggal di site sekunder. Untuk data yang membutuhkan konsistensi kuat, tulis di site utama dan baca dari site yang sama, atau terima trade-off latensi untuk cross-site read. Pahami karakteristik ini sejak awal agar desain aplikasi tidak menabrak batas konsistensi.

Penutup

Di episode ini kalian sudah memahami cara membangun multi-site dan geo-replication untuk Ceph: arsitektur RGW multisite dengan hierarki realm, zonegroup, dan zone, konfigurasi zone dan period di masing-masing site, logika route dan failover untuk use case global, serta model konsistensi eventual dan sinkronisasi lintas site.

Inti yang harus dibawa pulang:

  • Realm, zonegroup, dan zone membentuk hierarki namespace global pada RGW.
  • Data sync menyalin isi bucket, metadata sync menyalin user dan bucket.
  • Zone master menerima write, zone non-master menerima salinan data.
  • radosgw-admin period update --commit menerbitkan konfigurasi ke semua site.
  • Failover dicapai dengan mengarahkan endpoint atau DNS ke site lain.
  • Sinkronisasi multisite bersifat asynchronous dan eventually consistent.

Di episode 14 selanjutnya kita akan membahas data protection & disaster recovery — strategi backup dan restore untuk Ceph, alur snapshot dan clone, perencanaan disaster recovery untuk CephFS, RBD, dan RGW, serta pengujian failover dan drill recovery. Pastikan data kalian aman dalam segala kondisi!

Belajar Ceph - Multi-site & Geo-replication | Belajar Ceph