Nut auf Proxmox Host

knopper

New Member
Dec 9, 2024
9
0
1
Hallo zusammen,

komme nicht so richtig weiter mit einer Nut-Installation auf einem Proxmox Host.
Ich habe die Anleitung von einem Kollegen bekommen, der es so bei sich auch im Einsatz hat, aber so richtig will es nicht laufen. Das System fährt nicht korrekt herunter bzw. es gibt immer eine Fehlermeldung.

Installiert habe ich es zunächst in einer VM, wo ich Proxmox 9.1 frisch installiert ist.

Ich poste mal die einzelenen Schritte:

Mit root user auf die Maschine und zunächst nut installiert mit apt install nut
Dann mode auf netclient gesetzt in /etc/nut/nut.conf
Code:
MODE=netclient

einige Settings in /etc/nut/upsmon.conf
Code:
MONITOR dummy@192.168.X.X 1 user pwXXX secondary
MONITOR h401ausv0@192.168.X.X 1 user pwXXX secondary
MONITOR h401ausv1@192.168.X.X 1 user pwXXX secondary
MINSUPPLIES 1
NOTIFYCMD /usr/sbin/upssched
NOTIFYFLAG ONBATT SYSLOG+EXEC
NOTIFYFLAG ONLINE SYSLOG+EXEC
NOTIFYFLAG LOWBATT SYSLOG+EXEC
POWERDOWNFLAG /etc/killpower
SHUTDOWNCMD "/sbin/shutdown -h now"

settings in /etc/nut/upssched.conf
Code:
CMDSCRIPT /usr/bin/upssched-cmd

PIPEFN /run/nut/upssched.pipe
LOCKFN /run/nut/upssched.lock
AT ONBATT * START-TIMER immediate_shutdown 0
AT ONBATT * START-TIMER forced_shutdown 180
AT ONBATT * START-TIMER hard_deadline 300
AT ONLINE * CANCEL-TIMER immediate_shutdown
AT ONLINE * CANCEL-TIMER forced_shutdown
AT ONLINE * CANCEL-TIMER hard_deadline
AT LOWBATT * EXECUTE forced_shutdown

event-Script /etc/nut/upssched-cmd
Bash:
#!/bin/sh
case "$1" in
  immediate_shutdown)
    /usr/bin/sudo /usr/local/bin/pre-shutdown.sh
    ;;
  forced_shutdown)
    /usr/bin/sudo /sbin/shutdown -h now "USV: forced shutdown after 3 min"
    ;;
  hard_deadline)
    /usr/bin/sudo /sbin/shutdown -h now "USV: 5 min deadline reached"
    ;;
  *)
  exit 1
  ;;
esac

Berechtigungen gesetzt:
Code:
chmod 0755 /etc/nut/upssched-cmd

Shutdown-Script /usr/local/bin/pre-shutdown.sh
Bash:
#!/bin/bash
set -euo pipefail
logger -t nut-shutdown "USV EVENT: immediate shutdown triggered"

systemctl isolate rescue.target

logger -t nut-shutdown "SIGTERM to all processes"
killall5 -15
sleep 5
logger -t nut-shutdown "SIGKILL to all processes"
killall5 -9
sync
logger -t nut-shutdown "shutdown now"

sudo installiert und Datei erstellt
Code:
apt install sudo

visudo -f /etc/sudoers.d/nut-shutdown

/etc/sudoers.d/nut-shutdown:
Code:
nut ALL=(root) NOPASSWD: /usr/local/bin/pre-shutdown.sh
nut ALL=(root) NOPASSWD: /sbin/shutdown

Den USV-Status kann ich nun erfolgreich abfragen mit:
Code:
upsc dummy@192.168.X.X
upsc h401ausv0@192.168.X.X

Aber wenn ich das Testscript ausführe mit
Code:
./upssched-cmd immediate_shutdown

bekomme ich auf der Console den Fehler:
"you are in rescue-mode, press Control-D to continue"

sieht jemand evt. den Fehler hier?