Install a Ceph Storage Cluster on All in One Node

Mari langsung saja, cara membuat Ceph Storage Cluster di openSUSE Leap dalam satu Node.

Persiapan

  • Hostname: ceph-aio
  • OS: openSUSE 42.2
  • 3 Disk tambahan untuk OSD
  • Akses Internet

Pasang paket ceph dan ceph-deploy

zypper -y install ceph
zypper -y install ceph-deploy

Buat user baru untuk ceph-deploy

useradd -m -s /bin/bash ary
passwd ary

Konfigurasi agar user ceph-deploy tadi memiliki privileges root

echo "ary ALL = (root) NOPASSWD:ALL" | sudo tee /etc/sudoers.d/ary
chmod 0440 /etc/sudoers.d/ary

Masuk sebagai pengguna baru yang tadi telah dibuat, lalu generate kunci publik untuk ssh tanpa sandi

sudo su - ary
ssh-keygen
ssh-copy-id ary@ceph-aio

Buat direktori baru untuk ceph-deploy

cd ~
mkdir my-cluster
cd my-cluster

Buat konfigurasi cluster di direktori ini

ceph-deploy new ceph-aio
ls -lh

Setelah ceph-deploy new maka akan terbuat file konfigurasi baru di direktori tadi, set replikasi menjadi = 2  dan type = 0 karena kita menggunakan AIO node

echo "osd pool default size = 2" >> ceph.conf
echo "osd crush chooseleaf type = 0" >> ceph.conf
echo "public network = 10.7.7.0/24" >> ceph.conf

Pasang Ceph

ceph-deploy install ceph-aio
sudo chown -R ceph:ceph /var/lib/ceph/mon

Buat monitor awal

ceph-deploy mon create ceph-aio
ceph-deploy mon create-initial

Generate kunci untuk autentikasi

ceph-deploy gatherkeys ceph-aio

Setelah selesai, harusnya direktori  terdapat keyrings berikut:

{cluster-name}.client.admin.keyring
{cluster-name}.bootstrap-osd.keyring
{cluster-name}.bootstrap-mds.keyring
{cluster-name}.bootstrap-rgw.keyring

Buat partisi storage

sudo /dev/vdX

vdX type =  83

sudo partprobe
sudo fdisk -l

Format dan mounting disk

sudo mkfs.xfs /dev/vdb1
sudo mkdir -p /var/local/osd-vdb1
sudo mkfs.xfs /dev/vdc1
sudo mkdir -p /var/local/osd-vdc1
sudo mkfs.xfs /dev/vdd1
sudo mkdir -p /var/local/osd-vdd1
exit
echo "/dev/vdb1 /var/local/osd-vdb1 xfs defaults 0 0" >>/etc/fstab
echo "/dev/vdc1 /var/local/osd-vdc1 xfs defaults 0 0" >>/etc/fstab
echo "/dev/vdd1 /var/local/osd-vdd1 xfs defaults 0 0" >>/etc/fstab
mount -a
mount | grep vd
df -h

Ubah permission di direktori yang sudah dibuat tadi

sudo su - ary
cd ~/my-cluster
sudo chown ceph:ceph /var/local/osd*

Jalankan prepare dan activate untuk disk OSD

ceph-deploy osd prepare ceph-aio:/var/local/osd-vdb1 ceph-aio:/var/local/osd-vdc1 ceph-aio:/var/local/osd-vdd1
ceph-deploy osd activate ceph-aio:/var/local/osd-vdb1 ceph-aio:/var/local/osd-vdc1 ceph-aio:/var/local/osd-vdd1

Salin konfigurasi dan key admin

ceph-deploy admin ceph-aio

Set permission

sudo chmod +r /etc/ceph/ceph.client.admin.keyring

Cek cluster dan osd status

ceph -s
ceph osd tree

Tes membuat pool dan operasi object data

ceph osd pool create pool-01 128
echo coba > coba.txt
echo test > test.txt
echo okay > okay.txt
rados put object-01 coba.txt --pool=pool-01
rados put object-02 test.txt --pool=pool-01
rados put object-03 okay.txt --pool=pool-01
rados ls --pool=pool-01

Verifikasi

sudo find /var/local/osd* -name *object-01*
sudo find /var/local/osd* -name *object-02*
sudo find /var/local/osd* -name *object-03*