Procedura di spegnimento di un cluster Proxmox con Ceph

shutdown-proxmox-cluster-with-ceph-01

Per effettuare la procedura di spegnimento di un cluster Proxmox e prevenire la perdita o la corruzione dei dati, specialmente quando si utilizza lo storage Ceph, è necessario seguire una procedura specifica.

Quando si lavora con un'infrastruttura ad alta disponibilità, l'esecuzione di attività di manutenzione può essere un processo delicato. Lo shutdown di un cluster, anche per un evento pianificato come un'interruzione di corrente o un aggiornamento hardware, richiede un'esecuzione attenta per prevenire la corruzione dei dati e tempi di inattività imprevisti.

Questa guida illustra la procedura per effettuare lo shutdown in modo pulito di un cluster Proxmox con Ceph storage, assicurando che tutti i servizi e i dati rimangano intatti.

 

Procedura di spegnimento di un cluster Proxmox con Ceph

Prima di procedere con lo spegnimento, verificare che il cluster Ceph sia in uno stato integro.

# ceph -s

cluster proxmox 1

Per evitare che lo storage Ceph contrassegni automaticamente un OSD (Object Storage Daemon) come non attivo quando va offline, è necessario impostare il flag noout per impedire al cluster di avviare un processo di ribilanciamento dei dati.

Senza il flag noout, il comportamento predefinito di Ceph è quello di contrassegnare un OSD non responsivo come non attivo dopo un breve timeout (di solito 5 minuti) e quindi iniziare a replicare i dati da quell'OSD ad altri nel cluster. Questo può essere uno spreco di risorse e causare un inutile degrado delle prestazioni se l'OSD è previsto che torni online a breve.

Eseguire il comando:

# ceph osd set noout

cluster proxmox 2

Effettuare lo shutdown di tutte le VM e Container.

cluster proxmox 3

Se l'infrastruttura utilizza la funzionalità di HA, è necessario disabilitare l'HA manager durante uno spegnimento pianificato o una manutenzione di un nodo Proxmox. Questo impedisce all'HA manager di eseguire azioni non necessarie e invasive, come la migrazione dei servizi, quando si sta intenzionalmente portando un nodo offline.

Verificare lo stato dell'HA manager.

# ha-manager status

cluster proxmox 4

Su ogni nodo, fermare il servizio pve-ha-lrm per impedire a ogni nodo di provare di agire sui propri servizi locali. Questo servizio gestisce le VM e i container locali ed esegue i comandi che riceve dal CRM. Se il servizio viene fermato solo su un nodo, gli altri nodi continueranno ad eseguire i loro servizi LRM e il CRM prenderà delle decisioni.

# systemctl stop pve-ha-lrm

cluster proxmox 5

Una volta che gli LRM sono stati fermati su tutti i nodi, è possibile fermare i CRM su ogni nodo. Anche questo servizio è in esecuzione su ogni nodo, ma solo un nodo alla volta è il CRM master. Questo master decide per l'intero cluster.

Se si ferma il CRM master ma gli LRM sono ancora in esecuzione, verrà eletto un nuovo master che continuerà a gestire le risorse ad alta disponibilità, potenzialmente sovrascrivendo le modifiche manuali che hai apportato.

# systemctl stop pve-ha-crm

cluster proxmox 6

Fermando entrambi i servizi su tutti i nodi lo stack HA viene messo in uno stato di freeze per l'intero cluster.

cluster proxmox 7

Ora fermare tutti i servizi Ceph. Esegui il seguente comando su ciascun nodo:

# systemctl stop ceph-osd.target ceph-mon.target ceph-mgr.target

cluster proxmox 8

Eseguire i comandi sync e shutdown su tutti i nodi. Il comando sync assicura che le scritture su disco in sospeso vengano salvate. Attendere che ogni nodo si spenga completamente prima di passare al successivo.

# sync && shutdown now

cluster proxmox 9

I tre nodi sono stati spenti.

 

Riaccensione del cluster

Dopo lo spegnimento di Proxmox, non c'è una sequenza specifica da seguire quando si accendono i nodi fisici per ripristinare la funzionalità del cluster.

Dopo che i nodi sono stati accesi, attendere che formino un quorum di cluster.

# pvecm status

cluster proxmox 10

Verificare l'integrità del cluster di storage Ceph. Notare che il flag noout è riportato come set.

# ceph -s

cluster proxmox 11

Poiché il flag noout è stato impostato durante la procedura di shutdown, è necessario rimuoverlo.

# ceph osd unset noout

cluster proxmox 12

La verifica dello stato HA segnala che il servizio non è attivo.

# ha-manager status

cluster proxmox 13

Quando il cluster Proxmox viene acceso, il servizio HA deve essere riattivato nell'ordine inverso.

Su ogni nodo, lanciare il comando seguente per abilitare il servizio CRM.

# systemctl start pve-ha-crm

cluster proxmox 14

Successivamente eseguire questo comando per abilitare il servizio LRM.

# systemctl start pve-ha-lrm

cluster proxmox 15

Il cluster Proxmox è ora pienamente operativo.

cluster proxmox 16

Seguendo questa procedura, è possibile effettuare in modo sicuro lo spegnimento di un cluster Proxmox con Ceph senza il rischio di perdita o corruzione dei dati.

signature

One Response

  1. Enrico Piccin 15 Agosto 2025

Leave a Reply