A UPS shutdown signal can reach the virtualization host without reaching its VMs because power detection and guest shutdown orchestration are separate steps.
First prove the host receives the UPS event, then test whether every important VM responds to a normal hypervisor shutdown. Inspect the low-battery action, guest-agent or ACPI behavior, stop ordering, and runtime margin. The safe end state is guests off first, host off last, with enough battery left for delays.
Prove Which Component Receives the UPS Event
Trigger a supported test event or inspect logs from a recent battery transition and record whether NUT, apcupsd, SNMP monitoring, or another daemon on the host sees it.
A practical Proxmox UPS shutdown flow separates UPS detection on a Proxmox host from the later actions required to stop workloads and power down the machine.
If the host never receives the event, stay at UPS communication. If it does, do not assume guest shutdown is automatic; inspect the next orchestration step.
Test Guest Shutdown Without the UPS
From the hypervisor, request an ordinary graceful shutdown of each critical VM and measure how long it takes. Check guest-agent state, ACPI behavior, and applications that delay shutdown.
A NUT with Proxmox deployment shows why NUT can be the event source while Proxmox still needs a defined response path for the virtualized workloads it hosts.
Fix guests that ignore a normal hypervisor shutdown before testing battery emergencies. UPS automation cannot make an unresponsive guest suddenly shut down cleanly.
Make the UPS Action Call the Virtualization Layer
Inspect the script or service that handles low battery. A direct host poweroff can bypass normal VM stop ordering if it does not invoke the hypervisorโs guest shutdown process.
Another Proxmox-oriented Proxmox NUT orchestration demonstrates the need to connect NUT state to deliberate system actions rather than treating the UPS daemon itself as a guest manager.
Use the platformโs supported shutdown orchestration or a narrow hook that requests guest stops first. Avoid custom kill commands that bypass application shutdown inside the VM.
Budget Time for Slow Guests and the Host
Measure total guest-stop time, host shutdown time, UPS runtime under load, and the low-battery threshold. Leave margin for one guest taking longer than usual.
Purpose-built Proxmox UPS shutdown service exists because orderly Proxmox shutdown needs policy and timing, not merely proof that an SNMP or USB signal reached the host.
Set bounded guest timeouts and an escalation order so a stuck noncritical VM cannot exhaust the battery. Critical storage or database guests may deserve earlier shutdown.
Run One Controlled End-to-End Power Test
During a maintenance window, simulate or trigger the supported UPS condition, watch guest shutdown order, confirm the host powers off last, then restore mains and verify clean starts.
Home-lab guidance on power-outage homelab resilience reinforces that resilience depends on testing the entire outage sequence rather than collecting UPS telemetry alone. The related ZimaSpace guide on VM backup readiness adds the restore and backup boundary.
The workflow is complete only when every required VM shuts down cleanly before the host, the battery retains safety margin, and the same sequence works again after configuration changes.
Frequently Asked Questions
Do VMs need their own NUT client when the host already has one?
Not always. The host can orchestrate guest shutdown through the hypervisor, but that guest-stop step must be configured, tested, and allowed enough time before host power-off.
What happens if a VM refuses to shut down?
Use a bounded timeout and escalation policy. One stuck guest should not consume the entire UPS battery until the host loses power abruptly.
How should I test UPS shutdown safely?
Use a maintenance window, healthy backups, a controlled low-battery or simulated event where supported, and verify guest stop order, host shutdown, and clean recovery after power returns.
Support & Tips
More to Read

Can Plex Share a GPU With Another Docker Container?
Plex and another container can often access the same GPU, but you must test driver support, device mapping, video-engine load, memory, and recovery behavior.

How to Tell Whether a Plex Error Comes From the Client or Server
Reproduce the same item on another client, compare the session path, then collect server evidence only after scope tells you where the failure actually...

How to Configure Plex Cache and Transcode Temporary Storage
Protect persistent Plex state while placing transcode temp files on suitable local storage, then verify cleanup, free space, and restart behavior.

