Driver dummy-ups de Network UPS Tools

per Victor Carceler darrera modificació 2022-11-22T16:30:16+01:00

logo-nut-600.webpNetwork UPS Tools es la solución de facto para monitorizar SAIs con GNU/Linux.

Se trata de una herramienta muy flexible que se puede utilizar en escenarios sencillos en los que un ordenador está protegido por un SAI. O en escenarios más complejos en los que un SAI alimenta varios ordenadores o un ordenador tiene fuentes redundantes protegidas por diferentes SAIs.

La herramienta tiene 3 componentes fundamentales:

  • driver: Gestiona la comunicación con el SAI. Se debe utilizar el adecuado para el modelo y conexión utilizados.
  • upsd: Servidor que exporta la información del driver y permite que el SAI sea monitorizado en red.
  • upsmon: Cliente de upsd, se conecta a través de la red para monitorizar el SAI. Se encarga del apagado del equipo.

En el escenario más sencillo, cuando se utiliza un SAI para proteger un ordenador, todos los elementos se están ejecutando en el mismo ordenador.

Es posible consultar ejemplos sencillos de configuración de NUT en los artículos:

Una vez que todo esté bien configurado será necesario probar el correcto apagado del sistema simulando un fallo en el suministro eléctrico, por ejemplo desenchufando el SAI.

Pero para cuando se están probando algunas configuraciones, o no se tiene a mano un SAI físico, existe un driver especial, dummy-ups, que se comporta como un SAI virtual en el que podemos cambiar su estado (OL, OB, OB LB, nivel de carga, etc...) a conveniencia.

Driver dummy-ups

Gracias a este driver podemos tener un SAI virtual que se comportará como nos interese para probar nuestra configuración.

Para NUT el SAI virtual será como cualquier otro SAI y podremos consultar su estado con upsc o modificar sus parámetros con upsrw.

Además el SAI virtual podrá asemejarse al SAI físico que a nosotros nos interese, pues el driver dummy-ups leerá el estado del SAI desde un fichero de texto con el mismo formato que genera upsc cuando expone las características de un SAI.

Para probarlo será suficiente con definir en /etc/nut/ups.conf un dispositivo virtual de la siguiente manera:

[ups]
  driver = dummy-ups
  port = datos.seq
  desc = "SAI emulado en modo loop"

El fichero datos.seq estará en el directorio /etc/nut o, si se quiere tener en otro sitio, se podrá escribir su ruta absoluta. Este fichero contendrá las propiedades del SAI en el mismo formato que proporciona el comando upsc ups.

Cuando se quiera cambiar el estado del SAI se podrá editar el fichero /etc/nut/datos.seq para definir la nueva situación y guardarlo.

Ejemplos de fichero /etc/nut/datos.seq

Más información: