Инструменты пользователя

Инструменты сайта


bananapi:nut

Banana Pi установка NUT

Установливаю NUT

root@bananapi ~ # apt-get install nut nut-client nut-cgi nut-snmp nut-dev
Чтение списков пакетов… Готово
Построение дерева зависимостей
Чтение информации о состоянии… Готово
Заметьте, вместо «nut-dev» выбирается «libupsclient1-dev»
Будут установлены следующие дополнительные пакеты:
libgd2-xpm libjpeg8 libperl5.14 libsensors4 libsnmp-base libsnmp15 libupsclient1 libxpm4 nut-server
Предлагаемые пакеты:
libgd-tools lm-sensors snmp-mibs-downloader nut-dev nut-xml
Рекомендуемые пакеты:
bash-completion
НОВЫЕ пакеты, которые будут установлены:
libgd2-xpm libjpeg8 libperl5.14 libsensors4 libsnmp-base libsnmp15 libupsclient1 libupsclient1-dev libxpm4 nut nut-cgi nut-client nut-server nut-snmp
.
.
.
Настраивается пакет nut-client (2.6.4-2.3+deb7u1) …
[info] nut-client disabled, please adjust the configuration to your needs.
[info] Then set MODE to a suitable value in /etc/nut/nut.conf to enable it.
Настраивается пакет nut-server (2.6.4-2.3+deb7u1) …
[info] nut-server disabled, please adjust the configuration to your needs.
[info] Then set MODE to a suitable value in /etc/nut/nut.conf to enable it.
Настраивается пакет nut (2.6.4-2.3+deb7u1) …
Настраивается пакет nut-cgi (2.6.4-2.3+deb7u1) …
Настраивается пакет nut-snmp (2.6.4-2.3+deb7u1) …
apt-get install nut nut-client nut-cgi nut-snmp nut-dev  8,34s user 3,36s system 5% cpu 3:37,05 total

Для работы с nut добавляю пользователя.

root@bananapi /etc/nut # adduser rootups
Добавляется пользователь «rootups» ...
Добавляется новая группа «rootups» (1000) ...
Добавляется новый пользователь «rootups» (1000) в группу «rootups» ...
Создаётся домашний каталог «/home/rootups» ...
Копирование файлов из «/etc/skel» ...
Введите новый пароль UNIX:
Повторите ввод нового пароля UNIX:
passwd: пароль успешно обновлён
Изменение информации о пользователе rootups
Введите новое значение или нажмите ENTER для выбора значения по умолчанию
      Полное имя []:
      Номер комнаты []:
      Рабочий телефон []:
      Домашний телефон []:
      Другое []:
Данная информация корректна? [Y/n] y

Добавляю созданного пользователя в группу nut

root@bananapi /etc/nut # usermod -G nut rootups

UPS подключен с последовательному порту ttyS3 (J12 4(RXD) и 6(TXD))
Для работы с этим портом, добавляю пользователя nut в группу dialout.

root@bananapi ~ # usermod -G dialout nut
root@bananapi ~ # reboot

Все конфигурационные файлы NUT находятся в директории «/etc/nut».

Назначение:

  • ups.conf - настройки UPS драйвера для сбора данных
  • upsd.conf - настройка основного демона upsd для Network UPS Tools
  • upsd.users - контроль доступа к UPS демону (профили пользователей)
  • upsmon.conf - настройки монитора UPS демона

nut.conf
Выставляю режим работы

MODE=standalone

ups.conf

[bpiups]
        driver = blazer_ser
        port = /dev/ttyS3
        desc = "IPPON Smart Power Pro"
        default.battery.voltage.high = 13.60
        default.battery.voltage.low = 10.60
        

Опции:

  • [ups_name] - имя используется как адрес вашего UPS. Вы можете его изменить на любое произвольное имя.
  • driver - драйвер, используемый для работы с UPS.
  • port - порт, на котором висит UPS
  • desc - описание устройства (так, на всякий случай, чтобы не забыть).
  • sdorder - необязательный элемент. При наличии нескольких UPS подключенных к серверу можно выключать в определенном порядке. используя upsdrvctl можно выключить все 0s или 1s, 2s и тд. Для исключения последовательной остановки используйте -1.
  • nolock - необязательный элемент, его не рекомендуется использовать в его этом конфиге. Он служит для отключения блокировки порта при пользовании утилитой.
  • maxstartdelay - необязательный элемент. Может быть, заданна как глобальная переменная выше вашего первого UPS. Это значение определяет, сколько upsdrvctl будет ожидать окончания запуска драйвера. Данная возможность предоставляет стабильность в работе. Значение по умолчанию равно 45 секундам.
  • cable - Если драйвер UPS требует дополнительных параметров, можно указать их здесь. Индекс кабеля можно посмотреть тут «/usr/local/share/doc/nut/cables». Можено не указывать это значение, если подключение к UPS стандартно.
  • default.battery.voltage.high и default.battery.voltage.low служат для вычисления примерного заряда батареи в процентах. Также при снижении напряжения до уровня default.battery.voltage.low запускается скрипт выключения системы.

upsd.conf

LISTEN 127.0.0.1 3493

upsd.users Настраиваю пользователя для работы с ups демоном.

[rootups]
    password = gfhjkm
    allowfrom = localhost
    upsmon master

Доступные опции.

Значения:
password - пароль пользователя
allowfrom - откуда разрешено подключатся

Каждый UPS монитор может определяться как один из трех возможных типов:
upsmon master - полные полномочия управлением питания подключенных к системе UPS под управлением upsmon, эта система отвечает за выключение разряженного аккумулятора. Выключение происходит после безопасного выключения всех Slave систем. Если ваш UPS подключен непосредственно к системе через последовательный порт, то для upsmon системы следует определить этот UPS как Master.
upsmon slave - эта система, под управлением upsmon и она не выключается непосредственно. Операционная система будет выключена перед отключением питания Master. Используйте этот режим при запуске монитора на других компьютерах работающих на том же UPS. И очевидно, что только один сервер может быть подключен к последовательному порту на UPS, коим будет является Master. Все остальные сервера будут Slave.
upsmon monitor-only - при этом режиме будут создаваться уведомления о состоянии или изменении работы батареи, переключении на линию и т.д., но не завершать работу системы.
actions - Действия пользователя с применением upsd.

  • SET - изменить значения определенных переменных в UPS
  • FSD - установка флага «принудительного выключения» для UPS

instcmds - разрешения пользователю на инициирование конкретных команд. «ALL» - разрешает использовать все команды. Существует множество команд, 'upscmd -l' показывает, что поддерживает оборудование. Пример несколько команд.

  • test.panel.start - старт теста передней панели
  • test.battery.start - старт теста батареи
  • test.battery.stop - остановка теста батареи
  • calibrate.start - запуск калибровки батареи
  • calibrate.stop - остановка калибровки батареи

upsmon.conf
Убираю комментарий с RUN_AS_USER

RUN_AS_USER upsmaster

И добавляю строку

MONITOR bpiups@localhost 1 rootups gfhjkm  master

Запускаю ups демона

root@bananapi ~ # upsdrvctl start
Network UPS Tools - UPS driver controller 2.6.4
Network UPS Tools - Megatec/Q1 protocol serial driver 1.55 (2.6.4)
Duplicate driver instance detected! Terminating other driver!

Broadcast Message from rootups@bana
        (somewhere) at 23:09 ...

Communications with UPS bpiups@localhost lost

Supported UPS detected with megatec protocol
Vendor information unavailable
No values provided for battery high/low voltages in ups.conf

Using 'guestimation' (low: 10.400000, high: 13.000000)!
Battery runtime will not be calculated (runtimecal not set)

Broadcast Message from rootups@bana
        (somewhere) at 23:09 ...

Communications with UPS bpiups@localhost established

Запускаю монитор

/etc/init.d/ups-monitor start  

Проверяю.

root@bananapiupsc bpiups@127.0.0.1
battery.charge: 100
battery.voltage: 13.80
battery.voltage.high: 13.00
battery.voltage.low: 10.40
battery.voltage.nominal: 12.0
device.type: ups
driver.name: blazer_ser
driver.parameter.pollinterval: 2
driver.parameter.port: /dev/ttyS3
driver.version: 2.6.4
driver.version.internal: 1.55
input.current.nominal: 2.0
input.frequency: 49.6
input.frequency.nominal: 50
input.voltage: 255.0
input.voltage.fault: 255.0
input.voltage.nominal: 230
output.voltage: 214.0
ups.beeper.status: disabled
ups.delay.shutdown: 30
ups.delay.start: 180
ups.load: 0
ups.status: OL TRIM
ups.temperature: 37.8
ups.type: offline / line interactive
root@bananapi ~ #

Копируем файлы NUT в директорию http-сервера:

root@bananapi ~www # mkdir /var/www/nut
root@bananapi ~www # cp /usr/share/nut/www/* /var/www/nut/

Проверяю. что в /usr/lib/cgi-bin/ есть папка nut

В папку /etc/apache2/conf.d добавил файл nut.conf

Содержимое файла

# cat nut.conf
# therm Apache configuration

Alias /power /var/www/nut

<Directory /var/www/nut>
        Order deny,allow
        Allow from all
</Directory>

hosts.conf добавил строку

MONITOR bpiups@localhost "Banana PI UPS"

upsset.conf раскомментировал.

I_HAVE_SECURED_MY_CGI_DIRECTORY
# apachectl graceful

Ссылки:
https://www.easycoding.org/2012/10/01/podnimaem-nut-v-linux.html
http://geckich.blogspot.com/2012/10/low-battery-ups-nut-network-ups-tools.html
http://habrahabr.ru/post/102032/

bananapi/nut.txt · Последние изменения: 2015/08/25 18:40 (внешнее изменение)