====== 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