Instalasi ceph Cluster Storage

Post a Comment


Pada sesi kali ini penulis akan membagikan sedikit mengenai cara install storage cluster server meggunakan ceph. Ceph memiliki kemampuan melakukan transformasi infrastruktur IT dan memudahkan kita melakukan manajemen data yang besar. Landasan dari Ceph adalah RADOS yang merupakan kependekan dari Reliable Autonomic Distributed Object Storage yang menyediakan storage untuk object, block dan file system dalam sebuah cluster membuat Ceph fleksibel, dapat diandalkan dan mudah dimanage.

Ceph dengan kemampuan RADOS menyediakan storage dengan scalability yang luar biasa dimana ribuan client atau ribuan KVM mengakses petabytes hingga exabytes data. Masing-masing aplikasi dapat menggunakan object, block atau filesytem pada cluster RADOS yang sama yang berarti kita memiliki kita memiliki storage Ceph yang fleksibel. Kita dapat menggunakan Ceph ini secara gratis menggunakan komoditas hardware yang lebih murah.

Cepth storage cluster menggunakan algoritma CRUSH (Controlled Replication Under Scalable Hashing) yang memastikan bahwa data terdistribusi ke seluruh anggota cluster dan semua cluster node dapat menyediakan data tanpa ada bottleneck. Ceph block storage dapat dijadikan virtual disk pada Linux maupun virtual machine. Teknologi RADOS yang dimiliki Ceph memampukan Ceph melakukan snapshot dan replikasi.

Arsitekture

Arsitekture dari pada ceph itu sendiri diambil dari RADOS dengan gambaran sebagai berikut:


Komponen RADOS:
Fungsi dasar dan utama dari RADOS disediakan oleh kedua Ceph’s server daemons :
OSDs: Object storage daemons
MONs: Monitoring servers

sebelum kita menginstall ceph kita siapkan dulu untuk alat2 nya: kali ini penulis menggunakan 4 node dengan OS ubuntu20.04 dengan keterangan sebagai berikut:

*untuk IP bisa di sesuaikan asalkan dalam satu network/subnet

#########Semua node#########
setelah instalasi pada os selesai, maka install dulu untuk paket2 pendukungnya:
apt update && apt -y install software-properties-common git curl vim bash-completion chrony && apt install -y apt-transport-https && curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - && echo "deb [arch=amd64] https://download.docker.com/linux/ubuntu focal stable" > /etc/apt/sources.list.d/docker-ce.list && apt update && apt install -qq -y docker-ce docker-ce-cli containerd.io

Set host name pada masing2 node:
hostnamectl set-hostname pod-master // lakukan di node master
hostnamectl set-hostname pod-worker0 // lakukan di node worker0
hostnamectl set-hostname pod-worker1 // lakukan di node worker1
hostnamectl set-hostname pod-worker2 // lakukan di node worker2

Isikan masing2 hostname ke /etc/hosts
192.168.100.129 pod-master
192.168.100.131 pod-worker0
192.168.100.132 pod-worker1
192.168.100.133 pod-worker2

Lakukan verifikasi ping pada semua node
ping pod-master
ping pod-worker0
ping pod-worker1
ping pod-worker2

[lakukan di master]
setelah itu install untuk paket nya: 
ada 2 cara bisa langsung menggunakan dari repo ubuntu atau bisa download dari repo github
1. apt install ceph
2. curl --silent --remote-name --location https://github.com/ceph/ceph/raw/octopus/src/cephadm/cephadm
chmod +x cephadm
mv cephadm  /usr/local/bin/

setelah itu lakukan generate ssh pada pod-master
ssh-keygen -t rsa -b 4096 -N '' -f ~/.ssh/id_rsa

copykan publickey, id_rsa.pub ke semua authorized_keys node
lalu ssh tanpa password dari master kesemua node

eval `ssh-agent -s` && ssh-add ~/.ssh/id_rsa
setelah itu buat direktory ceph di /etc/ceph

setting untuk dashboard dari ceph nya
cephadm bootstrap \
  --mon-ip 192.168.100.129 [pakai ip master] \
  --initial-dashboard-user admin \
  --initial-dashboard-password Str0ngAdminP@ssw0rd

setelah selesai tambahkan repo dan install command pada ceph nya
cephadm add-repo --release octopus
cephadm install ceph-common

lalu copy kan file ceph.pub ke masing2 node
ssh-copy-id -f -i /etc/ceph/ceph.pub root@pod-worker0
ssh-copy-id -f -i /etc/ceph/ceph.pub root@pod-worker1
ssh-copy-id -f -i /etc/ceph/ceph.pub root@pod-worker2

selanjut nya tambahkan host pada ceph
ceph orch host add pod-master *
ceph orch host add pod-worker0 *
ceph orch host add pod-worker1 *
ceph orch host add pod-worker2 *

tambahkan label pada host
ceph orch host label add pod-master mon *
ceph orch host label add pod-worker0 mon *
ceph orch host label add pod-master osd *
ceph orch host label add pod-worker0 osd *
ceph orch host label add pod-worker1 osd *
ceph orch host label add pod-worker2 osd *

verifikasi pada label host mon sebagai monitor
ceph orch apply mon pod-master *
ceph orch apply mon pod-worker0 *

*pastikan semua status nya OK

Cek host yang sudah di daftar kan dan di label
ceph orch host ls
Lalu cek container pada docker yang sudah berjalan dengan menggunakan image dari ceph nya
docker ps

Cek device yang sudah di daftarkan

ceph orch device ls
Tambahkan osd pada host yang telah di tentukan
ceph orch daemon add osd pod-master:/dev/sdb *
ceph orch daemon add osd pod-worker0:/dev/sdb *
ceph orch daemon add osd pod-worker1:/dev/sdb *
ceph orch daemon add osd pod-worker2:/dev/sdb *

*pastikan status nya OK

Terakhir, cek keterangan untuk status dari pada ceph dan akses pada dashoard dengan port bawaan 8084
ceph -s

https://[IPADDR]:8084

Jika mengalami eror, akan di tampilkan pada status dashboard, dan jika setelah di restart kita tidak bisa mengakses dashboard maka coba menggunakan ip worker nya

Selesai .......
Newest Older

Related Posts

Post a Comment