[Nut-upsuser] Synthesize low batt (LB) fron SNMP UPS which doesnot support this?
gene heskett
gheskett at shentel.net
Tue May 16 20:08:23 BST 2023
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 at 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/>
More information about the Nut-upsuser
mailing list