Работа с 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