Проект

Общее

Профиль

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

Владимир Ипатов, 10.07.2014 20:27

1 1 Владимир Ипатов
h1. Работа с UPS и NUT
2 1 Владимир Ипатов
3 1 Владимир Ипатов
Для работы с nut в состав дистрибутива включены пакеты с nut, настроенные на упсы powercom imperial или же на подобные, работающие с драйвером usbhid-ups
4 1 Владимир Ипатов
Также настроен мониторинг состояния упса и автоматическое отключение всех виртуалок через 15 минут без питания. Полный шатдаун происходит по сигналу критического заряда батареи.
5 1 Владимир Ипатов
6 1 Владимир Ипатов
Режим работы nut (standalone, netserver,netclient) настраиавется в /etc/nut/nut.conf
7 1 Владимир Ипатов
Упсы настраиваются в /etc/nut/ups.conf
8 1 Владимир Ипатов
В upsmon.conf настраивается мониторинг упса:
9 1 Владимир Ипатов
<pre>
10 1 Владимир Ипатов
MONITOR powercom@localhost 1 upsmon password master
11 1 Владимир Ипатов
</pre>
12 1 Владимир Ипатов
И действия на определенные события.
13 1 Владимир Ипатов
Это строка мониторинга для упса powercom, подключенного напрямую. В режиме standalone юзер и пароль настраивать не нужно.
14 1 Владимир Ипатов
15 1 Владимир Ипатов
Для настройки непосредственно действий используется конфиг /etc/nut/upssched.conf
16 1 Владимир Ипатов
<pre>
17 1 Владимир Ипатов
CMDSCRIPT /usr/local/sbin/upssched-cmd
18 1 Владимир Ипатов
PIPEFN /var/run/nut/upssched.pipe
19 1 Владимир Ипатов
LOCKFN /var/run/nut/upssched.lock
20 1 Владимир Ипатов
AT ONBATT * START-TIMER earlyshutdown 900
21 1 Владимир Ипатов
AT ONBATT * EXECUTE onbatt-mail
22 1 Владимир Ипатов
AT ONLINE * CANCEL-TIMER earlyshutdown
23 1 Владимир Ипатов
AT ONLINE * EXECUTE online-mail
24 1 Владимир Ипатов
</pre>
25 1 Владимир Ипатов
Здесь задаются условия и команды, которые передаются исполняющему скрипту /usr/local/sbin/upssched-cmd:
26 1 Владимир Ипатов
27 1 Владимир Ипатов
<pre>
28 1 Владимир Ипатов
#!/bin/sh
29 1 Владимир Ипатов
30 1 Владимир Ипатов
case $1 in
31 1 Владимир Ипатов
	earlyshutdown)
32 1 Владимир Ипатов
	#	upsmon -c fsd
33 1 Владимир Ипатов
		gnt-node-shutdown.sh
34 1 Владимир Ипатов
                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
35 1 Владимир Ипатов
	;;
36 1 Владимир Ипатов
	onbatt-mail)
37 1 Владимир Ипатов
		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
38 1 Владимир Ипатов
	;;
39 1 Владимир Ипатов
	online-mail)
40 1 Владимир Ипатов
		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
41 1 Владимир Ипатов
	;;
42 1 Владимир Ипатов
esac
43 1 Владимир Ипатов
</pre>