Hai semuanya, apa kabar? Kali ini kita akan “ngulik” Proxmox VE lagi. Kita akan melakukan pengujian untuk sinkronisasi disk VM dari PVE7 (IP 44) ke PVE9 (IP 45). Masing-masing standalone/single server, tidak tergabung ke dalam cluster. Kita akan menggunakan fitur Ceph RBD Mirroring.
Persiapan awalnya adalah, kedua server sudah diinstal Ceph (single server) dan sudah memiliki pool dengan nama yang sama (dalam pengujian kali ini namanya adalah vmpool).
Membuat Kunci Akses di PVE7
Agar server PVE9 dapat mengambil data, butuh “kunci duplikat”. Kita akan membuat user yang nantinya digunakan untuk keperluan peering. Lakukan perintah di bawah ini dari server PVE7 (source).
ceph auth get-or-create client.rbd-mirror-peer-a mon 'profile rbd' osd 'profile rbd' -o /etc/pve/priv/site-a.client.rbd-mirror-peer-a.keyring
Lalu, kirimkan kunci tersebut ke PVE9 (target).
scp /etc/pve/priv/site-a.client.rbd-mirror-peer-a.keyring root@192.168.9.45:/etc/pve/priv
root@192.168.9.45's password:
site-a.client.rbd-mirror- 100% 75 138.5KB/s 00:00
root@pve7:~#
Konfigurasi di PVE9
Di server PVE9, kita juga perlu menyiapkan local user yang akan digunakan untuk proses mirroring.
# Buat user lokal untuk daemon
ceph auth get-or-create client.rbd-mirror.$(hostname) mon 'profile rbd-mirror' osd 'profile rbd' -o /etc/pve/priv/ceph.client.rbd-mirror.$(hostname).keyring
# Ambil konfigurasi Ceph dari PVE7 agar PVE9 tahu alamat monitornya
scp root@192.168.9.44:/etc/pve/ceph.conf /etc/pve/site-a.conf
File site-a.conf berfungsi sebagai petunjuk bagi PVE9 untuk menemukan jalan ke server PVE7.
Proses sinkronisasi ini menggunakan daemon bernama rbd-mirror yang tugasnya adalah melakukan copy data.
Konfigurasi Mirroring dan Peering
Kita perlu “memberitahu” ke PVE9 bahwa ia akan menerima data dari luar. Kita akan menggunakan image mode agar kita bisa memilih disk mana yang direplikasi. Jalankan perintah berikut pada PVE9:
root@pve9:~# rbd mirror pool enable vmpool image
root@pve9:~# rbd mirror pool peer add vmpool client.rbd-mirror-peer-a@site-a
Perintah di bawah ini digunakan untuk mengecek kondisi peering-nya.
root@pve9:~# rbd mirror pool info vmpool
Mode: image
Peer Sites: site-a (Direction: rx-tx)
Instalasi RBD Mirror di PVE9
Jalankan perintah berikut:
apt update && apt install rbd-mirror -y
Daemon (user) juga perlu diubah menjadi root agar memiliki akses ke keyring yang terletak pada direktori /etc/pve/priv.
cp /usr/lib/systemd/system/ceph-rbd-mirror@.service /etc/systemd/system/ceph-rbd-mirror@.service
sed -i -e 's/setuser ceph.*/setuser root --setgroup root/' /etc/systemd/system/ceph-rbd-mirror@.service
systemctl daemon-reload
systemctl enable --now ceph-rbd-mirror@rbd-mirror.$(hostname).service
Proses Replikasi VM
Kita akan melakukan proses replikasi data VM dengan ID 100 yang berada di PVE7 dan akan dikirim ke PVE9. Kita aktifkan terlebih dahulu mirroring pada disk yang digunakan oleh VM 100.
root@pve7:~# rbd mirror pool enable vmpool image
root@pve7:~# rbd mirror image enable vmpool/vm-100-disk-0 snapshot
Mirroring enabled
Kita juga bisa menjadwalkan proses replikasinya, misalnya setiap 5 menit sekali. Gunakan perintah berikut:
root@pve7:~# rbd mirror snapshot schedule add --pool vmpool 5m
Validasi
Kita cek apakah proses replikasi antar server (non-cluster) berhasil atau tidak. Kita cek di PVE9.
root@pve9:~# rbd ls -p vmpool
vm-100-disk-0
Berhasil. Disk dari PVE7 sudah “sampai” di PVE9. Kita juga bisa cek status sinkronisasinya.
root@pve9:~# rbd mirror image status vmpool/vm-100-disk-0
state: up+replaying
Description: replaying
up: Artinya, daemonrbd-mirrordi PVE9 aktif dan berhasil terkoneksi ke PVE7.replaying: Artinya PVE9 menyalin data yang dikirimkan dari PVE7.
Kita juga bisa cek dari web browser bahwa pada vmpool yang ada di PVE9, disk VM 100 sudah berhasil muncul.

Untuk tulisan kali ini, sampai di sini dulu ya. Sampai jumpa. Bye.