Project

General

Profile

Работа с UPS и NUT » History » Version 3

Владимир Ипатов, 04/12/2015 08:33 PM

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