Jika resource terbatas (khususnya host/node) dan ingin ujicoba ceph cluster, bisa ikuti “Panduan Setup Ceph Cluster di Single Node“. Jika ingin ujicoba pada Proxmox node langsung, bisa ikuti “Panduan Install Ceph Cluster di Single Node Proxmox“.
Pada tulisan kali ini, saya akan membuat ceph cluster multi node di Rocky Linux 9. Ceph server ini diinstall di atas VM pada Proxmox VE untuk kebutuhan lab
Adapun sistem requirement-nya:
– Minimum 2 disk per-node (1 disk untuk OS dan 1 disk untuk OSD)
– Sistem Operasi Rocky Linux 9
– IP address yang digunakan 192.168.1.41 – 192.168.1.43
Untuk ukuran disk, bisa start dari 30GB
# Persiapan Sistem
Sesuaikan /etc/hosts pada semua node seperti berikut
– Konfigurasi /etc/hosts
127.0.0.1 localhost 192.168.1.41 ceph1 192.168.1.42 ceph2 192.168.1.43 ceph3
– Konfigurasi Hostname
Jalankan pada node1
hostnamectl set-hostname ceph1
Jalankan pada node2
hostnamectl set-hostname ceph2
Jalankan pada node3
hostnamectl set-hostname ceph3
– Disable Firewall
Jalankan pada semua node command berikut
sed -i s/'SELINUX='/'#SELINUX='/g /etc/selinux/config echo 'SELINUX=disabled' >> /etc/selinux/config setenforce 0 service firewalld stop service iptables stop service ip6tables stop systemctl disable firewalld systemctl disable iptables systemctl disable ip6tables
# Install Dependensi
Jalankan pada semua node command berikut
dnf install podman python3 lvm2
# Install cephadm
Jalankan pada semua node command berikut
CEPH_RELEASE=19.2.1 curl --silent --remote-name --location https://download.ceph.com/rpm-${CEPH_RELEASE}/el9/noarch/cephadm chmod +x cephadm
Catatan: Untuk versi terbaru (CEPH_RELEASE), silakan cek active release pada tautan berikut: https://docs.ceph.com/en/latest/releases/#active-releases
# Add repo ceph squid
Jalankan pada semua node command berikut
./cephadm add-repo --release squid ./cephadm install cephadm install ceph-common
Untuk ceph versi latest dan stable, silakan cek berkala pada tautan berikut: https://docs.ceph.com/en/latest/releases/#active-releases
Cukup jalankan pada node1 saja
# Boostrap ceph
cephadm bootstrap \ --cluster-network 192.168.1.0/24 \ --mon-ip 192.168.1.41 \ --dashboard-password-noupdate \ --initial-dashboard-user admin \ --initial-dashboard-password ceph
Berikut contoh tampilan ketika proses bootstrap ceph selesai
Fetching dashboard port number... Ceph Dashboard is now available at: URL: https://ceph1:8443/ User: admin Password: ceph Enabling client.admin keyring and conf on hosts with "admin" label Saving cluster configuration to /var/lib/ceph/e8e018b8-0fd2-11f0-bcca-bc2411e54572/config directory You can access the Ceph CLI as following in case of multi-cluster or non-default config: sudo /usr/sbin/cephadm shell --fsid e8e018b8-0fd2-11f0-bcca-bc2411e54572 -c /etc/ceph/ceph.conf -k /etc/ceph/ceph.client.admin.keyring Or, if you are only running a single cluster on this host: sudo /usr/sbin/cephadm shell Bootstrap complete.
# Salin ceph public key
Salin ceph public key pada node lain. Jalankan perintah berikut pada node1
ssh-copy-id -f -i /etc/ceph/ceph.pub root@ceph2 ssh-copy-id -f -i /etc/ceph/ceph.pub root@ceph3
# Tambah Host/Node ke dalam cluster
Tambahkan host lain (node2 dan node3) ke dalam Ceph Cluster. Jalankan perintah berikut pada node1
ceph orch host add ceph2 192.168.1.42 --labels _admin ceph orch host add ceph3 192.168.1.43 --labels _admin
Catatan: Semua hosts yang memiliki _admin label akan memiliki salinan file ceph.conf dan client.admin keyring yang berada di folder /etc/ceph. Hal tersebut memungkinkan manajemen ceph dari multi host (node1, node2, dan node3)
# Menambahkan Ceph Monitor
Jalankan perintah berikut pada node1
ceph orch apply mon --unmanaged ceph orch daemon add mon ceph2:192.168.1.42 ceph orch daemon add mon ceph3:192.168.1.43 ceph orch apply mon --placement="ceph1,ceph2,ceph3"
Catatan: Rekomendasi ceph cluster memiliki 3 atau 5 monitor daemon yang tersebar pada beberapa hosts. Jika ada 5 atau lebih node pada cluster, direkomendasikan deploy 5 monitor daemon
# Menambahkan Ceph Manager
Jalankan perintah berikut pada node1
ceph orch apply mgr --placement="ceph1,ceph2,ceph3" ceph orch apply mgr 3
# Menambahkan OSD
Jadikan disk yang kedua pada masing-masing node sebagai OSD. Cukup Jalankan perintah berikut pada node1
ceph orch daemon add osd ceph1:/dev/sdb ceph orch daemon add osd ceph2:/dev/sdb ceph orch daemon add osd ceph3:/dev/sdb
Cek dengan perintah ceph -s atau ceph -w dan pastikan status health: HEALTH_OK
# Test akses ke dashboard
Login pada ceph dashboard dengan username admin dan password ceph sesuai dengan proses bootstrap di atas
# Testing membuat pool
ceph osd pool create rbdpool ceph osd pool application enable rbdpool rbd
Perintah di atas membuat pool dengan nama rbdpool. Tipe aplication untuk pool tersebut adalah rbd
# Testing membuat RADOS Block Device
rbd create -p rbdpool vm-100 --size 30G rbd create -p rbdpool vm-200 --size 50G rbd list -p rbdpool rbd info -p rbdpool vm-100
[root@ceph1 ~]# rbd info -p rbdpool vm-100 rbd image 'vm-100': size 30 GiB in 7680 objects order 22 (4 MiB objects) snapshot_count: 0 id: 37e1c5dad18a block_name_prefix: rbd_data.37e1c5dad18a format: 2 features: layering, exclusive-lock, object-map, fast-diff, deep-flatten op_features: flags: create_timestamp: Wed Apr 2 22:13:28 2025 access_timestamp: Wed Apr 2 22:13:28 2025 modify_timestamp: Wed Apr 2 22:13:28 2025
Selamat anda sudah berhasil membuat ceph cluster multi node. Ceph cluster tersebut dapat digunakan untuk testing integrasi dengan Proxmox VE ataupun yang lainnya.
Silakan dicoba dan semoga bermanfaat 🙂