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