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