Perché il segnale di spegnimento dell’UPS raggiunge l’host ma non le sue macchine virtuali?

Eva Wong è la Technical Writer e smanettatrice residente di ZimaSpace. Una geek da sempre con una passione per homelab e software open-source, si specializza nel tradurre concetti tecnici complessi in guide accessibili e pratiche. Eva crede che l'auto-ospitare debba essere divertente, non intimidatorio. Attraverso i suoi tutorial, dà potere alla comunità di demistificare le configurazioni hardware, dalla costruzione del loro primo NAS al dominio dei container Docker.

Un segnale di spegnimento dell’UPS può raggiungere l’host di virtualizzazione senza raggiungere le sue VM, perché il rilevamento dell’alimentazione e l’orchestrazione dello spegnimento dei guest sono due fasi separate.

Per prima cosa verifica che l’host riceva l’evento dell’UPS, quindi testa se ogni VM importante risponde a un normale spegnimento avviato dall’hypervisor. Controlla l’azione in caso di batteria scarica, il comportamento del guest agent o dell’ACPI, l’ordine di arresto e l’autonomia residua. Il risultato sicuro prevede lo spegnimento prima dei guest e per ultimo dell’host, con batteria sufficiente a coprire i ritardi.

Verifica quale componente riceve l’evento dell’UPS

Avvia un evento di test supportato oppure controlla i log relativi a un recente passaggio all’alimentazione a batteria e annota se NUT, apcupsd, il monitoraggio SNMP o un altro demone sull’host lo rileva.

Un pratico flusso di spegnimento UPS di Proxmox distingue il rilevamento dell’UPS su un host Proxmox dalle azioni successive necessarie per arrestare i carichi di lavoro e spegnere la macchina.

Se l’host non riceve mai l’evento, concentrati sulla comunicazione con l’UPS. Se invece lo riceve, non dare per scontato che lo spegnimento dei guest sia automatico: controlla il passaggio successivo dell’orchestrazione.

Testa lo spegnimento dei guest senza usare l’UPS

Dall’hypervisor, richiedi un normale spegnimento regolare di ogni VM critica e misura il tempo necessario. Controlla lo stato del guest agent, il comportamento dell’ACPI e le applicazioni che ritardano lo spegnimento.

Una configurazione di NUT con Proxmox mostra perché NUT può essere la fonte dell’evento, mentre Proxmox deve comunque avere un percorso di risposta definito per i carichi di lavoro virtualizzati che ospita.

Risolvi il problema dei guest che ignorano un normale spegnimento dell’hypervisor prima di testare le emergenze dovute alla batteria. L’automazione dell’UPS non può far spegnere correttamente all’improvviso un guest che non risponde.

Fai in modo che l’azione dell’UPS richiami il livello di virtualizzazione

Controlla lo script o il servizio che gestisce la batteria scarica. Uno spegnimento diretto dell’host può ignorare il normale ordine di arresto delle VM se non richiama il processo di spegnimento dei guest dell’hypervisor.

Un altro esempio di orchestrazione NUT di Proxmox dimostra la necessità di collegare lo stato di NUT ad azioni di sistema deliberate, invece di considerare il demone UPS stesso come un gestore dei guest.

Usa l’orchestrazione di spegnimento supportata dalla piattaforma oppure un hook mirato che richieda prima l’arresto dei guest. Evita comandi kill personalizzati che ignorano lo spegnimento delle applicazioni all’interno della VM.

Prevedi tempo sufficiente per i guest lenti e per l’host

Misura il tempo totale di arresto dei guest, il tempo di spegnimento dell’host, l’autonomia dell’UPS sotto carico e la soglia di batteria scarica. Lascia un margine nel caso in cui un guest impieghi più tempo del solito.

Un servizio di spegnimento UPS per Proxmox dedicato esiste perché uno spegnimento ordinato di Proxmox richiede criteri e tempistiche, non solo la conferma che un segnale SNMP o USB abbia raggiunto l’host.

Imposta timeout limitati per i guest e un ordine di escalation, così una VM non critica bloccata non può consumare tutta la batteria. I guest critici, come quelli che ospitano archiviazione o database, potrebbero richiedere uno spegnimento anticipato.

Esegui un test controllato completo di interruzione dell’alimentazione

Durante una finestra di manutenzione, simula o attiva la condizione UPS supportata, osserva l’ordine di spegnimento dei guest, conferma che l’host si spenga per ultimo, quindi ripristina la rete elettrica e verifica che l’avvio sia regolare.

Le indicazioni per gli homelab sulla resilienza degli homelab alle interruzioni di corrente ribadiscono che la resilienza dipende dal test dell’intera sequenza di interruzione, non dalla sola raccolta della telemetria dell’UPS. La guida ZimaSpace correlata sulla preparazione dei backup delle VM aggiunge l’aspetto del ripristino e dei backup.

Il flusso di lavoro è completo solo quando ogni VM necessaria si spegne correttamente prima dell’host, la batteria conserva un margine di sicurezza e la stessa sequenza funziona di nuovo dopo le modifiche alla configurazione.

Domande frequenti

Le VM hanno bisogno di un proprio client NUT quando l’host ne dispone già di uno?

Non sempre. L’host può orchestrare lo spegnimento dei guest tramite l’hypervisor, ma questa fase deve essere configurata e testata, lasciando tempo sufficiente prima dello spegnimento dell’host.

Cosa succede se una VM rifiuta di spegnersi?

Usa un timeout limitato e una politica di escalation. Un singolo guest bloccato non dovrebbe consumare l’intera batteria dell’UPS fino a causare la perdita improvvisa di alimentazione dell’host.

Come posso testare lo spegnimento dell’UPS in sicurezza?

Usa una finestra di manutenzione, backup integri, un evento controllato di batteria scarica o simulato, quando supportato, e verifica l’ordine di arresto dei guest, lo spegnimento dell’host e il corretto ripristino dopo il ritorno dell’alimentazione.

Supporto e consigli

Altro da leggere

Get More Builds Like This

Stay in the Loop

Get updates from Zima - new products, exclusive deals, and real builds from the community.

Stay in the Loop preferences

We respect your inbox. Unsubscribe anytime.