Проект

Общее

Профиль

Работа с UPS и NUT » История » Версия 2

Версия 1 (Владимир Ипатов, 10.07.2014 20:27) → Версия 2/3 (Владимир Ипатов, 12.04.2015 20:33)

h1. Работа с UPS и NUT

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

Для активации нужно дать следующие команды:
<pre>
update-rc.d nut-client start
service nut-client start
</pre>

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

Режим работы nut (standalone, netserver,netclient) настраивается настраиавется в /etc/nut/nut.conf
Упсы настраиваются в /etc/nut/ups.conf
В upsmon.conf настраивается мониторинг упса:
<pre>
MONITOR powercom@localhost 1 upsmon password master
</pre>
И действия на определенные события.
Это строка мониторинга для упса powercom, подключенного напрямую. В режиме standalone юзер и пароль настраивать не нужно.

Для настройки непосредственно действий используется конфиг /etc/nut/upssched.conf
<pre>
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
</pre>
Здесь задаются условия и команды, которые передаются исполняющему скрипту /usr/local/sbin/upssched-cmd:

<pre>
#!/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
</pre>