Se si utilizza Ceph Reef nella propria infrastruttura Proxmox e si prevede l'aggiornamento a Proxmox 9, è necessario prima aggiornare Ceph Reef a Squid per soddisfare i prerequisiti.
Come best practice, prima di procedere con l'aggiornamento, assicurarsi di avere un backup funzionante delle VM e Container.
Prerequisiti
Per aggiornare Ceph da Reef a Squid, verificare che tutti i nodi stiano eseguendo Proxmox VE 8.2 (o superiore) e che Ceph sia alla versione Reef (18.2.4-pve3 o superiore).
Verificare la versione di Proxmox installata.
# pveversion
Controllare la versione del cluster Ceph installata.
# ceph --version
Confermare che il cluster Ceph sia in uno stato healthy.
# ceph -s
Preparazione del sistema
Su tutti i nodi, modificare i repository Ceph da Reef a Squid.
# sed -i 's/reef/squid/' /etc/apt/sources.list.d/ceph.list
Verificare che il file /etc/apt/sources.list.d/ceph.list contenga la voce corretta. Per gli utenti con una sottoscrizione valida, la voce deve essere:
deb https://enterprise.proxmox.com/debian/ceph-squid bookworm enterprise
# cat /etc/apt/sources.list.d/ceph.list
Se non è disponibile una sottoscrizione valida, utilizzare il repository pubblico no-subscription.
deb http://download.proxmox.com/debian/ceph-squid bookworm no-subscription
# cat /etc/apt/sources.list.d/ceph.list
Per evitare che il cluster Ceph effettui il ribilanciamento durante la fase di aggiornamento, impostare il flag noout.
# ceph osd set noout
Aggiornare Ceph Reef a Squid cluster
Una volta che il sistema è pronto per aggiornare Ceph Reef a Squid, è possibile iniziare la procedura. Eseguire queste operazioni su ogni nodo, uno alla volta.
Mettere il primo nodo in Maintenance Mode per fermare i servizi HA. Opzionale ma consigliato.
# ha-manager crm-command node-maintenance enable proxmox01
Verificare che il nodo sia in Maintenance Mode.
Aggiornare la lista dei pacchetti dai repository.
# apt update
Installare gli ultimi aggiornamenti.
# apt full-upgrade
Disattivare la Maintenance Mode dal nodo.
# ha-manager crm-command node-maintenance disable proxmox01
Verificare la versione di Ceph. Dovrebbe essere visualizzata Ceph Squid 19.2.2.
# ceph --version
Ripetere questa operazione per tutti i nodi rimanenti, mantenendo il flag noout impostato per l'intera procedura.
Post aggiornamento
Dopo aver aggiornato tutti i nodi, verificare che il cluster Ceph sia in healthy state. Un health warning "noout flag(s) set" è normale in questa fase.
# ceph -s
Dalla GUI di Proxmox, selezionare un nodo e andare in Ceph > Monitor. La Version segnalata dovrebbe essere il vecchio valore che deve essere aggiornato.
Verificare la versione del monitor su un nodo. Dovrebbe riportare "min_mon_release 18 (reef)".
# ceph mon dump | grep min_mon_release
Riavviare il servizio monitor su ogni nodo dove è in esecuzione un monitor.
# systemctl restart ceph-mon.target
Dopo aver riavviato tutti i monitor, verificare che l'aggiornamento sia completo. Ora dovrebbe riportare "min_mon_release 19 (squid)".
# ceph mon dump | grep min_mon_release
Se il daemon manager non si riavvia automaticamente, riavviarlo manualmente sui nodi dove è abilitato.
# systemctl restart ceph-mgr.target
Verificare che le versioni del monitor e del manager siano alla 19.2.2 dall'interfaccia Proxmox in Ceph > Monitor.
Ora posizionarsi in Ceph > OSD e verifcare la Version degli OSD. Alcuni dischi potrebbero necessitare di un aggiornamento.
Riavviare tutti gli OSD su ogni nodo. Per evitare perdite di dati, eseguire il comando un nodo alla volta.
# systemctl restart ceph-osd.target
Dopo aver riavviato tutti gli OSD su tutti i nodi, verificare che la Version OSD sia 19.2.2 nell'interfaccia di Proxmox sotto Ceph > OSD.
Dopo che tutti gli OSD sono allineati all'ultima versione, potrebbe essere visualizzato un health warning "all OSDs are running squid or later but require_osd_release < squid".
# ceph -s
Per risolvere questa situazione, disattivare gli OSD pre-Reef e abilitare tutte le nuove funzionalità esclusive di Squid.
# ceph osd require-osd-release squid
Verificando il cluster Ceph, questo è ora riportato in an healthy state con il flag noout impostato.
# ceph -s
L'ultima operazione da effettuare è l'unset del flag noout.
# ceph osd unset noout
Il cluster Ceph Squid è ora in un healthy state.
# ceph -s
Il cluster Ceph è stato ora aggiornato correttamente da Reef a Squid. Questo completa il prerequisito per l'aggiornamento da Proxmox 8 a 9.


































