Hai semuanya, apa kabar? Kita belajar lagi tentang Proxmox VE. Salah satu solusi storage yang didukung pada Proxmox VE adalah Ceph. Ceph memiliki banyak keunggulan dan bisa dibilang sudah enterprise-grade. Kita akan sama-sama bahas lebih jauh tentang beberapa komponen yang ada di dalam Ceph. Yaitu OSD, PG, dan Pool.
OSD (Object Storage Daemon).
OSD bisa dibilang menjadi komponen yang paling “sibuk” di Ceph. Fungsi utamanya adalah menangani proses read & write data dari dan ke disk.
Misalnya, kita punya lima server Proxmox VE yang menggunakan Ceph. Maka kelima server tersebut semuanya bertindak sebagai Ceph Client yang melakukan tugas atau fungsi read & write ke Ceph Storage (OSD).
Selain itu, ada fitur menarik di Ceph yang namanya Data Scrubbing. Fungsinya adalah untuk memeriksa integritas data secara berkala. Misalnya ada data yang corrupt atau rusak, akan ada notifikasi dari Ceph atau bahkan (kalau memungkinkan) akan dilakukan proses self-healing.

Cara Kerja Replikasi Data di Ceph
Prosesnya bisa digambarkan secara singkat seperti gambar berikut:

Penjelasan:
-
- Client -> Primary OSD: Client mengirim data (write) ke OSD utama.
- 2 & 3. Replikasi ke Secondary OSD: Primary OSD meneruskan data tersebut ke OSD cadangan (Secondary 1 & 2).
- 4 & 5. Acknowledgement: Secondary OSD menginformasikan ke Primary OSD bahwa data sudah berhasil ditulis.
- 6. Final Ack. Setelah semua data pada Secondary OSD aman, Primary OSD akan menginformasikan ke klien bahwa data sudah berhasil tersimpan.Catatan: Client baru mendapatkan konfirmasi (ack) setelah data berhasil tersimpan pada semua replika. Maka dari itu, Ceph disarankan menggunakan jaringan yang cepat (setidaknya 10Gbps).
Pools dan Placement Groups
Pools
Merupakan logical partition untuk menyimpan data. Saat data hendak disimpan, akan ada mapping untuk menyimpan datanya. Di map inilah ada yang namanya CRUSH rule, yaitu semacam algoritma yang menentukan di mana data harus diletakkan/disimpan agar aman.
Placement Group
Data tidak langsung “dilempar” ke disk/OSD begitu saja.
- Data dipecah lagi menjadi object.
- Object tadi dikelompokkan ke dalam Placement Group (PG).
- PG ini yang nantinya akan didistribusikan ke OSD yang ada di seluruh cluster.
Kalau diibaratkan, Pool itu mirip seperti gudang, PG sebagai palet barang, dan OSD adalah rak penyimpanannya. Dengan PG, Ceph jadi lebih mudah dalam proses pemetaan file ke disk/OSD.

Itu dulu tulisan kali ini. Sampai jumpa. Bye.
