On this page
A homelab is several dependent machines sharing one power source, and that changes the UPS problem. A single desktop needs a battery and a shutdown signal. A lab needs a battery, a signal that reaches every machine, and a shutdown sequence that respects which machines depend on which.
Step 1: get two numbers, peak and typical
Servers and hypervisors spend most of their life near idle and briefly spike during boots, backups, scrubs and compiles. Those two figures drive different decisions:
- Peak watts decides the UPS's capacity. An overload at the wrong moment (all hosts booting together after an outage, a scrub during a game server spike) drops everything.
- Typical watts decides runtime, because outages rarely coincide with peaks.
| Device | Idle (W) | Busy (W) | Notes |
|---|---|---|---|
| Mini PC (mobile-class CPU) | 5 to 15 | 25 to 65 | External brick, tolerant of most waveforms |
| Desktop-class tower used as a server | 30 to 70 | 120 to 300 | Higher with a GPU |
| Used 1U/2U enterprise server, dual socket | 100 to 200 | 250 to 500 | Fans ramp hard at boot |
| 8+ drive storage server | 60 to 120 | 120 to 250 | Drive spin-up adds a boot peak |
| Managed switch (non-PoE) | 10 to 30 | 15 to 40 | PoE adds whatever the devices draw |
| Router or firewall appliance | 8 to 25 | 10 to 35 |
Use a plug-in wattmeter or your servers' own power readings (IPMI, iDRAC, iLO and similar report input watts) rather than PSU nameplates. The measurement guide explains how; the device power draw database has typical values to fill gaps.
Step 2: a worked example
A lab with a three-node Proxmox cluster of mini PCs, a used 2U server for heavier VMs, a storage box serving NFS to the cluster, a switch and a firewall:
| Device | Typical (W) | Peak (W) |
|---|---|---|
| 3 x mini PC Proxmox nodes | 3 x 14 = 42 | 3 x 55 = 165 |
| 2U server | 150 | 320 |
| Storage server, 6 drives | 65 | 140 |
| Switch | 20 | 25 |
| Firewall | 15 | 20 |
| Total | 292 | 670 |
Everything peaking at once is unlikely, but a cold boot after an outage comes close: every fan at full speed, every drive spinning up. Sizing to 670 W at no more than 75% load needs about 900 W of capacity, so a 1500 VA unit rated 1000 W or more fits, with 1350 to 1500 W models giving extra margin.
Runtime at the typical 292 W, for a 1500 VA unit with two 12 V 9 Ah batteries (about 216 Wh nominal):
At roughly 300 W the batteries discharge fairly fast, so lead-acid delivers less than its nominal capacity. Discount to something like 25 to 30 minutes new, and 15 to 20 minutes after a few years. That still easily covers a 3-minute trigger plus a 5-minute orchestrated shutdown. The runtime calculator applies the rate and aging effects for you.
Rule of thumb: stagger the restart as well as the shutdown
Most labs plan the shutdown and forget the restart. When mains returns, every machine with "power on after AC loss" boots at once, so the cold-boot peak lands on a UPS whose battery may be almost empty and recharging. In the example above, that is 670 W on a unit that just ran a 15-minute outage. Set BIOS power-on delays or let only the storage server auto-start, and have the hypervisors start a minute or two later. It lowers the inrush peak, and the hosts find their NFS storage ready instead of timing out.
Step 3: orchestrate the shutdown
The order follows dependencies. Anything that keeps files open on shared storage must stop before that storage goes away.
- Guests first. VMs and containers shut down cleanly so their own filesystems and databases close. Proxmox does this automatically when the host shuts down, using each guest's start/shutdown order and timeout settings. Give slow guests (databases, Windows VMs installing updates) a longer timeout.
- Hypervisor hosts next. Once guests are down, the hosts power off. In a cluster, consider disabling HA migrations for power events so nodes do not try to move guests onto nodes that are also shutting down.
- Storage last. The NAS or storage server stops after every client has released its NFS, SMB or iSCSI mounts.
- Network gear stays up. The switch and firewall carry the shutdown messages, so they run until the UPS itself turns off.
- UPS cuts output. After a delay, the UPS turns off its outlets and restores them when mains returns, so machines set to auto-power-on see a clean power cycle.
Proxmox-specific setup is in Proxmox UPS shutdown; storage platforms are covered in the NAS guide.
NUT primary and secondary roles
Network UPS Tools is the usual glue. Older documentation calls the roles master and slave; current releases use primary and secondary.
| Role | Runs on | Responsibility |
|---|---|---|
| Driver and upsd server | The machine with the USB or serial cable (or any host polling a network card) | Reads UPS status and publishes it on the network |
| upsmon primary | Same machine, ideally the one that should shut down last (often storage) | Decides when to declare forced shutdown, waits for secondaries, then tells the UPS to cut power |
| upsmon secondary | Every other host | Shuts itself down when the primary signals forced shutdown or the battery is critical |
A common design question is where to run the primary. Putting it on the storage server matches the dependency order naturally: it waits for the hypervisors to log out before shutting down itself. Putting it on a hypervisor is fine too, but then make sure the storage server is a secondary that shuts down late, for example by triggering it on low battery rather than on the forced-shutdown flag. Running NUT inside a VM is possible but fragile, because the VM is shut down by the very host it is supposed to control.
If you want earlier, staged shutdown (for example, power off the 2U server after 2 minutes to stretch runtime for everything else), NUT's upssched can run per-host timers on the on-battery event.
Redundant power supplies
Enterprise servers often have two hot-swap PSUs that share the load. How you feed them changes what you are protected against:
| Arrangement | Survives | Does not survive |
|---|---|---|
| Both PSUs on one UPS | Outage, one PSU failure | UPS failure or UPS battery failure |
| One PSU on the UPS, one on the wall | Outage, UPS failure, one PSU failure | Outage while the UPS is faulty; dirty power reaches the wall-side PSU |
| Each PSU on its own UPS | Outage, either UPS failing, either PSU failing | Little at home scale; costs a second UPS |
Size for the whole server, not the half you see
With load sharing, a server drawing 300 W pulls roughly 150 W through each supply, so the UPS display shows 150 W. When the wall side dies, the UPS side instantly carries all 300 W, plus a little extra since one supply now runs alone. Size the UPS and the runtime estimate for the full load. Also confirm each PSU alone is rated for the server's peak, which is normal for true redundant configurations but not guaranteed on every build.
Online double conversion vs line-interactive
Online UPS units rectify incoming AC to DC and invert it back continuously, so the output is regenerated sine with zero transfer time and isolation from most input disturbances. Line-interactive units pass utility power through, correct voltage with a transformer tap, and switch to the inverter in a few milliseconds. For background, see line-interactive vs online.
| Factor | Pure sine line-interactive | Online double conversion |
|---|---|---|
| Efficiency in normal operation | Typically 95 to 98% | Typically 88 to 94% (higher in eco/bypass modes) |
| Heat added to the room | A few watts at idle | Tens of watts continuously at moderate load |
| Fan noise | Often silent on mains | Fans usually run all the time |
| Generator compatibility | May switch to battery on unstable generator frequency | Generally tolerates generator power well |
| Best fit | Most home labs on grid power | Unstable mains, frequent generator use, sensitive gear |
The efficiency gap has a real running cost. At a 300 W load, 97% efficiency wastes about 9 W while 91% wastes about 30 W. The difference of about 20 W, running all year, is about 175 kWh, which is roughly $35 at an example rate of $0.20 per kWh, before any extra air conditioning load. Try your own figures in the UPS energy cost calculator.
Rack or tower
A rack UPS keeps cables tidy and usually takes extended battery packs and network management cards, but it is deep, heavy and often louder. A tower fits a shelf or the floor under a lab desk. If your gear lives in a rack in a closet, choose rack; if it lives in a living space, tower units are often quieter. Details in rack vs tower UPS and rack-mount installation. Either way, give the UPS ventilation: heat is the main enemy of its batteries.
Mistakes that show up in homelabs
- Sizing on idle. The lab runs fine for months, then trips the overload alarm during a cold boot. See overload alarm.
- Simulated sine with server PSUs. Active-PFC supplies may drop out on transfer. Use pure sine.
- The switch on a surge-only outlet. Every NUT secondary loses its primary at the instant it matters.
- Laser printers or space heaters on battery outlets. They overload the inverter; keep them off battery outlets entirely.
- No test after changes. New VMs with long shutdown times quietly break the timing budget.
When a UPS is the wrong tool
If you want the lab to stay up through multi-hour outages, battery size grows quickly and lead-acid UPS chargers are slow to refill large external packs. The practical answer is a generator or large battery system for duration, with a UPS kept in front for clean transfer and shutdown signaling (see using a UPS with a generator). And if the only goal is cutting the electric bill or noise, the biggest lever is often consolidating a power-hungry used server onto mini PCs, which also shrinks the UPS you need.
Frequently asked questions
How long should a homelab UPS run?
Long enough to ride through the short blips that cause most interruptions, then shut everything down cleanly. For most labs that means a trigger at 2 to 5 minutes on battery and a total runtime of 15 to 30 minutes at typical load. Running for hours is a different job better done by a generator or power station feeding the UPS.
Should I use NUT or the UPS vendor's software for Proxmox?
NUT is the common choice because it runs natively on Debian-based Proxmox, supports most USB HID units, and lets other machines subscribe as network clients. Vendor tools can work on Linux but cover fewer multi-host scenarios. Either way, test the full shutdown chain after setup.
Do I need an online double-conversion UPS for a server?
Not usually. Server power supplies with active PFC ride through the few milliseconds of transfer on a pure sine line-interactive unit. Online UPS units make sense when utility voltage or frequency is unstable, when you run on a generator often, or when equipment is unusually sensitive. They cost more, run warmer and have louder fans.
Can I plug both redundant power supplies into the same UPS?
You can, and it protects against a PSU failure but not a UPS failure. Splitting the feeds (one PSU on the UPS, one on another UPS or a separate circuit) protects against more failure modes. If one side goes to the wall, remember that during an outage the UPS-side supply carries the entire load.
Why does my server shut down instantly when the UPS switches to battery?
The most common causes are an overloaded UPS (check peak, not idle), a simulated sine wave unit feeding an active-PFC supply, or an exhausted battery that collapses under load. Check the UPS load reading at peak and run a self-test. See the overload and shutdown troubleshooting guides.
Sources and further reading
- Network UPS Tools (NUT) user manual and hardware compatibility list
- Proxmox VE Administration Guide: VM start and shutdown order
- IEC 62040-3, Uninterruptible power systems: method of specifying the performance and test requirements
- ENERGY STAR: Uninterruptible Power Supplies