Hai semuanya, apa kabar? Kali ini kita lanjutin lagi pembahasan Ceph – Proxmox VE-nya. Pada tulisan sebelumnya, kita sudah melakukan simulasi rebuild ulang penyimpanan Ceph saat Monitor-nya terkendala (PVE v7). Sekarang kita akan coba lakukan di Proxmox VE versi 9. Ada beberapa perbedaan yang perlu diperhatikan.
Perbedaan dari v7 adalah adanya komponen atau protokol keamanan bernama Cephx yang “ketat”. Apabila kita melakukan tahapan yang sama seperti pada v7, maka database yang baru di-rebuild tidak mau menerima “kunci” dari admin (ada pesan error seperti Permission Denied).
Persiapan dan Stop Service
Simulasinya adalah, anggap saja ada komponen Ceph (seperti Monitor) yang crash atau rusak. Untuk melakukan recovery, kita perlu menghentikan layanan Ceph yang ada untuk menghindari risiko konflik data. Kita dapat menggunakan perintah berikut:
systemctl stop ceph-mon.target
systemctl stop ceph-osd.target
Ambil Data dari OSD
Tool yang digunakan adalah ceph-objectstore-tool yang digunakan untuk mengambil data dari OSD yang masih sehat. Pertama, kita akan buat direktori baru untuk menampung data sementara.
mkdir -p /root/mon-store
Lalu, kita jalankan perintah ceph-objectstore-tool-nya. Contoh yang dilakukan pada pengujian kali ini adalah OSD sebanyak 3 buah (OSD 0, 1,2).
ceph-objectstore-tool --data-path /var/lib/ceph/osd/ceph-0 --no-mon-config --op update-mon-db --mon-store-path /root/mon-store
ceph-objectstore-tool --data-path /var/lib/ceph/osd/ceph-1 --no-mon-config --op update-mon-db --mon-store-path /root/mon-store
ceph-objectstore-tool --data-path /var/lib/ceph/osd/ceph-2 --no-mon-config --op update-mon-db --mon-store-path /root/mon-store
Rakit Ulang (Rebuild) Monitor Database
- Proses rebuild:
ceph-monstore-tool /root/mon-store rebuild --mon-ids pve9 - Hapus direktori lama (yang rusak):
rm -rf /var/lib/ceph/mon/ceph-pve9/store.db/* - Salin file db baru (hasil rebuild) ke direktori utama Ceph:
cp -av /root/mon-store/store.db/* /var/lib/ceph/mon/ceph-pve9/store.db/ - Sesuaikan hak akses:
chown -R ceph:ceph /var/lib/ceph/mon/ceph-pve9/store.db
Bypass Keamanan Cephx
Apabila kita jalankan monitor sekarang (langsung root@pve9:~# systemctl start ceph-mon@pve9 ), akan ada pesan error seperti Permission Denied. Kita perlu “mematikan” sementara proteksi keamanan dari Ceph-nya.
Buka file /etc/ceph/ceph.conf dan sesuaikan parameter global menjadi none. Contoh:
[global]
auth_cluster_required = none
auth_service_required = none
auth_client_required = none
Kemudian, nyalakan kembali Ceph Monitor-nya dengan menggunakan perintah systemctl restart ceph-mon@pve9.
Pemulihan MGR dan OSD
Saat proteksi Ceph kita matikan, akan ada pesan HEALTH_WARN yang muncul karena belum ada Manager (MGR) yang berjalan. Kita perlu mendaftarkan ulang “key” dari Admin dan lakukan proses rebuild dari MGR.
- Mendaftarkan ulang key:
ceph auth add client.admin -i /etc/ceph/ceph.client.admin.keyring - Buat ulang MGR:
pveceph mgr destroy pve9
pveceph mgr create - Aktifkan ulang OSD:
systemctl restart ceph-osd.target
Untuk cek status dari Ceph OSD, kita bisa gunakan perintah ceph osd tree
Aktifkan Kembali Keamanan Cephx
- Bersihkan pesan warning/peringatan:
ceph config set mon auth_allow_insecure_global_id_reclaim false - Buka kembali file
/etc/ceph/ceph.confdan atur kembali parameter[global]menjadicephx:auth_cluster_required = cephx auth_service_required = cephx auth_client_required = cephx - Mulai ulang Ceph:
systemctl restart ceph-mon@pve9 systemctl restart ceph-mgr@pve9 systemctl restart ceph-osd.target
Penutup
Peningkatan keamanan pada Proxmox VE 9 membutuhkan ketelitian ekstra saat melakukan recovery. Melalui kombinasi taktik ceph-objectstore-tool dan manipulasi parameter auth pada ceph.conf, kita bisa memulihkan sistem yang mati total secara mandiri tanpa kehilangan data. Pastikan Anda selalu menunggu status sinkronisasi data selesai sebelum melakukan aktivitas penulisan baru pada cluster.
Untuk tulisan kali ini sampai di sini dulu ya. Sampai jumpa.. Bye.
