Onduleur, Proxmox et Peanut

Cet article vise à configurer un service nut sur un serveur Proxmox (valable pour Debian) et à le préparer pour lui permettre de remonter les informations à Peanut.

PVE

Vérifier que l’onduleur est bien reconnu dans les périphériques usb

lsusb

Pour ma part l’onduleur s’affiche ainsi :

Bus 001 Device 007: ID 0463:ffff MGE UPS Systems UPS

Installer nut :

apt update && apt install nut -y

nut.conf

Modifier le fichier /etc/nut/nut.conf pour changer le mode (none par défaut), mettre netserver (sera utile pour y avoir accès via le réseau par la suite) :

MODE=netserver

ups.conf

On configure ce qui a trait à l’onduleur en lui même dans /etc/nut/ups.conf (à rajouter à la fin du fichier) :

[onduleur]
   driver = usbhid-ups
   port = auto
   vendorid = 0463
   productid = ffff
   desc = "Onduleur Eaton"

upsd.conf

Dans /etc/upsd.conf, on ajoute une ligne pour dire à nut d’écouter le port 3493 sur l’interface réseau du serveur proxmox :

# =======================================================================
# LISTEN <IP address or name> [<port>]
# LISTEN 127.0.0.1 3493
# LISTEN ::1 3493
# LISTEN myhostname 83493
# LISTEN myhostname.mydomain
#
# With no LISTEN statement, the default is localhost and port 3493.
# In case of IP v4 or v6 disabled kernel, only the available one will
# be used.
# Note that it is not true for Windows platforms. You shouldn't use IPv6 in
# your configuration files unless you have IPv6 installed.
#
# As a special case, `LISTEN * <port>` (with an asterisk) will try
# to listen on "ANY" IP address for both IPv6 (::0) and IPv4 (0.0.0.0),
# subject to `upsd` command-line arguments, or system configuration.
# Note that if the system supports IPv4-mapped IPv6 addressing per RFC-3493,
# and does not allow to disable this mode, then there may be one listening
# socket to handle both address families.
#
# One or more LISTEN statements give the IP address (or name that
# resolves to such an address) for upsd to listen on, optionally with
# a port number.
#
# As an example, a machine with a LAN and a WAN interface that also
# functions as a router and firewall might be configured to listen
# only on the LAN interface.
#
# This will only be read at startup of upsd.  If you make changes here,
# you'll need to restart upsd, as reload will have no effect.
#

LISTEN 192.168.0.6 3493

upsd.users

 On crée les utilisateurs dont on aura besoin dans le fichier /etc/nut/upsd.users (à ajouter à la fin du fichier) :

[upsmon]
   password = <UPSMON_PASSWORD>
   upsmon primary
[peanut]
   password = <PEANUT_PASSWORD>
   upsmon slave
[upsroot]
   password = <UPSROOT_PASSWORD>
   actions = SET
   instcmd = ALL

upsmon : daemon de surveillance de proxmox

peanut : autorise une instance peanut à se connecter

upsroot : permet de modifier la configuration de l’onduleur

Permissions

Appliquer les permissions usb :

udevadm control --reload-rules
udevadm trigger

Vérifier les droits attribués au périphérique:

ls -l /dev/bus/usb/001/007

L’utilisateur ou le groupe doit afficher nut (ex : crw-rw---- 1 root nut ...).

Driver et services

Lancer le pilote et vérifier

systemctl start nut-driver@onduleur
upsdrvctl start

Retourne:

root@pve2:~# upsdrvctl start
Network UPS Tools - UPS driver controller 2.8.1
Network UPS Tools - Generic HID driver 0.52 (2.8.1)
USB communication driver (libusb 1.0) 0.46
Duplicate driver instance detected (PID file /run/nut/usbhid-ups-onduleur.pid exists)! Terminating other driver!
Using subdriver: MGE HID 1.46

Si le pilote s’initialise correctement, on relance les services et on interroge l’onduleur :

systemctl restart nut-server nut-client
upsc onduleur@localhost

On oublie pas d’enregistrer les services si on veut un redémarrage automatique au reboot (c’est mieux) :

systemctl enable nut-driver@onduleur nut-server nut-client

Réglage du seuil

Configuration supplémentaire, j’aime bien passer la limite de déclenchement de l’extinction des serveurs à 35% (au lieu de 20% par défaut) :

upsrw -s battery.charge.low=35 -u upsroot onduleur@localhost

Un mot de passe est demandé, saisir le mdp de l’utilisateur upsroot.

On a maintenant une configuration opérationnelle. Reste à remonter les infos dans Peanut.

Peanut

Il suffit de renseigner les paramètres de connexion dans l’interface de Peanut, à savoir le nom que l’on souhaite voir s’afficher dans peanut, l’ip du serveur nut (définie dans upsd.conf), l’identifiant et le mot de passe définis dans upsd.users.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *