[Nut-upsdev] MGE NMC and NutShutdownModule (and other stuff)
Marco Chiappero
marco at absence.it
Tue Oct 27 11:11:36 UTC 2009
Arjen de Korte ha scritto:
> 1) Both netxml-ups drivers can't connect at the same time via NSM to
> their respective NMC's. We must have two instances of the netxml-ups
> driver running (to provide access to all variables in the UPS) and as
> far as I can see we can only accommodate one NSM client (due to the
> listening socket that is needed for the callback from the NMC's) per host.
No. This would be a problem when using the UDP protocol, that I didn't
implemented, where there is a single socket reading broadcast messages
sent by the UPSes. In such case we would need the driver approach (but
that breaks the single_UPS--single_driver_instance design [1]) or the
new deamon approach (that shall take care about talking to the NMC
directly). Otherwise this is false and you can run every netxml-ups
instances you want (or run UDP in a single UPS scenario only).
> 2) You can't make *any* changes to the clients,
I have never suggested a change in upsmon. However a mgemon client can
be certainly created instead. But I'd like a reply about the current
support for those redundancy configuration before thinking about this.
> So to the
> clients, the individual outlets of the two UPS'es would need to appear
> as completely separate devices,
They do appear separate devices using the subdriver approach, with the
ups.status parameter controlled by the NSM protocol if present. We would
see just a single virtual UPS in that driver approach I proposed
instead, so let's discard this solution if this is a problem, that's ok.
> The only way I see how to solve this without rewriting half the upsd
> server and/or requiring changes to the clients, is by creating a
> 'netnsm-ups' listener that would connect to all NMC's, without actually
> providing a real/virtual UPS and create a special kind of clone driver,
> that would connect both to one of the 'netxml-ups' drivers running and
> also 'netnsm-ups' (to grab the 'ups.status' line).
>
> [...]
I have not fully understood the config proposed but I got the idea and
it's fine. But if we don't care about UDP the subdriver approach do the
same thing (changing the status accordingly to the NSM protocol ALARMS)
in a easier way directly in the driver.
They are all valid solutions, with different pros and cons, so back to
my original question: which one is the best? Which one can support
redundancy?
However I'd like to know about the redundancy configurations natively
supported by NUT, and so if upsmon can take care about that for NSM too.
Regards,
Marco
[1] Not with the solution you proposed later.
More information about the Nut-upsdev
mailing list