UPS

De wikilivois
Aller à la navigationAller à la recherche


A quoi sert un onduleur ?

http://linux.developpez.com/cours/upsusb/

UPS signifie Uninterruptable Power System. Comme son nom l'indique, son rôle principal consiste à fournir une alimentation électrique continue quoiqu'il arrive. Plus précisément un UPS a 2 rôles :

  • batterie de secours en cas de panne de courant : attention les batteries ne permettent que quelques dizaines de minutes d'autonomie (dépend de la charge à fournir). Un UPS a donc pour principal but de pouvoir éteindre proprement les machines qui lui sont connectées dès qu'une panne de courant survient, et d'éviter ainsi toute perte de données dûe à un crash disque provoqué par une interruption brutale d'alimentation.
  • régulateur de tension : un bon UPS fournit un signal parfaitement sinusoïdal (stabilité de l'alimentation) et protège contre tous types de parasites, variations de tension et surcharges dûes à la foudre, par exemple.

Outre son rôle purement électrique, l'UPS doit aussi communiquer avec l'ordinateur pour lui signaler son état et lui dire qu'il doit s'arrêter. Cette communication passe par un câble série RS-232, USB (de plus en plus fréquent), ou même par SNMP pour le haut de gamme.

Surveiller son onduleur avec nut

Package Gentoo: nut

* Please note that NUT now runs under the 'nut' user.
* NUT is in the tty group for access to RS-232 UPS.
* However if you use a USB UPS you may need to look at the udev or
* hotplug rules that are installed.

http://www.networkupstools.org/

http://opensource.mgeups.com/howto.htm

Schema de la configuration

Upsschema.png

Tester le port serie

Package Gentoo: setserial

#setserial /dev/ttyS0 -v autoconfig
/dev/ttyS0, UART: 16550A, Port: 0x03f8, IRQ: 4

Configurer nut - serveur -

<licode file=/etc/nut/ups.conf> [mgeups]

       driver = mge-shut
       port = /dev/ttyS0
       desc = "Computer Room"

</licode>

<licode file=/etc/nut/upsd.conf>

  1. Access Control Lists (ACLs)

ACL all 0.0.0.0/0 ACL localhost 127.0.0.1/32 ACL lan 192.168.10.0/24 ACCEPT localhost lan REJECT all </licode>

<licode file=/etc/nut/upsd.users> [admin]

       password = mgepass
       allowfrom = localhost
       actions = SET
       instcmds = ALL

[monuser]

       password  = mgepass
       allowfrom = localhost
       upsmon master

</licode>

<licode file=/etc/nut/upsmon.conf> MONITOR mgeups@localhost 1 monuser mgepass master MINSUPPLIES 1 SHUTDOWNCMD "/sbin/shutdown -h +0" NOTIFYCMD /sbin/upssched POLLFREQ 5 POLLFREQALERT 5 HOSTSYNC 15 DEADTIME 15 POWERDOWNFLAG /etc/killpower NOTIFYFLAG ONLINE SYSLOG+EXEC NOTIFYFLAG ONBATT SYSLOG+EXEC NOTIFYFLAG COMMOK IGNORE NOTIFYFLAG COMMBAD IGNORE

RBWARNTIME 43200 NOCOMMWARNTIME 300 FINALDELAY 5 </licode>

<licode file=/etc/nut/upssched.conf> CMDSCRIPT /usr/sbin/upssched-cmd PIPEFN /var/run/nut/upssched.pipe LOCKFN /var/run/nut/upssched.lock AT ONBATT * EXECUTE ups-on-battery AT ONLINE * EXECUTE ups-back-on-line </licode>

Lancement de upsd

Ajouter nut au group "serial"

# /etc/init.d/upsd start
 * Starting UPS drivers ...
Network UPS Tools - UPS driver controller 2.0.5
Network UPS Tools - MGE UPS SYSTEMS/SHUT driver 0.66 (2.0.5)

Unable to open /dev/ttyS0: Permission denied

  Current user id: nut (84)
Serial port owner: root (0)
Serial port group: uucp (14)
     Mode of port: 0660


<licode file=/etc/group> uucp:x:14:uucp,nut </licode>

Lancer upsd & upsdrv

# /etc/init.d/upsdrv start
 * Starting UPS drivers ...
Network UPS Tools - UPS driver controller 2.4.3
Network UPS Tools - Eaton / SHUT driver 0.69 (2.4.3)
Detected Ellipse 600 [AP8G3608A] on /dev/ttyS0 


# /etc/init.d/upsd start
 * Starting upsd ...
Network UPS Tools upsd 2.4.3
listening on 127.0.0.1 port 3493
Connected to UPS [mgeups]: mge-shut-mgeups  


Lancer upsd & upsdrv à chaque démarrage du serveur :

#rc-update add upsdrv default
#rc-update add upsd   default

Commandes nu

upsc

#upsc mgeups@localhost
battery.charge: 100
battery.charge.low: 20
battery.runtime: 537
driver.name: mge-shut
driver.parameter.port: /dev/ttyS0
driver.version: 2.0.5
driver.version.internal: 0.66
outlet.0.desc: Main Outlet
outlet.0.id: 1
outlet.0.switchable: 0
outlet.1.desc: PowerShare Outlet 1
outlet.1.id: 2
outlet.1.switchable: 0
output.voltage: 230
ups.delay.shutdown: -1
ups.delay.start: -1
ups.load: 27
ups.mfr: MGE UPS SYSTEMS
ups.model: Ellipse 600
ups.power.nominal: 600
ups.serial: AP8G3608A
ups.status: OL CHRG

upscmd

#upscmd -l mgeups@localhost
Instant commands supported on UPS [mgeups@localhost]:

load.off - Turn off the load immediately
load.on - Turn on the load immediately
shutdown.return - Turn off the load and return when power is back
shutdown.stayoff - Turn off the load and remain off
test.battery.start - Start a battery test
test.battery.stop - Stop the battery test

Configurer nut - client

Exemple avec debian: <licode file=/etc/default/nut>

  1. start upsd

START_UPSD=no

  1. start upsmon

START_UPSMON=yes </licode>

<licode file=/etc/nut/upsmon.conf> MONITOR mgeups@localhost 1 monuser mgepass slave MINSUPPLIES 1 SHUTDOWNCMD "/sbin/shutdown -h +0" NOTIFYCMD /sbin/upssched POLLFREQ 5 POLLFREQALERT 5 HOSTSYNC 15 DEADTIME 15 POWERDOWNFLAG /etc/killpower NOTIFYFLAG ONLINE SYSLOG+EXEC NOTIFYFLAG ONBATT SYSLOG+EXEC NOTIFYFLAG COMMOK IGNORE NOTIFYFLAG COMMBAD IGNORE

RBWARNTIME 43200 NOCOMMWARNTIME 300 FINALDELAY 5 </licode>

Ouvrir le firewall du serveur nut

Si nécessaire - les communications se font sur le port tcp 3493

upsc

#upsc mgeups@192.168.10.1
battery.charge: 100
battery.charge.low: 20
battery.runtime: 537
driver.name: mge-shut
driver.parameter.port: /dev/ttyS0
driver.version: 2.0.5
driver.version.internal: 0.66
outlet.0.desc: Main Outlet
outlet.0.id: 1
outlet.0.switchable: 0
outlet.1.desc: PowerShare Outlet 1
outlet.1.id: 2
outlet.1.switchable: 0
output.voltage: 230
ups.delay.shutdown: -1
ups.delay.start: -1
ups.load: 27
ups.mfr: MGE UPS SYSTEMS
ups.model: Ellipse 600
ups.power.nominal: 600
ups.serial: AP8G3608A
ups.status: OL CHRG

Tester l'onduleur

Sur le master nut:

#upsmon -c fsd

Cela doit déclencher l'arrêt des machines master et slave...

Outils de supervision UPS

http://eu1.networkupstools.org/client-projects/

SNMP

http://www.networkupstools.org/protocols/snmp/

Bigsister

#man ./man/man1/uxmon_nutups.1
       runtimewarn [percentage]
              Battery Runtime Warn level - Big Sister warns (yellow) if UPS runtime goes below this level
              (default: 600)

       status [string]
              Normal Status - Big Sister will warn (yellow) if status of the UPS does not equal this status
              (default: OL)

A noter que les paramètres par défaut peuvent être changés dans etc/testdef/nut.cfg


<licode file=adm/uxmon-net> localhost runtimewarn=500 status="OL CHRG" nutups </licode>

Personal solution Pac pour ASR ellipse

http://www.mgeups.com/download/soft/explore/fra/ptp/ptp_sol.htm

http://www.mgeups.com/download/soft/install/linux/psp/psplinux_user_guide_fr.pdf

http://opensource.mgeups.com/projects/mgeups-psp/mgeups-psp-3.0.2.tar.gz

Autres scripts

hibernate-script

http://www.suspend2.net/

You should run the following command to invalidate
* suspend images on a clean boot.
*
*   # rc-update add hibernate-cleanup boot
*
* See /usr/share/doc/hibernate-script-1.94-r5/README.gz for further details.
*
* Please note that you will need to manually emerge any utilities
* (radeontool, vbetool, ...) enabled in the configuration files,
* should you wish to use them.
*
* Starting with hibernate-script-1.90 the configuration files have
* been reordered and split into method specific files. Make sure you
* update your /etc/hibernate/ configuration files accordingly.

Copyright

© 2007-2010 Christophe de Livois

Tête de GNU Vous avez l'autorisation de copier, distribuer et/ou modifier ce document suivant les termes de la GNU Free Documentation License, Version 1.2 ou n'importe quelle version ultérieure publiée par la Free Software Foundation; sans section invariante, sans page de garde, sans entête et sans page finale. Pour plus d'informations consulter le site de l'APRIL.