-
Cos'è lo spegnimento automatico di Proxmox?
-
Metodo 1. Utilizzare Cron per lo spegnimento programmato
-
Metodo2. Cron + script per il rilevamento dell'inattività
-
Metodo3. systemd timer + script
-
Metodo4. Integrazione UPS + NUT
-
Protezione delle macchine virtuali dopo l'arresto automatico con Vinchin
-
Proxmox spegnimento automatico FAQ
-
Conclusione
L'attivazione dello spegnimento automatico in Proxmox ti permette di spegnere automaticamente l'host o le sue VM e i container senza intervento manuale. Puoi attivarlo tramite programmazione, stato di inattività o eventi dell'UPS. Questo permette di risparmiare energia, proteggere i dati e ridurre gli errori umani.
Cos'è lo spegnimento automatico di Proxmox?
Lo spegnimento automatico di Proxmox ti permette di eseguire automaticamente le operazioni di arresto. Puoi gestirlo utilizzando cron, systemd o gli strumenti UPS. Non si tratta soltanto di un semplice comando di spegnimento Linux — Proxmox utilizza qm e pct per chiudere correttamente VM e contenitori. Installando qemu-guest-agent, Proxmox può persino notificare al sistema operativo guest di effettuare un arresto pulito.
Se il server rimane inattivo durante la notte o desideri spegnerlo dopo il backup, la funzione di spegnimento automatico è ideale. Riduce il consumo energetico, definisce finestre di manutenzione chiare ed evita errori.
Metodo 1. Utilizzare Cron per lo spegnimento programmato
Cron è il metodo più semplice. Non controlla le attività in esecuzione, ma è facile da usare e affidabile.
Ad esempio, spegnimento quotidiano alle ore 1:00:
0 1 * * * root /usr/sbin/shutdown -h now
Test prima:
shutdown -h +5 "Test: arresto tra 5 minuti" grep shutdown /var/log/syslog
Le macchine virtuali ricevono il segnale ACPI e tentano un arresto controllato (se supportato). Tuttavia Cron non verificherà la presenza di attività in corso, quindi i processi attivi potrebbero essere interrotti.
Metodo2. Cron + script per il rilevamento dell'inattività
Uno script può verificare l'attività prima dello spegnimento, riducendo il rischio di interrompere VM o processi in esecuzione.
Script di esempio /root/shut.sh:
#!/bin/bash ACTIVE_VMS=$(qm list | grep -cv stopped) ACTIVE_PCT=$(pct list | grep -cv stopped) ACTIVE_TASKS=$(pgrep -f "pvesr|zfs scrub|vzdump") if [[ $ACTIVE_VMS -eq 0 && $ACTIVE_PCT -eq 0 && -z "$ACTIVE_TASKS" ]]; then echo "$(date): System idle. Preparing to shut down." >> /var/log/auto-shut.log shutdown -h +30 "Idle state: system will shut down in 30 minutes" fi
Rendilo eseguibile e aggiungilo a Cron:
chmod +x /root/shut.sh */5 * * * * root /root/shut.sh
Controlla ogni 5 minuti. Se non è in esecuzione nulla, programma l'arresto con un ritardo di 30 minuti.
Metodo3. systemd timer + script
Per un controllo maggiore e log migliori, utilizza systemd in produzione.
Script: /usr/local/bin/autoshutdown
#!/bin/bash ACTIVE_VMS=$(qm list | grep -cv stopped) ACTIVE_PCT=$(pct list | grep -cv stopped) ACTIVE_TASKS=$(pgrep -f "pvesr|zfs scrub|vzdump") if [[ $ACTIVE_VMS -eq 0 && $ACTIVE_PCT -eq 0 && -z "$ACTIVE_TASKS" ]]; then echo "$(date): Confermato inattivo. Arresto imminente." >> /var/log/autoshutdown.log shutdown -h +10 "Stato di inattività: arresto tra 10 minuti" fi
Servizio Systemd /etc/systemd/system/autoshutdown.service:
[Unit] Description=Servizio di spegnimento automatico Proxmox [Service] Type=oneshot ExecStartPre=/bin/sleep 300 ExecStart=/usr/local/bin/autoshutdown
Timer systemd /etc/systemd/system/autoshutdown.timer:
[Unit] Description=Timer di spegnimento automatico Proxmox [Timer] OnCalendar=*-*-* 23:00:00 Persistent=true [Install] WantedBy=timers.target
Attivalo:
systemctl daemon-reload systemctl enable --now autoshutdown.timer
Nota: Type=oneshot impedisce l'esecuzione simultanea. Il comando sleep 300 aggiunge un intervallo di 5 minuti.
Metodo4. Integrazione UPS + NUT
La protezione contro i blackout è fondamentale per l'ambiente aziendale. NUT e UPS aiutano a spegnere in modo intelligente il sistema.
Installa NUT:
apt install nut
Configurare /etc/nut/nut.conf:
MODE=netserver
Quindi modificare /etc/nut/ups.conf e /etc/nut/upsmon.conf, ad esempio:
MONITOR ups@localhost 1 monuser password slave SHUTDOWNCMD "systemctl poweroff"
Monitora UPS:
upsc ups@localhost
Simula interruzione di corrente:
upsmon -c fsd
Arrestare le macchine virtuali prima dell'host:
qm shutdown <ID> --timeout 60 pct shutdown <ID> --timeout 60
Assicurati che qemu-guest-agent sia installato sulle macchine virtuali per garantire una loro corretta risposta.
Protezione delle macchine virtuali dopo l'arresto automatico con Vinchin
Una volta attivato l'arresto automatico, il passo successivo è assicurarsi che i dati delle macchine virtuali rimangano al sicuro.
Per proteggere con sicurezza il tuo ambiente Proxmox, valuta in considerazione Vinchin Backup & Recovery—una soluzione professionale per il backup delle macchine virtuali, di livello aziendale, che supporta Proxmox VE e oltre 15 piattaforme come VMware, Hyper-V, oVirt, RHV, XCP-ng, XenServer e OpenStack.
Vinchin offre potenti funzionalità come backup incrementale perpetuo, deduplica e compressione integrate, migrazione V2V e opzioni di rapido recupero. Queste caratteristiche aiutano a ridurre la dimensione del backup, accelerare le operazioni e semplificare il ripristino in caso di disastro.
La console web intuitiva ti permette di eseguire il backup di una macchina virtuale Proxmox in soli quattro passaggi:
1.Seleziona semplicemente le VM sull'host
2.Quindi selezionare la destinazione del backup
3. Seleziona strategie
4.Infine invia il lavoro
Vinchin è affidato dagli utenti globali e conosciuto per la sua affidabilità. Inizia oggi con un periodo di prova gratuito di 60 giorni con tutte le funzioni—clicca qui sotto per scaricare e distribuire in pochi minuti.
Proxmox spegnimento automatico FAQ
D1: Come faccio a risolvere i problemi del timer o dello script?
Controllare lo stato di systemctl e journalctl -u autoshutdown.service.
Q2: Cosa fare se lo spegnimento si blocca?
Utilizzare journalctl per verificare quale servizio si è bloccato.
Q3: Posso controllare l'ordine di arresto delle macchine virtuali?
Sì—arresta le macchine virtuali per priorità utilizzando qm shutdown in sequenza.
Conclusione
L'arresto automatico di Proxmox aiuta a risparmiare energia, proteggere i dati e ridurre i rischi. È possibile attivarlo tramite pianificazione, controllo dell'inattività o UPS. Scegli il metodo più adatto al tuo caso e mantieni il sistema intelligente, sicuro ed efficiente.
Condividi su: