Changer le seuil de batterie faible sur votre onduleur

Les onduleurs intègrent eux même un seuil de batterie faible à partir duquel votre machine va commencer à s'éteindre. Le problème c'est que ce seuil n'est pas forcément adapté à toutes les machines. Pour certaines, l'onduleur aurait pu tenir encore un peu, alors que pour d'autre, la séquence d'arrêt est interrompue en plein milieu. J'ai par exemple eu le problème avec une machine sous CentOS 5 qui virtualise 5 VM. Pendant l'arrêt, l'ensemble des VM est mis en pause, et la mémoire est dumpée sur le disque dur, c'est une opération assez longue. Et bien souvent la dernière ou les deux dernières VM n'ont pas le temps d'être sauvegardées. On se retrouve donc avec un dump mémoire tronqué, et a démarrage suivant, libvirt va essayer d'injecter ça dans qemu, qui va planter lamentablement.

Créer un utilisateur nut

Il va d'abord falloir ajouter ou ajuster un utilisateur dans /etc/ups/upsd.users. L'utilisateur devra avoir les droits de changer les valeurs de l'onduleur:

[upsmaster]
password = passw0rd
allowfrom = localhost
actions = set
upsmon master

L'important est d'ajouter la ligne actions = set

Il faut ensuite que nut prenne ce changement en compte

/etc/init.d/ups restart

Ajuster le seuil

Il ne reste plus qu' à ajuster le seuil. Enfin, avant d'ajuster, on va quand même voir le seuil actuel avec:

upsc UPS battery.charge.low

Et pour régler une nouvelle valeur:

upsrw -s battery.charge.low=30 UPS