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.

*untuk ip bisa disesuaikan sendiri asalkan dalam 1 network.

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 
    
*disini kita sudah berhasil menjalankan ceph monitor, tetapi kita belum memiliki cluster storage.

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
    
*disini kita sudah berhasil menambahkan cluster storage pada ceph.

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.