Episode ini membahas cara memperluas ekosistem Ceph: layanan tambahan seperti CephFS snapshots, RBD mirroring, dan RGW bucket notifications, integrasi dengan Ansible dan Terraform, pengembangan tooling monitoring kustom, serta kontribusi ke ekosistem open-source Ceph.

Selamat datang di episode 18 series Belajar Ceph! Sejauh ini kalian memakai fitur bawaan Ceph. Tapi kekuatan sebenarnya sebuah platform ada di ekosistemnya: layanan tambahan, tooling otomasi, dan komunitas yang terus mengembangkannya. Episode ini membahas extending Ceph ecosystem.
Fitur-fitur lanjutan seperti RBD mirroring, bucket notification, dan integrasi dengan Ansible serta Terraform mengubah Ceph dari sekadar storage menjadi platform yang bisa dioperasikan seperti kode. Kalian juga akan melihat bagaimana tooling monitoring kustom dibangun di atas metrik yang sudah diekspos.
Di akhir episode ini kalian akan paham cara memakai layanan tambahan Ceph, mengotomasi operasional dengan Ansible dan Terraform, membangun tooling kustom, serta berkontribusi kembali ke proyek open-source Ceph. Mari kita mulai.
RBD mirroring mereplikasi image RBD ke cluster Ceph lain secara asinkron (atau sinkron). Ini memberikan disaster recovery di level block storage, berbeda dari multisite RGW yang menangani object storage:
rbd mirror pool enable rbd-pool image
rbd mirror pool info rbd-poolrbd mirror pool enable mengaktifkan mode mirroring image pada pool. Setelah peer cluster dihubungkan, setiap image yang ditandai akan direplikasi ke peer.
Kombinasi snapshot terjadwal dengan mirroring memberikan pemulihan yang lebih granular:
rbd mirror snapshot schedule add --pool rbd-pool \
--image vol-data 1h
rbd mirror snapshot schedule list --pool rbd-poolrbd mirror snapshot schedule add membuat snapshot setiap satu jam untuk image vol-data. Snapshot terjadwal ini ikut direplikasi dan menjadi titik pemulihan yang teratur.
Bucket notification menghubungkan object storage dengan sistem eksternal. Saat object dibuat, dihapus, atau dimodifikasi, RGW mengirim event ke message broker:
radosgw-admin topic create --name=data-baru \
--endpoint=kafka://kafka.example.com:9092radosgw-admin topic create mendefinisikan topic yang menunjuk ke broker Kafka. Topic ini lalu dipasang ke bucket sehingga setiap event object memicu notifikasi ke Kafka.
Meskipun cephadm menangani orchestration daemon, konfigurasi awal node dan integrasi dengan sistem lain sering diotomasi dengan Ansible. Playbook sederhana untuk memastikan konfigurasi dasar node:
- name: Siapkan node Ceph
hosts: ceph_nodes
become: true
tasks:
- name: Tambahkan user ceph
user:
name: ceph
groups: wheel
- name: Salin key SSH
authorized_key:
user: ceph
key: "{{ lookup('file', 'id_rsa.pub') }}"authorized_key memastikan key SSH node bootstrap tersebar ke semua node. Dengan Ansible, penyediaan 50 node tidak jauh berbeda dengan 3 node.
Terraform menangani provisioning infrastruktur — VM, disk, network — sebelum Ceph diinstall di atasnya:
resource "openstack_compute_instance_v2" "storage_node" {
name = "ceph-node-1"
flavor = "storage-flavor"
image = "rocky9"
count = 3
}openstack_compute_instance_v2 membuat tiga VM storage dengan flavor khusus. Kombinasi Terraform untuk infrastruktur dan Ansible untuk konfigurasi memberi pipeline provisioning yang bisa diulang.
Selain metrik bawaan, Ceph mengizinkan kalian mengekspos metrik kustom dari MGR module atau script yang memanggil API. Ini memungkinkan dashboards yang mencerminkan konteks bisnis, bukan hanya health cluster:
curl -s http://mgr-host:9283/metrics \
| grep ceph_pool_quota_bytes_usedceph_pool_quota_bytes_used adalah contoh metrik per pool yang bisa dijadikan dasar alert pemakaian kuota. Bangun query di Grafana untuk metrik apa pun yang tersedia di endpoint Prometheus.
Banyak tim membangun script internal untuk tugas berulang: laporan kapasitas harian, otomasi pembuatan user, atau integrasi dengan ticketing system. Alat ceph CLI dan radosgw-admin memakai format yang mudah di-parse, sehingga integrasi dengan script dan API internal relatif mudah.
Ceph adalah proyek open-source dengan komunitas aktif. Kontribusi tidak harus berupa kode — bisa juga dokumentasi, test report, atau membantu menjawab pertanyaan. Untuk kontribusi kode, mulai dari hal kecil: perbaiki bug, tambah test, atau perbaiki dokumentasi.
git clone https://github.com/ceph/ceph.git
cd cephgit clone menyalin source Ceph. Sebelum berkontribusi, baca panduan kontributor di docs.ceph.com dan mulai dengan issue berlabel good first issue — itu pintu masuk yang ramah untuk pemula.
Komunitas Ceph aktif di mailing list ceph-users dan ceph-devel, forum resmi, serta channel IRC. Mengikuti diskusi ini tidak hanya menambah wawasan, tetapi juga memperluas jaringan dan membuka peluang karier di bidang storage. Dokumentasi resmi dan changelog release juga menjadi sumber belajar yang tidak ada habisnya.
Di episode ini kalian sudah memahami cara memperluas ekosistem Ceph: memakai layanan tambahan seperti RBD mirroring, snapshot terjadwal, dan bucket notification, mengotomasi operasional dengan Ansible dan Terraform, membangun tooling monitoring kustom di atas metrik Prometheus, serta berkontribusi kembali ke proyek open-source Ceph.
Inti yang harus dibawa pulang:
Di episode 19 selanjutnya kita akan membahas operational readiness & runbooks — menyusun runbook untuk insiden dan pemulihan kesehatan cluster, mengelola maintenance window, upgrade, dan rolling update, menyiapkan prosedur disaster recovery dan pelatihan, serta membangun dokumentasi dan pengetahuan operasional tim. Saatnya mengubah skill jadi proses yang berulang!