SmartUPS и настройка upsmon

Форум предназначен для новичков. В нем предполагается рассматривать вопросы, которые встают на первых этапах освоения Linux
Irina
Заглянувший
Сообщения: 18
Зарегистрирован: 23 окт 2006, 13:51
Откуда: Minsk

SmartUPS и настройка upsmon

Сообщение Irina »

Есть SmartUPS 750, подключенный к мультикарте (com7 = /dev/ttyS6).
Linux - Mandriva 2006.
Задача: при пропадании 220В получать от UPSа хоть какое-нибудь "мяу", чтобы перед shutdown нормально завершить одну программу.
Что-то я делаю неправильно...
1. Для работы с UPS поставила пакекты nut и nutserver.
2. В пункте "Настройка ИБП" выбрала драйвер "apcsmart" и порт com7 (/dev/ttyS6). Соответственно изменился /etc/ups/ups.conf. В syslog есть сообщение о том, что связь с ups установлена. В процессах виден upsd, как бы все нормально.
3. Файл /etc/ups/upsmon.conf.sample переименовала в upsmon.conf, содержимое не меняла. При рестарте upsmon ругался на отсутствие файла /etc/killpower, в котором должен быть некий POWERDOWNFLAG. Создала этот файл (пустой), теперь ругается "fatal error... using power down flag file /etc/killpower". В комментария в upsmon.conf что-то такое написано, что этот файл не руками создается, а сам upsmon его создает. Так что же он без файла работать не желает?

Вопросы: что должно быть в /killpower? Нужен ли вообще upsmon, или для моих скромных нужд достаточно upsd? И где и как обнаружить тот сигнал, который ups присылает при пропадании питания? Я бы тогда прописала прямо в inittab в строчку с powerfail закрытие свое программы перед shutdown.

Help... 22 компа по всему городу и постоянные проблемы с питанием... :cry:

Аватара пользователя
Santa Claus
Увлекающийся
Сообщения: 101
Зарегистрирован: 28 сен 2005, 10:14
Откуда: Cuba

Сообщение Santa Claus »

Вот как это делается в Fedora Core :

UPS hardware compatibility list: http://eu1.networkupstools.org/compat/stable.html

Nut's configuration files are placed in the /etc/ups directory.
ups.conf - settings for UPS-specific driver
upsd.conf - settings for main UPS daemon
upsd.users - access control file for UPS daemon
upsmon.conf - settings for UPS monitoring daemon
upssched.conf - settings for upssched daemon
Addition to these, /etc/sysconfig/ups is also provided in the Fedora Core RPM pakcage. You can specify some command line options for upsd in /etc/sysconfig/ups .
We do not use upssched daemon. So, we will not touch upssched.conf.

Содержимое конфигурационных файлов NUT:

Код: Выделить всё

------------------  /usr/sbin/upssched-cmd (установить атрибуты для выполнения скрипта)  -------------------------
#!/bin/sh
MSG1="on battery. The UPS has been on battery for a while, logout right now!"
MSG2="forced shutdown. UPS on battery too long, forced shutdown!"

case $1 in
    onbatt1) logger -t upssched-cmd $MSG1
        wall $MSG1
        echo "on battery" | sendmail -F"ups@server1" root
        ;;
    earlyshutdown)
        logger -t upssched-cmd $MSG2
        echo "forced shutdown" | sendmail -F"ups@server1" root
        /usr/sbin/upsmon -c fsd
        ;;
    *)
        logger -t upssched-cmd "ERROR!! $0 doesn't support $1"
    ;;
esac

---------- /etc/ups/hosts.conf --------------
MONITOR apcups@localhost "Local UPS"


--------------- /etc/ups/ups.conf -----------
[apcups]
    driver = apcsmart  
    port = /dev/ttyS0
    desc = "local ups"


-------------- /etc/ups/upsd.conf -------------
ACL all 0.0.0.0/0
ACL localhost 127.0.0.1/32
ACCEPT localhost
REJECT all


---------- /etc/ups/upsd.users ----------
[upsuser]
    password = upspwd
    allowfrom = localhost
    actions = SET
    instcmds = ALL
    upsmon master


---------- /etc/ups/upsmon.conf -----------
# RUN_AS_USER root
MONITOR apcups@localhost 1 upsuser upspwd master
MINSUPPLIES 1
SHUTDOWNCMD "/sbin/shutdown -h +0"
NOTIFYCMD /usr/sbin/upssched
POLLFREQ 5
POLLFREQALERT 5
HOSTSYNC 15
DEADTIME 15
POWERDOWNFLAG /etc/killpower
NOTIFYFLAG ONLINE       SYSLOG+WALL+EXEC
NOTIFYFLAG ONBATT       SYSLOG+WALL+EXEC
NOTIFYFLAG SHUTDOWN     SYSLOG+WALL+EXEC
NOTIFYFLAG LOWBATT      SYSLOG+WALL+EXEC
NOTIFYFLAG REPLBATT     SYSLOG+WALL+EXEC
NOTIFYFLAG NOCOMM       SYSLOG+WALL+EXEC
RBWARNTIME 43200
NOCOMMWARNTIME 300
FINALDELAY 5

-------------- /etc/ups/upssched.conf ------------
CMDSCRIPT /usr/sbin/upssched-cmd

LOCKFN /var/lib/ups/upssched.lock
PIPEFN /var/lib/ups/upssched.pipe
AT ONBATT * START-TIMER  onbatt1 10
AT ONLINE * CANCEL-TIMER onbatt1

# после тестов замените 120 (2мин) на 1500 (25мин)
AT ONBATT * START-TIMER  earlyshutdown 120
AT ONLINE * CANCEL-TIMER earlyshutdown

------------- /etc/sysconfig/ups ---------------
SERVER=yes
MODEL=apcsmart
DEVICE=/dev/ttyS0
OPTIONS=:w
UPSD_OPTIONS=

Установите соответствующие права на каталоги:
# chmod 640 /etc/ups/*
# chown root:nut /etc/ups/*

Запустите сервис:

Код: Выделить всё

# /sbin/service ups start
Starting apcsmart: Network UPS Tools (version 2.0.2) - APC Smart protocol driver
     Driver version 1.99.7, command table version 2.0
Detected SMART-UPS 700 [QS123456] on /dev/ttyS0
Starting upsd: Network UPS Tools upsd 2.0.2
Connected to UPS [apcups]: apcsmart-ttyS0
Synchronizing.....done

Starting UPS monitor (master): Network UPS Tools upsmon 2.0.2
UPS: apcups@localhost (master) (power value 1)
Using power down flag file /etc/killpower
Проверьте запуск:
# cat /var/log/messages | grep ups

Просмотрите текущий статус UPS:
# upsc apcups@localhost

Обратите внимание на строку
ups.status: OL,
где OL – on line (все нормально, питание от сети); OB – питание от батареи; LB – батарея разряжена, OL CHRG – online и идет зарядка батарей.

Проверьте, что система корректно закрывается после пропадания питания. Отсоедините UPS от питающей сети и наблюдайте на консоли сообщения (от пользователя nut).

В /var/log/messages :
# egrep ".*ups.*" /var/log/messages

Спустя 2 минуты после пропадания питания, система должна корректно закрыться.
Администратор должен получить соответствующие уведомления по e-mail.

После успешных тестов в файле /etc/ups/upssched.conf замените строку
AT ONBATT * START-TIMER earlyshutdown 120
на
AT ONBATT * START-TIMER earlyshutdown 1500

Далее введите команды:
# /sbin/chkconfig ups on
# /sbin/service ups restart

Примечание. В некоторых моделях UPS после завершения работы системы по сбою питания и перед последующим включением необходимо обязательно выключить и включить UPS.
have a nice day.

Irina
Заглянувший
Сообщения: 18
Зарегистрирован: 23 окт 2006, 13:51
Откуда: Minsk

Сообщение Irina »

Большое спасибо, Santa с Кубы! :)

Главная Ошибка нашлась.
После правки upsd.users (создание юзера) и upsmon.conf (привязка этого юзера к мониторингу UPS'а) все почти наладилось.

Осталась только одна проблема. Самодельный скрипт, расписывающий, что делать при каждом состоянии UPS (тот самый /usr/sbin/upsshed.cmd) никак не привязывается к upsshed.conf, то есть upsmon продолжает выполнять свои дефолтные действия, а не то, что прописано в скрипте. Но я еще покопаюсь.

Аватара пользователя
Santa Claus
Увлекающийся
Сообщения: 101
Зарегистрирован: 28 сен 2005, 10:14
Откуда: Cuba

Сообщение Santa Claus »

Irina писал(а):Большое спасибо, Santa с Кубы! :)
Да, я такой! ;)
Irina писал(а): Осталась только одна проблема. Самодельный скрипт, расписывающий, что делать при каждом состоянии UPS (тот самый /usr/sbin/upsshed.cmd) никак не привязывается к upsshed.conf, то есть upsmon продолжает выполнять свои дефолтные действия, а не то, что прописано в скрипте. Но я еще покопаюсь.
Еще раз по буквам:

Код: Выделить всё

-------------- /etc/ups/upssched.conf ------------ 
CMDSCRIPT /usr/sbin/upssched-cmd
Чуствуете разницу?

На всякий случай атрибуты скрипта:

Код: Выделить всё

-rwxr-xr-x 1 root root /usr/sbin/upssched-cmd
have a nice day.

Irina
Заглянувший
Сообщения: 18
Зарегистрирован: 23 окт 2006, 13:51
Откуда: Minsk

Сообщение Irina »

Еще раз по буквам:

Код: Выделить всё

-------------- /etc/ups/upssched.conf ------------ 
CMDSCRIPT /usr/sbin/upssched-cmd
Чуствуете разницу?
upsshed-cmd, все верно, так и есть. Это я в письме набила с ошибкой (с точкой вместо дефиса)
На всякий случай атрибуты скрипта:

Код: Выделить всё

-rwxr-xr-x 1 root root /usr/sbin/upssched-cmd
И это было проверено (в первую очередь).
Подозреваю, что у меня где-то в настройках банальная опечатка.
Но главное -- UPS мониторится.
Если уж совсем не осилю -- навешу опрос UPS-состояния на cron, хотя это и странно получится.

Аватара пользователя
Santa Claus
Увлекающийся
Сообщения: 101
Зарегистрирован: 28 сен 2005, 10:14
Откуда: Cuba

Сообщение Santa Claus »

У меня на месте
/usr/sbin/upssched-cmd
был какой-то скрипт по-умолчанию, возможно в вашей сборке есть жесткая привязка к скрипту, находящемуся в др. каталоге.
Надо смотреть список установленных файлов + сообщения в логах.
have a nice day.

Alex87
Заглянувший
Сообщения: 9
Зарегистрирован: 12 ноя 2010, 09:18

Re: SmartUPS и настройка upsmon

Сообщение Alex87 »

народ, поднял тему, ибо не могу настроить выключение второго сервера=( почему то не срабатывает!
что не так может быть?
в upsd.users прописаны 2 "пользователя" мастер и slave, на втором сервере поставил knutklient законектился на сервер с логином slave, показывает все норм, а вот когда выключатся выключается тока мастер, сервер который подключен не посредственно к ups серез com порт.

Аватара пользователя
smart
Увлекающийся
Сообщения: 80
Зарегистрирован: 06 сен 2008, 19:36
Откуда: МИНСК
Контактная информация:

Re: SmartUPS и настройка upsmon

Сообщение smart »

поискал себя на форуме гуглем
http://forum.linux.by/viewtopic.php?f=1&t=10337

Какие усеры ? Зачем усерам настройки апса ???
настраивается 1 (ОДИН) конфиг apcupsd.conf

Alex87
Заглянувший
Сообщения: 9
Зарегистрирован: 12 ноя 2010, 09:18

Re: SmartUPS и настройка upsmon

Сообщение Alex87 »

smart писал(а):поискал себя на форуме гуглем
http://forum.linux.by/viewtopic.php?f=1&t=10337

Какие усеры ? Зачем усерам настройки апса ???
настраивается 1 (ОДИН) конфиг apcupsd.conf
у меня 2 упса 4 сервера apcupsd тут не катит

Ответить