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 nut
Il 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
upsd
Le 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/ttyS0
Pour 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-rules
Changer le groupe de /dev/ttyS0 :
chgrp nut /dev/ttyS0
Paramétrage de nut
Maintenant il faut définir le mode de nut dans /etc/nut/nut.conf :
MODE=standalone
Le 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éseau
Configurer 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 slave
Configuration du moniteur
On ajoute cette ligne dans /etc/nut/upsmon.conf :
MONITOR onduleur@localhost 1 admin mypass master
Configuration 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+EXEC
Puis 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 onbatt
Nut 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/upssched
Cré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/upsalert
Dans upsalert, on met ceci :
#!/bin/sh
echo "$date >> UPS ALERT, shutting down in a few seconds..." >> /var/log/ups.log
/sbin/upsmon -c fsd
Configuration des esclaves
Debian
Sur l’esclave, on installe nut :
apt install nut
Puis, on configure le mode a utiliser dans /etc/nut/nut.conf :
MODE=netclient
On configure le moniteur dans /etc/nut/upsmon.conf :
MONITOR onduleur@192.168.0.50 1 slave pass slave
Windows
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 :