Cómo instalar y controlar el UPS en UBUNTU 18.04 y que se apague el server si se gasta la batería
En este articulo lo que buscamos es instalar un único UPS que tenga un USB para cominicarse con el servidor UBUNTU 18.04 (Funciona con muchas marcas pero no se si funciona con todos, será cuestion de probar) y queremos que cuando se este por terminar la bateria le «diga» al server que se apague correctamente. No vamos a profundizar porque se puede hacer mucho, al final voy a dejar unos links para el que necesite mas.
En primer lugar debemos instalar un programa denominado NUT:
$ sudo apt-get install nut nut-monitor libcanberra-gtk-module
Ahora para saber donde esta instalado hacemos
$ lsusb ... Bus 002 Device 087: ID 0d9f:0004 Powercom Co., Ltd ....
En nuestro caso es ese y lo que nos interesa es el numero de vendorid 0d9f
S sudo pico /etc/nut/nut.conf
Agregamos al final de todos los comentarios lo siguiente, para indicar que vamos a sondearlo directamente por el usb.
MODE=standalone
Ahora le tenemos que indicar donde tiene que mirar
$ sudo pico /etc/nut/ups.conf
donde colocamos al final de los comentarios
maxretry = 3 [myups] driver = usbhid-ups port = auto vendorid = 0d9f pollfreq = 30
NOTA: El vendorid es el que descubrimos mas arriba.
NOTA1: Hay otro driver que puede probar si no funciona bien «driver = megatec_usb»
Ahora le indicaremos como reaccionar ante algun evento
$ sudo pico /etc/nut/upsmon.conf
Es aquí donde tenemos que poner nuestro foco y es donde pone el foco el censador. Acá configuraremos las acciones que queremos que haga el servidor dependiendo las señales que nos llegan del UPS. Se pueden hacer muchas cosas pero nosotros solo queremos que se apague correctamente si el UPS se esta quedando sin batería. No queremos apagarlo si se corta la electricidad de red, solo que se apague cuando ya «casi» no le quede carga a la batería interna.
Un Ejemplo puede ser:
DEADTIME 15 FINALDELAY 5 HOSTSYNC 15 MINSUPPLIES 1 MONITOR ups1@localhost 1 upsMonitorMasterUser upsMonitorMasterUserPasswd master # UPSMON alerts to dead UPS with NOCOMM every NOCOMMWARNTIME seconds. # Value changed from default 300 to 15. NOCOMMWARNTIME 15 NOTIFYCMD /sbin/upssched NOTIFYFLAG COMMBAD SYSLOG+WALL+EXEC NOTIFYFLAG COMMOK SYSLOG+WALL+EXEC NOTIFYFLAG FSD SYSLOG+WALL+EXEC NOTIFYFLAG LOWBATT SYSLOG+WALL+EXEC NOTIFYFLAG NOCOMM SYSLOG+WALL+EXEC NOTIFYFLAG ONBATT SYSLOG+WALL+EXEC NOTIFYFLAG ONLINE SYSLOG+WALL+EXEC NOTIFYFLAG REPLBATT SYSLOG+WALL+EXEC NOTIFYFLAG SHUTDOWN SYSLOG+WALL+EXEC POLLFREQ 5 POLLFREQALERT 5 POWERDOWNFLAG /etc/killpower RBWARNTIME 43200 RUN_AS_USER nut SHUTDOWNCMD "/sbin/shutdown -h -P now"
La señal que nos va a llegar desde el UPS y que nos interesa es NOCOMM durante NOCOMMWARNTIME segundos
Ahora tenemos que lanzar el demonio para ver si andar el censado del UPS.
$ sudo upsdrvctl start
Para sabe cuales son las señales que nos llegan del UPS hacemos
$ upsc myups Init SSL without certificate database battery.charge: 100 battery.charge.low: 10 battery.charge.warning: 30 battery.date: 2014/01/15 battery.runtime: 800 battery.type: PbAc device.mfr: POWERCOM Co.,LTD device.model: HID UPS Battery device.serial: 004-0D9F-000 device.type: ups driver.name: usbhid-ups driver.parameter.pollfreq: 30 driver.parameter.pollinterval: 2 driver.parameter.port: auto driver.parameter.synchronous: no driver.parameter.vendorid: 0d9f driver.version: 2.7.4 driver.version.data: PowerCOM HID 0.5 driver.version.internal: 0.41 input.frequency: 50.0 input.voltage: 228.0 input.voltage.nominal: 220 output.frequency: 50.0 output.voltage: 228.0 output.voltage.nominal: 220 ups.beeper.status: disabled ups.date: 2014/01/15 ups.delay.shutdown: 20 ups.delay.start: 60 ups.load: 35 ups.mfr: POWERCOM Co.,LTD ups.model: HID UPS Battery ups.productid: 0004 ups.serial: 004-0D9F-000 ups.status: OL ups.test.result: Done and passed ups.timer.shutdown: 0 ups.timer.start: 863520 ups.vendorid: 0d9f
NOTA: myups es el que le pusimos en la etiqueta de configuración en ups.conf. Pueden haber mas de uno y tiene que tener nombres distintos.
Si tenemos un acceso con acceso al sevidor grafico, entonces ahora vamos a ver lo que sondea el programa grafico
$ sudo NUT-Monitor
Para testear si funciona y simular un corte de electricidad en el mundo real hacemos:
$ sudo upsmon -c fsd
Espero que le sirva, Buena Vida!
Si te sirvió este apunte y quieres invitarme una café, gaseosa o agua, puede hacerlo pulsa AQUI.
Si en cambio quieres ayudarme a seguir haciendo y juntando apuntes utiles pulsa AQUI.
WEBGRAFIA