Table of Contents

Deploy con cephadm

Predisporre due reti, una per l'accesso alle API (front) e una per la replica tra OSD (back)

prerequisito su tutte le macchine del cluster (monitor, OSD…)

sudo apt install podman
Scaricare cephadm in versione script
CEPH_RELEASE=19.2.3
curl --silent --remote-name --location https://download.ceph.com/rpm-${CEPH_RELEASE}/el9/noarch/cephadm
chmod +x cephadm
mv cephadmin /usr/bin

Nota: la guida dice di installare il pacchetto nativo con

./cephadm add-repo --release quincy (o squid...ultima versione)
./cephadm install

ma in noble la cosa non è ancora supportata. Quindi si resta con lo standalone

Bootstrap cluster

Se 10.224.14.11 è l'ip della classe front nella macchina di bootstrap:

cephadm bootstrap --mon-ip 10.224.14.11

cephadm creerà dei container di podman che ospiteranno tra l'altro il monitor e il manager. Inoltre, creerà la chiave passwordless, la copierà in /etc/ceph/ceph.pub e la aggiungerà a /root/.ssh/authorized_keys. Tale chiave

Per accedere alla console ceph (e quindi usare i comandi ceph):

cephadm shell

Aggiunta monitor a cluster

Usare l'orchestrator di ceph per aggiungere gli altri monitor. Il nome usato per l'host deve essere quello che risulta da hostname -s, altrimenti l'operazione fallirà.

# ceph orch host ls
HOST       ADDR          LABELS  STATUS  
os-ctrl-1  10.224.14.11  _admin     

# ceph orch host add os-ctrl-2 10.224.14.12
Added host 'os-ctrl-2' with addr '10.224.14.12'

# ceph orch host add os-ctrl-3 10.224.14.13
Added host 'os-ctrl-3' with addr '10.224.14.13'

# ceph orch host ls
HOST       ADDR          LABELS  STATUS  
os-ctrl-1  10.224.14.11  _admin          
os-ctrl-2  10.224.14.12                  
os-ctrl-3  10.224.14.13                  
3 hosts in cluster

A questo punto metto le etichette ai nodi. I nodi che devono avere il tool cephadm hanno bisogno di essere taggati come _admin

ceph orch host label add os-ctrl-2 _admin
ceph orch host label add os-ctrl-3 _admin
ceph orch host label add os-ctrl-1 mon
ceph orch host label add os-ctrl-2 mon
ceph orch host label add os-ctrl-3 mon

e eseguo il deploy di monitor e mamager:

ceph orch apply mon --placement="label:mon"
ceph orch apply mgr --placement="label:mon"

Verifica

root@os-ctrl-1:/# ceph -s
  cluster:
    id:     d3c3c04d-9308-11f0-9f0f-20040ff6d120
    health: HEALTH_WARN
            OSD count 0 < osd_pool_default_size 3
 
  services:
    mon: 3 daemons, quorum os-ctrl-2,os-ctrl-3,os-ctrl-1 (age 88s)
    mgr: os-ctrl-1.vozsfc(active, since 3d), standbys: os-ctrl-2.yowsln, os-ctrl-3.gwerlu
    osd: 0 osds: 0 up, 0 in     

OSD

Predisporre la rete per la replication, ad esempio se la rete back è 10.224.16.0/26

ceph config set global cluster_network 10.224.16.0/26

e aggiungere gli host degli OSD:

...
root@os-ctrl-1:/# ceph orch host add  os-worker-3 10.224.14.33
Added host 'os-worker-3' with addr '10.224.14.33'
...

Una volta aggiunti, automaticamente vengono trovati i dischi che corrispondono ai requisiti:

# ceph orch device ls
HOST         PATH      TYPE  DEVICE ID                                               SIZE  AVAILABLE  REFRESHED  REJECT REASONS  
os-worker-2  /dev/sdb  hdd   DELL_PERC_H730P_Mini_0070141306a6555d300011bc57f098cd  1676G  Yes        119s ago                   
os-worker-2  /dev/sdc  hdd   DELL_PERC_H730P_Mini_001ed81906ef6b5d300011bc57f098cd  1676G  Yes        119s ago 
... etcetera ...

Aggiungo tutti gli OSD

# ceph orch apply osd --all-available-devices