Ceph Installation & Clustering
Nah kita lanjut ke Langkah Installasi dan Clustering Ceph, Kali ini kita akan menginstall Ceph pada Sistem Operasi Linux (Ubuntu 20.04).
Lab yang digunakan oleh kita kali ini adalah sebagai berikut.
Langkah Sebelum Installasi
Note
Lakukan pada node ceph-admin, ceph-osd1, ceph-osd2
- Konfigurasi Hostname
# vi /etc/hostname
- Konfigurasi Hosts
# vi /etc/hosts
- Update & Upgrade
# apt-get update && apt-get upgrade && apt-get dist-upgrade -y
- Konfigurasi Zona Waktu
# timedatectl set-timezone Asia/Jakarta
- Konfigurasi SSH
# vi /etc/ssh/sshd_config # change PermitRootLogin yes
jika sudah kemudian restart service sshd
# systemctl restart sshd
Konfigurasi SSH
Note
Lakukan pada node ceph-admin
- Generate Public Key Baru
# ssh-keygen -q -N ""
- Konfigurasi config ssh
# vi ~/.ssh/config # add Host ceph-admin Hostname ceph-admin User root Host ceph-osd1 Hostname ceph-osd1 User root Host ceph-osd2 Hostname ceph-osd2 User root
- Ubah permission
# chmod 600 ~/.ssh/config
- Copy Public Key ke Node Ceph lainnya
# ssh-copy-id ceph-admin # ssh-copy-id ceph-osd1 # ssh-copy-id ceph-osd2
Install Ceph
Note
Lakukan pada node ceph-admin
- Install Paket Ceph
# for NODE in ceph-admin ceph-osd1 ceph-osd2 do ssh $NODE "apt-get install ceph -y" done
- Generate uuid Node admin
# uuidgen
- Konfigurasi file ceph.conf
# vi /etc/ceph/ceph.conf # add [global] # definisikan cluster network untuk monitoring cluster network = 172.30.1.0/24 # definisikan public network public network = 172.30.1.0/24 # definisikan UUID fsid = 44319ff7-4bb2-4244-a39e-ea7cc33a2fd4 # definisikan IP address untuk Monitor Daemon mon host = 172.30.1.10 # definisikan Hostname untuk Monitor Daemon mon initial members = admin osd pool default crush rule = -1 # mon.(nama Nodenya) [mon.admin] # definisikan Hostname untuk Monitor Daemon host = admin # definisikan IP address untuk Monitor Daemon mon addr = 172.30.1.10 # allow to delete pools mon allow pool delete = true
- Membuat secret key untuk Cluster Monitor
# ceph-authtool --create-keyring /etc/ceph/ceph.mon.keyring --gen-key -n mon. --cap mon 'allow *'
- Membuat secret key untuk Cluster Admin
# ceph-authtool --create-keyring /etc/ceph/ceph.client.admin.keyring --gen-key -n client.admin --cap mon 'allow *' --cap osd 'allow *' --cap mds 'allow *' --cap mgr 'allow *'
- Membuat secret key untuk bootstrap
# ceph-authtool --create-keyring /var/lib/ceph/bootstrap-osd/ceph.keyring --gen-key -n client.bootstrap-osd --cap mon 'profile bootstrap-osd' --cap mgr 'allow r'
- Mengimport secret key yang sudah dibuat tadi
# ceph-authtool /etc/ceph/ceph.mon.keyring --import-keyring /var/lib/ceph/bootstrap-osd/ceph.keyring # ceph-authtool /etc/ceph/ceph.mon.keyring --import-keyring /etc/ceph/ceph.client.admin.keyring
- Membuat Monitor Map
# FSID=$(grep "^fsid" /etc/ceph/ceph.conf | awk {'print $NF'}) # NODENAME=$(grep "^mon initial" /etc/ceph/ceph.conf | awk {'print $NF'}) # NODEIP=$(grep "^mon host" /etc/ceph/ceph.conf | awk {'print $NF'}) # monmaptool --create --add $NODENAME $NODEIP --fsid $FSID /etc/ceph/monmap
- Membuat Direktori untuk Monitor Daemon
# mkdir /var/lib/ceph/mon/ceph-admin
- Mengasosiasikan key dan monmap ke Monitor Daemon
# ceph-mon --cluster ceph --mkfs -i $NODENAME --monmap /etc/ceph/monmap --keyring /etc/ceph/ceph.mon.keyring # chown ceph. /etc/ceph/ceph.* # chown -R ceph. /var/lib/ceph/mon/ceph-admin /var/lib/ceph/bootstrap-osd # systemctl enable --now ceph-mon@$NODENAME
- Mengaktifkan Messenger v2 protocol
# ceph mon enable-msgr2
- Mengaktifkan Placement Group
# ceph mgr module enable pg_autoscaler
- Membuat Direktori untuk Manager Daemon
# mkdir /var/lib/ceph/mgr/ceph-admin
- Membuat Authentication key untuk manager Daemon
# ceph auth get-or-create mgr.$NODENAME mon 'allow profile mgr' osd 'allow *' mds 'allow *' # ceph auth get-or-create mgr.admin | tee /etc/ceph/ceph.mgr.admin.keyring # cp /etc/ceph/ceph.mgr.admin.keyring /var/lib/ceph/mgr/ceph-admin/keyring
- Mengubah permission file ceph.conf
# chown ceph. /etc/ceph/ceph.mgr.admin.keyring # chown -R ceph. /var/lib/ceph/mgr/ceph-admin
- Restart service Ceph
# systemctl enable --now ceph-mgr@$NODENAME
- Verifikasi Cluster Status
# ceph -s
Cluster Storage
Note
Lakukan pada node ceph-admin
Copy file konfigurasi dan keyring dari node ceph-admin ke node lainnya.
- Copy ke ceph-osd1
# scp /etc/ceph/ceph.conf ceph-osd1:/etc/ceph/ceph.conf # scp /etc/ceph/ceph.client.admin.keyring ceph-osd1:/etc/ceph # scp /var/lib/ceph/bootstrap-osd/ceph.keyring ceph-osd1:/var/lib/ceph/bootstrap-osd
- Copy ke ceph-osd2
# scp /etc/ceph/ceph.conf ceph-osd2:/etc/ceph/ceph.conf # scp /etc/ceph/ceph.client.admin.keyring ceph-osd2:/etc/ceph # scp /var/lib/ceph/bootstrap-osd/ceph.keyring ceph-osd2:/var/lib/ceph/bootstrap-osd
Note
Lakukan pada node ceph-admin, ceph-osd1, ceph-osd2
- Konfigurasi osd pada node ceph-admin
# chown ceph. /etc/ceph/ceph.* /var/lib/ceph/bootstrap-osd/*; \ parted --script /dev/sdb 'mklabel gpt'; \ parted --script /dev/sdb "mkpart primary 0% 100%"; \ ceph-volume lvm create --data /dev/sdb1
- Konfigurasi osd pada node ceph-osd1
# chown ceph. /etc/ceph/ceph.* /var/lib/ceph/bootstrap-osd/*; \ parted --script /dev/sdb 'mklabel gpt'; \ parted --script /dev/sdb "mkpart primary 0% 100%"; \ ceph-volume lvm create --data /dev/sdb1
- Konfigurasi osd pada node ceph-osd2
# chown ceph. /etc/ceph/ceph.* /var/lib/ceph/bootstrap-osd/*; \ parted --script /dev/sdb 'mklabel gpt'; \ parted --script /dev/sdb "mkpart primary 0% 100%"; \ ceph-volume lvm create --data /dev/sdb1
Note
Lakukan pada node ceph-admin
- Verifikasi Ceph Cluster
# ceph -s
Install Ceph Dashboard
Note
Lakukan pada node Ceph-admin
- Install Ceph Dashboard
# apt -y install ceph-mgr-dashboard # ceph mgr module enable dashboard # ceph mgr module ls | grep -A 5 enabled_modules # ceph dashboard create-self-signed-cert # ceph dashboard ac-user-create rafiryd @dmin123 administrator # ceph mgr services
jika sudah buka dibrowser dan masukkan url hasil output # ceph mgr services
*Selesai
Jika kamu tidak tahan dengan lelahnya belajar maka kamu harus tahan dengan perihnya kebodohan.