Ho attivato l’alta disponibilità ma la macchina si è fermata lo stesso: che cosa promette davvero la HA
La HA non promette funzionamento senza interruzioni, promette un riavvio automatico. La differenza è di qualche minuto, e un’aspettativa costruita senza conoscerli finisce in delusione.
AtlasPVE ·
Questa voce risponde a
- proxmox ha cos’è
- proxmox alta disponibilità configurazione
- proxmox ha non funziona
- proxmox fencing cos’è
- proxmox nodo caduto vm non spostata
Hai attivato l’alta disponibilità. Un nodo è caduto e la tua macchina è davvero ripartita sull’altro nodo. Ma nel frattempo per qualche minuto non ha servito nulla, e tu pensavi che non ci sarebbe stata interruzione.
Il fraintendimento sta qui: l’alta disponibilità non promette funzionamento senza interruzioni, promette un riavvio automatico.
Due cose diverse
Lo spostamento in funzione è un lavoro pianificato. Lo avvii tu, la macchina passa sull’altro nodo insieme alla sua memoria e quasi non si ferma. È lo strumento delle notti di manutenzione.
L’alta disponibilità è per un guasto non pianificato. Quando un nodo crolla, tutto ciò che era nella sua memoria se n’è andato con lui; non resta nulla da copiare. L’unica cosa possibile è avviare la macchina da zero su un altro nodo. Riparte quindi come riparte il tuo server dopo un blackout.
Per questo la misura della HA non dovrebbe essere "c’è stata un’interruzione" ma "quanto è durata l’interruzione".
Tre cose determinano la durata
Accorgersene. Il cluster non decide subito che un nodo è davvero morto. Scambiare un’oscillazione di rete per una morte e spostare le macchine è peggio che non accorgersi della morte. Perciò c’è un’attesa.
Mettere a tacere il vecchio nodo. Questo passaggio è il più frainteso ed è il cuore di questo articolo: prima che la macchina riparta sul nuovo nodo bisogna essere certi che il vecchio si sia davvero fermato. Se non lo si può stabilire, il cluster riavvia quel nodo con la forza.
Suona duro, ma l’alternativa è un disastro: se il vecchio nodo è in realtà in piedi e gli è solo caduta la rete, la stessa macchina gira in due posti e scrive sullo stesso disco da entrambi i lati. I dati si rovinano senza ritorno. Ecco perché il cluster preferisce spegnere un nodo di cui non è sicuro.
L’avvio. La macchina si avvia da capo sul nuovo nodo. Parte il sistema operativo, salgono i servizi, un database se c’è si riprende. Questo tempo è il normale tempo di avvio della tua macchina; il cluster non ha modo di accorciarlo.
Il totale, nella maggior parte degli impianti, è dell’ordine dei minuti. Non è zero, e non lo sarà.
Tre condizioni perché la HA funzioni
Una maggioranza. La HA dipende dalla capacità del cluster di decidere. Senza maggioranza non si sposta nulla. Attivare la HA in un cluster a due nodi significa montare una rete di sicurezza che cede proprio quando ne hai più bisogno.
La visibilità del disco dall’altro nodo. Se la macchina deve ripartire sul nuovo nodo, deve raggiungere il suo disco. Una macchina che sta solo su archiviazione locale non può andare da nessuna parte.
Capacità. I nodi rimasti devono poter reggere anche il carico di quello caduto. Se entrambi i nodi sono pieni all’ottanta per cento, la HA non ti salva, fa cadere anche il secondo.
Non attivare la HA su ogni macchina
Ogni macchina con la HA attiva diventa qualcosa che il cluster osserva di continuo e che avvia o ferma di propria iniziativa quando lo ritiene. Non è sempre ciò che vuoi.
La prova è semplice: se questa macchina ripartisse da sola su un altro nodo alle tre di notte, scoprirlo al mattino mi tranquillizzerebbe o mi preoccuperebbe? Se tranquillizza, attiva la HA. Se preoccupa, non attivarla; le decisioni di quella macchina prendile tu.
Che cosa fa Atlas
Atlas segna a parte le macchine lasciate alla gestione ad alta disponibilità. Dove aiuta di più è la manutenzione: quando le macchine di un nodo vengono elencate prima di un aggiornamento, si vede separatamente quali dipendono dalla tua decisione e quali da quella del cluster. Spostare a mano e lasciare alla gestione sono cose diverse, e confonderle costa caro.
Un comportamento piccolo ma significativo: se sull’installazione l’alta disponibilità non è mai stata configurata, Atlas vede che i relativi file di configurazione mancano e non pone affatto quella domanda, restituisce una risposta vuota. In un impianto che non usa la HA il prodotto quindi non tiene occupati né te né il sistema a cercare qualcosa che non c’è.
E un limite va detto chiaramente: Atlas non prende né cambia la decisione di HA del cluster. Se una macchina sia lasciata alla HA è affare tuo e di Proxmox; Atlas lo rende visibile, non decide al posto tuo.
Fonti
La documentazione ufficiale di Proxmox. In inglese, e su questo argomento l’ultima parola è la sua.