Panduan Lengkap Setup Ceph Cluster Multi-Node (CLI)

Posted by

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 🙂

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.