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“. Jika ingin membuat ceph cluster
multi node via CLI, bisa ikuti “Panduan Lengkap Setup Ceph Cluster Multi-Node (CLI)”
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.51 – 192.168.1.53
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.51 ceph1 192.168.1.52 ceph2 192.168.1.53 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.51 \ --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. Login pada ceph dashboard dengan username admin dan password ceph sesuai dengan proses bootstrap di atas (https://192.168.1.51:8443)
Pilih menu Cluster | Hosts. Masukkan nama Hostname, Network address, dan pilih _admin pada bagian Labels. Kemudian klik Add Host. Lakukan hal yang serupa dan sesuaikan untuk node lain (ceph3)
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
Pilih menu Administration | Services | mon | Edit. Pada bagian Hosts, pilih ceph1, ceph2, dan ceph3. Pada bagian Count, sesuaikan menjadi 3. Lalu klik Edit Service
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
Pilih menu Administration | Services | mgr | Edit. Pada bagian Hosts, pilih ceph1, ceph2, dan ceph3. Pada bagian Count, sesuaikan menjadi 3. Lalu klik Edit Service
# Menambahkan OSD
Jadikan disk yang kedua pada masing-masing node sebagai OSD. Pilih menu Cluster | OSDs | Create. Secara default, ceph akan otomatis memilih disk yang available. Jika ingin cek disk mana saja, bisa pilih menu Advanced Mode. Lalu klik Create OSDs
Tampilan OSDs setelah dicreate
# Testing membuat pool
Pilih menu Cluster | Pools | Create. Pada bagian Name, isi dengan nama pool. Misalnya rbdpool. Pada bagian Applications, pilih rbd. Lalu klik Create Pool
# Testing membuat RADOS Block Device
Pilih menu Block | Images | Create. Pada bagian Name, isi dengan nama block image. Misalnya vm-100. Pada bagian Pool, pilih rbdpool nama pool yang sebelumnya dibuat di atas. Pada bagian Size, misalnya isi 30 GiB. Lalu klik Create RBD
Selamat anda sudah berhasil membuat ceph cluster multi node via GUI. Ceph cluster tersebut dapat digunakan untuk testing integrasi dengan Proxmox VE ataupun yang lainnya.
Silakan dicoba dan semoga bermanfaat 🙂