Suite à ma migration de HA sur une machine en Proxmox, je suis en train de réinstaller mon onduleur Eaton pour gérer les coupures de courant et le redémarrage automatique.
J’ai suivi 2 tutos :
J’ai réussi à paramétrer NUT (intégration) sur HA en mettant l’adresse IP de mon Proxmox et l’utilisateur créé avec les tutos sur Proxmox (utilisateur « upsadmin ») :
[eaton]
driver = usbhid-ups
port = auto
desc = "Eaton Ellipse ECO 650"
vendorid = 0463
productid = ffff
serial = xxxxxxxxxxxx
Dans « upsd.users », j’ai :
[upsadmin]
# Administrative user
password = monpassword
# Allow changing values of certain variables in the UPS.
actions = SET
# Allow setting the "Forced Shutdown" flag in the UPS.
actions = FSD
# Allow all instant commands
instcmds = ALL
upsmon master
[upsuser]
# Normal user
password = monpassword
upsmon slave
Cependant je n’arrive pas à configurer Network UPS Tools dans HA, je crois avoir vu que je n’en ai pas besoin dans cette configuration ? Est ce une erreur ? Voici quand même la config :
En fait,
soit comme tu l’as fait, tu fais tourner le serveur NUT directement sur proxmox et dans HA tu ty connecte au travers de l’intégration.
soit tu passes l’USB à la VM HA et tu installes NUT en tant que module complémentaire et tu t’y connectes de HA avec l’intégration.
Donc là si tu as l’intégration et que les entités et les valeurs remontent bien, tout va bien.
Sans partager les tests et les résultats ? A minima ce qui marche
Perso ça fait 3 ans que ça tourne nickel ici, donc c’est sans doute plus un souci de mise en place qu’autre chose, mais pour y voir clair, il faut de l’info
Après je ne sais pas trop ce qu’il faut fournir je commence juste sur Proxmox.
J’ai simplement créé le fichier « proxmoxmgnt.sh » qui n’existait pas avec le contenu mis dans ton post :
#!/bin/bash
#list VM
vmlist=$(qm list | awk '{ print $1 }' | grep -v VMID)
#list CTX
ctxlist=$(pct list | awk '{ print $1 }' | grep -v VMID)
case $1 in
stopvms)
for i in $vmlist; do
status=`qm status $i|awk '{ print $2 }'`
if [ "$status" = "running" ]
then
echo "Arret de la VM : $i"
qm shutdown $i -forceStop -skiplock
else
echo "Rien a faire sur la VM : $i, car deja eteinte"
fi
done
for i in $ctxlist; do
status=`pct status $i|awk '{ print $2 }'`
if [ "$status" = "running" ]
then
echo "Arret du CTX : $i"
pct unlock $i || lxc-stop $i
else
echo "Rien a faire sur le CTX : $i, car deja eteint"
fi
done
;;
startvms)
for i in $ctxlist; do
onboot=`pct config $i|grep onboot|awk '{ print $2 }'`
status=`pct status $i|awk '{ print $2 }'`
if [ "$onboot" = "1" ]
then
if [ "$status" = "stopped" ]
then
echo "Demarrage du CTX : $i"
qm start $i
else
echo "Rien a faire sur le CTX : $i, car deja allume"
fi
else
echo "Rien a faire sur le CTX : $i, car pas de lancement automatique"
fi
done
for i in $vmlist; do
onboot=`qm config $i|grep onboot|awk '{ print $2 }'`
status=`qm status $i|awk '{ print $2 }'`
if [ "$onboot" = "1" ]
then
if [ "$status" = "stopped" ]
then
echo "Demarrage de la VM : $i"
pct start $i
else
echo "Rien a faire sur la VM : $i, car deja allumee"
fi
else
echo "Rien a faire sur la VM : $i, car pas de lancement automatique"
fi
done
# mail -s "Courant retabli" monemail@email.com
;;
stopnuc)
shutdown -h +0
;;
upsonbatt)
# mail -s "Panne de courant" monemail@email.com
;;
esac
Puis « upsmon.conf » :
SHUTDOWNCMD "/sbin/shutdown -h now"
HOSTSYNC 15
POWERDOWNFLAG /etc/nut/killpower
FINALDELAY 5
NOTIFYCMD /sbin/upssched
NOTIFYMSG ONBATT "%s fonctionne sur batterie"
NOTIFYMSG ONLINE "%s fonctionne de nouveau sur secteur"
NOTIFYMSG LOWBATT "%s indique une batterie faible !"
NOTIFYMSG SHUTDOWN "Le système est entrain de d'éteindre !"
NOTIFYFLAG ONLINE SYSLOG+EXEC
NOTIFYFLAG ONBATT SYSLOG+EXEC
NOTIFYFLAG LOWBATT SYSLOG+EXEC
NOTIFYFLAG FSD SYSLOG+WALL+EXEC
NOTIFYFLAG COMMOK SYSLOG+EXEC
NOTIFYFLAG COMMBAD SYSLOG+EXEC
NOTIFYFLAG SHUTDOWN SYSLOG+EXEC
NOTIFYFLAG REPLBATT SYSLOG+EXEC
NOTIFYFLAG NOCOMM SYSLOG+EXEC
#ONDULEUR
MONITOR eaton@localhost 1 upsadmin monmotdepasse master
J’ai aussi remplacé par le contenu donné dans le fichier « upssched.conf » :
CMDSCRIPT /etc/nut/proxmoxmgnt.sh
AT ONBATT * EXECUTE upsonbatt
AT ONBATT * START-TIMER stopvms 600
AT LOWBATT * EXECUTE stopnuc
AT ONLINE * EXECUTE startvms
AT ONLINE * CANCEL-TIMER stopvms
Pour les logs j’ai essayé de faire « /etc/init.d/ups-monitor status » mais cela ne fait rien.
Je viens déjà de voir une faute dans mon fichier « upsmon.conf » où j’avais « apc » au lieu de « eaton ».
Pour la version du script « proxmoxmgnt.sh » je crois que c’est bien la dernière version que tu as mise dans ce post :
#!/bin/bash
#list VM
vmlist=$(qm list | awk '{ print $1 }' | grep -v VMID)
#list CTX
ctxlist=$(pct list | awk '{ print $1 }' | grep -v VMID)
case $1 in
stopvms)
for i in $vmlist; do
status=`qm status $i|awk '{ print $2 }'`
if [ "$status" = "running" ]
then
echo "Arret de la VM : $i"
qm shutdown $i -forceStop -skiplock
else
echo "Rien a faire sur la VM : $i, car deja eteinte"
fi
done
for i in $ctxlist; do
status=`pct status $i|awk '{ print $2 }'`
if [ "$status" = "running" ]
then
echo "Arret du CTX : $i"
pct unlock $i || lxc-stop $i
else
echo "Rien a faire sur le CTX : $i, car deja eteint"
fi
done
;;
startvms)
for i in $ctxlist; do
onboot=`pct config $i|grep onboot|awk '{ print $2 }'`
status=`pct status $i|awk '{ print $2 }'`
if [ "$onboot" = "1" ]
then
if [ "$status" = "stopped" ]
then
echo "Demarrage du CTX : $i"
pct start $i
else
echo "Rien a faire sur le CTX : $i, car deja allume"
fi
else
echo "Rien a faire sur le CTX : $i, car pas de lancement automatique"
fi
done
for i in $vmlist; do
onboot=`qm config $i|grep onboot|awk '{ print $2 }'`
status=`qm status $i|awk '{ print $2 }'`
if [ "$onboot" = "1" ]
then
if [ "$status" = "stopped" ]
then
echo "Demarrage de la VM : $i"
qm start $i
else
echo "Rien a faire sur la VM : $i, car deja allumee"
fi
else
echo "Rien a faire sur la VM : $i, car pas de lancement automatique"
fi
done
# mail -s "Courant retabli" your@email.com
;;
stopnuc)
shutdown -h +0
;;
upsonbatt)
# mail -s "Panne de courant" your@email.com
;;
esac
J’ai testé tes lignes de script, cela coupe bien ma VM.
Par contre au redémarrage j’ai cela :
Puis quand je rentre tes lignes de commande j’ai ça :
J’ai bien essayé de reprendre le tuto mais je ne vois rien de plus…une idée plus précise d’où j’aurai pu foirer un truc dans l’installation ?
Si je passe les lignes du tuto :
En fait c’est même pire que ça, j’ai comparé avec le truc à la maison et sur les sources partagées il y a une inversion des commandes pct et qm pour les 2 démarrage… Du coup, c’est pas parfait.
J’ai corrigé les postes que j’ai retrouvé, mais il faut que tu mettes à jour aussi de ton coté.
Désolé