Configurer un onduleur avec nut
Cet article montre la procédure à suivre pour configurer le logiciel de gestion d’onduleur “NUT”.
Matériel utilisé
- Le materiel qui a été utilisé pour cette documentation est un onduleur Eaton 9SX5000
- Le port USB de celui-ci semblait compliqué à utiliser, il n’était pas détecté par l’ordinateur sur lequel l’onduleur était branché. Le port série a donc été utilisé à la place.
- Le système utilisé est Debian.
Configuration du maître
Configuration de l’onduleur
Installation de nut :
apt-get install nutIl faut ensuite savoir quel est le driver a utiliser pour l’onduleur dont il est question. On peut par exemple utiliser ce site. Dans ce cas, le driver pour cet onduleur (le port série est utilisé, pas l’usb) est mge-shut.
La commande suivante permet de lister les drivers installés avec nut :
# ls /lib/nut
al175 bcmxcp bestfcom blazer_ser dummy-ups genericups liebert-esp2 mge-utalk oldmge-shut powerpanel
riello_usb ripplitesu upsmon apcsmart bcmxcp_usb bestfortress blazer_usb etapro isbmex masterguard
microdowell oneac rhino safenet tripplite_usb usbhid-ups apcsmart-old belkin bestuferrups clone everups
ivtscd etasys nutdrv_atcl_usb optiups richcomm_usb solis upscode2 victronups apcupsd-ups belkinunv
bestups e-outlet gamatronic liebert mge-shut nutdrv_qx powercom riello_ser tripplite
upsdLe driver mge-shut est bien présent. Il faut donc créer l’onduleur dans la configuration de nut, dans /etc/nut/ups.conf :
[onduleur]
driver = mge-shut
port = /dev/ttyS0Pour que nut puisse accéder à l’onduleur par le port série, il va falloir créer une règle udev /etc/udev/rules.d/eaton.rules :
KERNEL=="ttyS0", GROUP="nut"Recharger les règles :
udevadm trigger
udevadm control --reload-rulesChanger le groupe de /dev/ttyS0 :
chgrp nut /dev/ttyS0Paramétrage de nut
Maintenant il faut définir le mode de nut dans /etc/nut/nut.conf :
MODE=standaloneLe maître doit pouvoir contrôler les esclaves. Il doit donc pouvoir écouter le réseau. Pour cela dans /etc/nut/upsd.conf :
LISTEN 127.0.0.1 3493
LISTEN 192.168.0.50 3493 #adresse du serveur sur le réseauConfigurer les utilisateurs
Nous allons configurer 2 utilisateurs, un utilisateur pour le maître et un pour les esclaves, dans /etc/nut/upsd.users :
[admin]
password = mypass
actions = SET
instcmds = ALL
upsmon master
[slave]
password = pass
upsmon slaveConfiguration du moniteur
On ajoute cette ligne dans /etc/nut/upsmon.conf :
MONITOR onduleur@localhost 1 admin mypass masterConfiguration de l’action
On souhaite lancer un signal d’extinction 5 minutes après la perte du courant. Il va donc falloir créer une action différé.
Dans /etc/nut/upsmon.conf
NOTIFYCMD "/sbin/upssched"
NOTIFYFLAG ONBATT SYSLOG+WALL+EXEC
NOTIFYFLAG ONLINE SYSLOG+WALL+EXECPuis dans /etc/nut/upssched.conf :
CMDSCRIPT /opt/nut/upsalert
PIPEFN /var/lib/nut/upssched/upssched.pipe
LOCKFN /var/lib/nut/upssched/upssched.lock
AT ONBATT * START-TIMER onbatt 30 # Ici, le timer est de 30 secondes
AT ONLINE * CANCEL-TIMER onbattNut doit pouvoir écrire dans /var/run/upssched :
mkdir /var/lib/nut/upssched
chown root:nut /var/lib/nut/upssched
chmod g+sw /var/lib/nut/upsschedCréation du script d’arrêt
Nut doit pouvoir accéder au script que nous allons créer, il faut donc lui donner les bonnes permissions :
mkdir /opt/nut
touch /opt/nut/upsalert
chmod -R 750 /opt/nut
chgrp -R nut /opt/nut
chmod 750 /opt/nut/upsalert
chgrp -R nut /opt/nut/upsalertDans upsalert, on met ceci :
#!/bin/sh
echo "$date >> UPS ALERT, shutting down in a few seconds..." >> /var/log/ups.log
/sbin/upsmon -c fsdConfiguration des esclaves
Debian
Sur l’esclave, on installe nut :
apt install nutPuis, on configure le mode a utiliser dans /etc/nut/nut.conf :
MODE=netclientOn configure le moniteur dans /etc/nut/upsmon.conf :
MONITOR onduleur@192.168.0.50 1 slave pass slaveWindows
Télécharger WinNUT : https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/winnut/WinNUT-2.0.0.4a-Installer.exe
Dans WinNUT configuration tool, éditer upsmon.conf et ajouter :
MONITOR onduleur@192.168.0.50 1 slave pass slave- Cocher Install as service
- Cocher Automatic startup
- Cliquer sur Apply And Start WinNUT, puis sur OK
pfSense
- Dans l’interface de pfSense, dans System → Package Manager → Available Packages → installer NUT
- Lorsque NUT est installé, dans Services → UPS → UPS Settings :
- UPS Type : Remonte NUT Server
- UPS Name : Onduleur
- Remote IP address or hostname : 192.168.0.50
- Remote username : slave
- Remote password : XXXXXX
Tags :
