In the professional data center environment the UPS serves as a gap bridging device between the utility power and the backup generators. The UPS system has to only last as long as it takes to start the generators to provide back-up power.
Consumer grade UPS plays a different role. It has to provide enough battery time so users could safely save their work and shut down the system. And what about the HomeLab? Is it more like a typical home environment or maybe it's more like the data center?
In this post I will explain my approach to the UPS solution in the HomeLab environment.
Before purchasing any hardware it's always good to list requirements and expectations that it has to meet. It ensures that the money is best spent and makes it easier to avoid disappointment.
When choosing an UPS solution for HomeLab the first thing to consider is how costly and practical it has to be. It's very easy to fall into a trap of "the unlimited runtime" requirement. As both typical use cases of the UPS systems only provide a very limited time on battery there are no devices on the market designed to provide very long runtime.
To circumvent this problem HomeLab owners tend to look for "server grade" UPS solutions that provide a relatively high output power. If such a device is moderately loaded it provides longer than usual runtime, which adds bragging rights and increases the geek factor. The problem with this approach is that the UPS works most efficiently when it's reasonably loaded and also the rack-grade UPS systems tend to be heavy, loud, and expensive.
The price of the unit can be somehow lowered by buying a second-hand or lower quality device. But there is one more problem to solve and no, it's not the Wife Acceptance Factor this time.
No matter how big the UPS is it will always have so much runtime. Even if it manages to keep the lab running for 6 hours, after that it's game over. That's why I am recommending a different approach.
The reasonable approach is to use the UPS system in a way it was intended. To bridge a gap between the utility power and the back-up power (if present) and to shut down all vulnerable systems before the battery runs out.
There is no other solution for 100% uptime. The HomeLab should be designed in a way that allows for a safe shutdown and automatic startup or alternatively it has to be connected to the electricity generator that starts automatically.
To design the power back-up system properly I am listing some of the most important questions that would help to narrow down the problem:
- How much power output is needed?
- How long does the shutdown sequence take?
- Is there a managing/monitoring software available?
- Pure sine wave output or not?
- Quality and reliability concerns.
The answer to the first question will determine how large the UPS has to be. It's paramount to take into account both idle and max load power draw of all the equipment connected to the UPS. In my experience there is no point in using the online UPS calculators for that. The most efficient way is to measure real power draw at the outlet using the plug meter like this.
Once the power draw of all of the systems is known the next question is to determine how long it takes to safely bring all of the systems down. I will describe the technical details of the shutdown procedure in the next part of the series. At this stage the only important thing is to find out how long it takes to shut down all hardware that can't handle "just yank the plug out" procedure. It is a good idea to take into account that some systems will have to be switched off in particular order. For example the VM server has to be shut down before NAS so the total shutdown time has to account for that.
The management software is crucial for the automation of the HomeLab environment. As the shutdown procedure will be automatic the systems involved will have to know the status of the UPS. It is important for UPS to have a management software compatible with all operating systems used in the HomeLab and possibly one that can be easily scripted around.
The quality of the power output has to meet the specifications of the devices connected to the UPS. Most of the cheap UPSes provide modified sine wave output which is not an ideal solution for modern power supplies with the power factor correction circuit. It's better to invest in one that offers the pure sine wave output making sure that all devices connected to it will function properly.
The last variable to consider is the quality of the product. The UPS should be the solution to the problem of unreliable power feed. But if the unit is poor quality it may fail more often then the power utility itself creating problems rather than solving them.
Choosing the right UPS¶
After a lot of research I decided to go for APC SmartUPS. It is widely recommended as a good quality product. I had experience with APC in the past and there is a Linux management software available.
My biggest problem was with the pure sine wave output. As my main server uses PSU with PFC I wanted to make sure that the UPS I pick has a good quality sine wave inverter. Unfortunately the basic APC models only have the modified sine wave output which pushed me towards the more expensive ones.
I have considered CyberPower models, which gained some popularity in the HomeLab community in the recent years but I was put off by the poor quality and the frequent failures reported on the Internet.
Knowing how much power my equipment requires (with some headroom for the future growth) I consulted the runtime graphs to assess how much of it I can reasonably expect from various models. I went with SmartUPS 1500, that provides 1000W/1500KVA output and can sustain a load of 500W for over 20 minutes. Well within my requirements.
It's a good idea to purchase a model that has slightly longer uptime under predicted load as some power cuts might be short lived and all-systems shutdown should be only performed as a last resort. With my current load and the reasonable safety margins I have about 25 minutes uptime before the shutdown procedure begins.
In the next part I will describe how to configure
acpupsd so all my
systems shut down before the battery runs out.
This article is a part of the series "UPS Backup"