On 5/16/23 14:09, Carsten Aulbert wrote:
Hi Roger,

On 5/16/23 17:00, Roger Price wrote:
Hello Carsten, That's what I did but for a much simpler setup. I live in an area with a lot of lightning, and my shutdown criteria is to be able to shut down repeatedly during an electrical storm.  The NOTIFY and CMDSCRIPT and the upssched-cmd logic are written up in detail in chapter 7 of https://rogerprice.org/NUT/ConfigExamples.A5.pdf .

Chapter 8 contains a detailed description of a hypothetical installation fed by multiple UPSs.

wow, that looks like a LOT of content to digest but I'm not so sure if our problems align that well (but then I only briefly skimmed over it).

Luckily for us, our power grid is really stable, I think we only had 4 or 5 outages lasting more than a fraction of a second over the past ~ 15 years. Thus, we use our UPSes mainly for providing clean and stable power to our computing center with the bonus of have power when the mains go down.

We shut down the compute nodes via upssched and a 30s timer. If the power cut is shorter than that, they will simply continue running as the timer is cancelled by nut. Otherwise they will simply power down and stretch our 6-8 minutes battery buffer to much longer.

What I'm more worried about then are the storage servers, networking, head nodes and a couple of special nodes which are powered by both UPSes.

We could use upssched also for those nodes, but the pipelining of messages makes it a bit hard to have a final "stateful" service working around the missing LB flag. This would need to actively query the UPS and act after battery.runtime or battery.charge is too low overall. My simple approach there did not work (effectively looping in the script) as the next message from upssched would simply wait in the pipeline while my script was still looping.

We could also use upsmon to call our script instead of upssched which then would need to handle being called multiple times and coordinate what to do based on the messages being passed.

Both cases would probably need our own running service which would need to be fed messages and then act based on their own UPS queries. Probably doable, but not that nice.

Idly browsing the client sources, I guess I could try to add our logic here[1] and use [2] to gather the battery stats from our UPS and then decide if this UPS is considered critical or not. But for this, I would need to dust off/excavate my ancient poor C knowledge ;-).

I guess I will give this a try unless someone has a brilliant idea and could save my sanity.

Cheers

Carsten


Take an extra vitamin b1 and start hacking ;o)

Seriously, if its that important, do as I did when my last wife was dying of COPD. Leave your ups setup as is but for under $10k (USD), have an automatic home sized standby generator installed to run the important stuff, then your power outages won't last more than startup lags, 5 or 8 seconds. Because we have central air, I bought the biggest generac, 20kw, nat gas powered version about 13 years back, but generac hasn't answered the phone in 3 or 4 years, & the controller died a few months back so the label got changed from generac to kohler, same 20kw rating. So I have more than $10k usd in it now, but you should be able to src a smaller one if the AC is not in the picture for quite a bit less. I've had several multiday outages here, plus the 15 minute weekly test so the generac still has the synth oil I put in it to assure cold weather starting, and 157 hours on its clock. Its currently sitting in the back yard, needing a controller or this one fixed, if you are local to northern WV, USA, $5k and a hoist will put it in your pickup. You'll need a transfer switch too.

[1] https://github.com/networkupstools/nut/blob/e3bdc28476700c7396bdde912e5789ccb7ecb1d7/clients/upsmon.c#L925

[2] https://github.com/networkupstools/nut/blob/e3bdc28476700c7396bdde912e5789ccb7ecb1d7/clients/upsclient.h#LL105C1-L107C33


_______________________________________________
Nut-upsuser mailing list
Nut-upsuser@alioth-lists.debian.net
https://alioth-lists.debian.net/cgi-bin/mailman/listinfo/nut-upsuser

Cheers, Gene Heskett.
--
"There are four boxes to be used in defense of liberty:
 soap, ballot, jury, and ammo. Please use in that order."
-Ed Howdershelt (Author, 1940)
If we desire respect for the law, we must first make the law respectable.
 - Louis D. Brandeis
Genes Web page <http://geneslinuxbox.net:6309/>


_______________________________________________
Nut-upsuser mailing list
Nut-upsuser@alioth-lists.debian.net
https://alioth-lists.debian.net/cgi-bin/mailman/listinfo/nut-upsuser

Reply via email to