[Nut-upsdev] Asking hard questions about the NUT architecture

Carlos Rodrigues carlos.efr at mail.telepac.pt
Tue May 29 19:02:33 UTC 2007


On 5/29/07, Eric S. Raymond <esr at thyrsus.com> wrote:
> I've spent the better part of two working days reading the NUT code and
> documentation and thinking about typical modern use cases for the software.
> I'm now questioning whether I want to get any further involved with this
> project, because it seems to me that the codebase is a huge and complicated
> pile of machinery mainly aimed at solving problems that no longer matter.
[snip]

You are making a number of wrong assumptions:

1. Filesystem journalling is 100% reliable.  -- It isn't. Journalling
tries to keep your data safe as best as it can, but when the hardware
dies there are a million things that can go wrong. I for one, want my
data to be safe, and if there's something I can do to make it safer, I
do it. If the power fails and the box can be notified of this, why not
do a controlled shutdown? Do you unplug your box from the wall just
because you can? Or do you shut it down properly?

2. Filesystem consistency is all that matters. -- Applications are the
real problem here. You want your applications to terminate properly to
avoid losing data.

3. Applications respond to SIGPWR. -- AFAIK, few of them do. And how
do you send SIGPWR to machines not directly connected to the UPS?

4. RS232 and contact-closure don't matter. -- USB hardware may be all
over the market, but every vendor seems to do things different enough
to turn supporting them in NUT a case-by-case thing. RS232 is well
supported and makes for a good fallback. As for contact-closure, they
exist, and that's reason enough to support them. I for one wouldn't
want to dump a perfectly working 2Kva UPS in the dumpster just because
it isn't "cool" anymore.

5. Complex UPS/server scenarios don't exist. -- NUT is mostly useful
in servers, which is where the data worth protecting is. It is not
uncommon to have one, or several, UPSes powering multiple machines.
Sure, if your datacenter has a diesel generator, then you don't need
NUT at all, but small businesses don't have diesel generators... but
they have servers powered by UPSes.

I agree that NUT is a bit complicated for single user, single UPS
scenarios. But that should be fixed while keeping the current level of
functionality, which requires the present (or similar) design.

-- 
Carlos Rodrigues



More information about the Nut-upsdev mailing list