Ceph Cluster Kurulumu

onur kocaman
Turk Telekom Bulut Teknolojileri
4 min readFeb 1, 2022

Bir önceki yazımızda multi-node openstack kurulumu yapmıştık, fakat henüz elimizde shared bir storage olmaması sebebiyle bazı fonksiyonları test edememiştik. Şimdi ortamımıza shared storage sağlayabilmek adına Ceph Cluster storage kurulumu yapacağız. Bir sonraki yazıda da ceph storage’ı openstack ortamına nasıl dahil edeceğimizi beraber öğreneceğiz.

Gereksinimler:

Kurulum için 3 adet nod ve her bir nod’da da en az 5 GB’lık 3'er adet diske ihtiyacımız bulunmakta. Kurulumda centos 8 OS kullanılacak. CPU ve RAM kaynağı olarak 2 vCPU ve 4 GB RAM şimdilik yeterli.

Kurulum adımları:

  • root kullanıcı ile /etc/hosts dosyasına 3 sunucunun da hostname ve ip bilgileri girilir.

# sudo tee -a /etc/hosts<<EOF
192.168.1.100 ceph-01
192.168.1.101 ceph-02
192.168.1.102 ceph-03
EOF

  • İlk sunucu üzerinden diğer sunuculara password kullanmadan erişim için aşağıdaki ssh-key metodu kullanılır.

# ssh-keygen

# ssh-copy-id ceph-01

# ssh-copy-id ceph-02

# ssh-copy-id ceph-03

  • İlk sunucu da update ve upgrade işlemleri yapılır.

# dnf update -y; dnf upgrade -y

  • Tüm sunuculara python ve podman gibi tool’lar kurulur.

# dnf install -y python3 lvm2 podman

  • Kurulumu yapacağımız cephadm scripti indirilip, çalıştırılabilir dosya haline getirilir. Ardında cephadm toolun kurulumu için gerekli paketlerin olduğu repo sunucuya eklenir ve cephadm scripti çalıştırılır. Sonrasında cephadm’in path’e eklenip eklenmediği kontrol edilir.

# curl — silent — remote-name — location https://github.com/ceph/ceph/raw/pacific/src/cephadm/cephadm

# chmod +x cephadm

#./cephadm add-repo — release pacific

# ./cephadm install

# dnf install -y ceph-common

# which cephadm

  • Bir sonraki adım da “cephadm bootstrap” komutu ile ilk sunucu da monitor deamon yaratılır. Monitor deamon yaratılırken IP’ye ihtiyaç duyulur, ilk sunucunun ip’sini parametre olarak girilir. Output olarak URL ve credential bilgileri ekrana basılır. Şifre değişikliğinden sonra arayüze erişilir.

# cephadm bootstrap — mon-ip 192.168.1.100

URL: https://ceph-01.localdomain:8443/
User: admin
Password: abcdefg123

  • “ceph -v” komutuyla kurulumu yapılan ceph veryionu, “ceph -s ” komutuyla da ceph cluster sağlık durumu kontrol edilir. Henüz ceph clusterı’a ait OSD logical diskleri yaratılmadığı için “Health_warn” uyarısı alınır.
  • Ayrıca throubleshoot etmek için arka planda çalışan podlar ve systemd servisleri kontrol edilebilir.

#podman ps

# systemctl status ceph-* | grep -e “● ceph” -e “Active”

  • Kalan 2 hostu cluster’a ekleyebilmek için cep.pub dosyası hostlara kopyalanır ve “ceph orch host add” komutu ile hostlar cluster’a eklenir.

# ssh-copy-id -f -i /etc/ceph/ceph.pub root@ceph-02

# ssh-copy-id -f -i /etc/ceph/ceph.pub root@ceph-03

# ceph orch host add ceph-02 192.168.1.101

# ceph orch host add ceph-03 192.168.1.102

  • OSD olarak kullanılabilcek diskleri listelemek ve bunları OSD olarak eklemek için aşağıdaki komutları kullanırız. En son “ceph -s” komutıyla cluster sağlık durumunu , OSD durumlarını kontrol edebiliriz.

# ceph orch device ls

# ceph orch apply osd — all-available-devices

# ceph -s

Sonrasında ceph-mgr ve ceph-mon daemonlarını tüm sunuculara deploy ederiz.

# ceph orch apply mgr — placement=”ceph-01,ceph-02,ceph-03"

# ceph orch apply mon — placement=”ceph-01,ceph-02,ceph-03"

  • Clusterın genel sağlık durumunu yine aşağıdaki komutla ve dashboard ekranından kontrol edebiliriz.

# ceph orch ps

# ceph -s

# ceph orch host ls

En sonunda shared storage olarak openstack platformuna gösterebileceğimiz, 3 nodlu bir ceph cluster elde ettik. Bir sonraki aşamada bu platformu openstack ortamına dahil ederek buradaki diskleri volume olarak openstack instanse’larının kullanımına sunacağız.

--

--