Работа с UPS и NUT » История » Версия 2
Владимир Ипатов, 12.04.2015 20:33
| 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 | 2 | Владимир Ипатов | update-rc.d nut-client start |
| 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> |