Project

General

Profile

Работа с UPS и NUT

Для работы с nut в состав дистрибутива включены пакеты с nut, настроенные на упсы powercom imperial или же на подобные, работающие с драйвером usbhid-ups
Также настроен мониторинг состояния упса и автоматическое отключение всех виртуалок через 15 минут без питания. Полный шатдаун происходит по сигналу критического заряда батареи.

Для активации нужно дать следующие команды:

update-rc.d nut-client defaults
service nut-client start

Для проверки статуса UPS можно вызвать следующую команду:

upsc powercom

Режим работы nut (standalone, netserver,netclient) настраивается в /etc/nut/nut.conf
Упсы настраиваются в /etc/nut/ups.conf
В upsmon.conf настраивается мониторинг упса:

MONITOR powercom@localhost 1 upsmon password master

И действия на определенные события.
Это строка мониторинга для упса powercom, подключенного напрямую. В режиме standalone юзер и пароль настраивать не нужно.

Для настройки непосредственно действий используется конфиг /etc/nut/upssched.conf

CMDSCRIPT /usr/local/sbin/upssched-cmd
PIPEFN /var/run/nut/upssched.pipe
LOCKFN /var/run/nut/upssched.lock
AT ONBATT * START-TIMER earlyshutdown 900
AT ONBATT * EXECUTE onbatt-mail
AT ONLINE * CANCEL-TIMER earlyshutdown
AT ONLINE * EXECUTE online-mail

Здесь задаются условия и команды, которые передаются исполняющему скрипту /usr/local/sbin/upssched-cmd:

#!/bin/sh

case $1 in
    earlyshutdown)
    #    upsmon -c fsd
        gnt-node-shutdown.sh
                echo "host `hostname -f` now on battery power more than 15 minutes\nShutting down all instances on `date +%Y%m%d-%H:%M`"|mail -s "host `hostname -f` shutting down all instances" root
    ;;
    onbatt-mail)
        echo "host `hostname -f` now on battery power \nStarting shutdown timer on `date +%Y%m%d-%H:%M`"|mail -s "host `hostname -f` now on battery power" root
    ;;
    online-mail)
        echo "host `hostname -f` now on AC power \nCancel shutdown timer on `date +%Y%m%d-%H:%M`"|mail -s "host `hostname -f` now on AC power" root
    ;;
esac