UPS
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
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>
- 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>
- start upsd
START_UPSD=no
- 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
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
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. |