NUT: различия между версиями

Материал из ALT Linux Wiki
Строка 138: Строка 138:


смотрим статус:
смотрим статус:
<nowiki>
● nut-server.service - Network UPS Tools - power devices information server
● nut-server.service - Network UPS Tools - power devices information server
   Loaded: loaded (/lib/systemd/system/nut-server.service; disabled; vendor pre>
   Loaded: loaded (/lib/systemd/system/nut-server.service; disabled; vendor pre>
   Active: active (running) since Wed 2019-08-21 21:56:06 EEST; 1s ago
   Active: active (running) since Wed 2019-08-21 21:56:06 EEST; 1s ago
...
...
авг 21 21:56:07 forest upsd[18795]: Connected to UPS [rucelf]: blazer_usb-rucelf
авг 21 21:56:07 forest upsd[18795]: Connected to UPS [rucelf]: blazer_usb-rucelf
</nowiki>
Если в статусе вместо Connected to UPS стоит
Если в статусе вместо Connected to UPS стоит
'''Can't connect to UPS''', то смотрим, не висят ли процессы от пользователя upsmon
'''Can't connect to UPS''', то смотрим, не висят ли процессы от пользователя upsmon

Версия от 19:01, 21 августа 2019

Краткое описание. Если кто возьмётся дополнить чем либо, будет очень хорошо.

Настройка nut на примерах Eaton Ellipse ECO 800 и RUCELF UPI-1000-12-EL.

Конфигурация

Установка пакетов:

  • nut
  • nut-server

Конфигурационные файлы расположены в /etc/nut/

определение драйвера для ИБП

Начинаем с просмотра https://networkupstools.org/stable-hcl.html потом https://networkupstools.org/ddl/ потом гуглим модель и внимательно смотрим https://networkupstools.org/stable-hcl.html?manufacturer=Various

может помочь nut-scanner. Пример результата для RUCELF UPI-1000-12-EL:

# nut-scanner 
IPMI library not found. IPMI search disabled.
Scanning USB bus.
No start IP, skipping SNMP
No start IP, skipping NUT bus (old connect method)
Scanning NUT bus (avahi method).
[nutdev1]
       driver = "blazer_usb"
       port = "auto"
       vendorid = "0001"
       productid = "0000"
       bus = "001"

Заметим, что в случае RUCELF UPI-1000-12-EL nut-scanner догадался о протоколе (и драйвере blazer_usb) но в данной модели ИБП протокол ьреализован криво. С базовыми настройками ИБП не запустился, чтение документации( man 8 blazer_usb) помогло найти нужный костыль langid_fix = 0x409.

подключение

usb

Находим устройство в выводе команды

$ lsusb 
Bus 001 Device 016: ID 0001:0000 Fry's Electronics USB OPTICAL MOUSE
...

Да, USB OPTICAL MOUSE -- id 0001:0000 был в кривой прошивке Krauler UP-M500VA, с которым данное устройство СОВМЕСТИМО (Путем передирания прошивки?) :^( .

смотрим, чтобы у устройства была группа upsmon:

$ l /dev/bus/usb/001/ 
итого 0
crw-rw-rw- 1 root upsmon 189, 15 авг 21 21:00 016
...

если нет, то добавляем свои udev rules по образцу

/lib/udev/rules.d/98-nut-usbups.rules

rs232

читаем документацию по подключению. Устройство может подключаться нестандартным кабелем. Если комплектный кабель утерян, придется паять - обжимать самостоятельно.

ups.conf

Вписать в ups.conf описание ИБП:

[eaton]
   port = auto
   driver = usbhid-ups
   desc = "Eaton Ellipse 800"

или

[rucelf]
      driver = blazer_usb
      langid_fix = 0x409
      port = auto
      vendorid = 0001
      productid = 0000
      desc = "RUCELF UPI-1000-12-EL"

Тестируем наше описание ИБП в ups.conf:

# upsdrvctl -u upsdrv start
Network UPS Tools - UPS driver controller 2.7.4
Network UPS Tools - Megatec/Q1 protocol USB driver 0.12 (2.7.4)
Supported UPS detected with megatec protocol
Vendor information read in 1 tries
No values provided for battery high/low voltages in ups.conf
Using 'guestimation' (low: 0.000000, high: 0.000000)!
Battery runtime will not be calculated (runtimecal not set)

останавливаем демон upsdrv.

upsdrvctl -u upsdrv stop

Проверяем, не остались ли процессы с upsdrv,

ps -fu upsdrv

убиваем, если что.

Заметим, что upsdrv (драйвер ups) начиная с дистрибутивов восьмой версии ALT запускается сервисом nut-server автоматически, настраивать его не нужно. До 7-й версии ALT Linuх нужно было запустить драйвер ups (sysvinit): service upsdrv start (УСТАРЕЛО).

upsd.conf

вписываем

LISTEN 127.0.0.1 3493
LISTEN ::1 3493

По умолчанию разрешено обращаться только с localhost.

upsmon.conf

Создаем секретного пользователя для мониторинга: useradd -r -d /dev/null -s /sbin/nologin -p <ups-monitor-secret-password> ups-monitor-secret-user

Добавляем строку в upsmon.conf:

MONITOR  eaton@localhost 1 ups-monitor-secret-user <ups-monitor-secret-password> master

или

MONITOR  ruself@localhost 1 ups-monitor-secret-user <ups-monitor-secret-password> master

Для отладки, на первое время, можно поменять в строке 1 на 0:

MONITOR  ruself@localhost 0 ups-monitor-secret-user <ups-monitor-secret-password> master

чтобы только мониторить, не пытаться выключить машину.

nut.conf

ставим

MODE=standalone

Запуск (начиная с дистрибутивов ALT 8.0)

systemctl start nut-server
systemctl enable nut-server

Запустить монитор

systemctl start nut-monitor
systemctl enable nut-monitor

смотрим статус:

● nut-server.service - Network UPS Tools - power devices information server
  Loaded: loaded (/lib/systemd/system/nut-server.service; disabled; vendor pre>
  Active: active (running) since Wed 2019-08-21 21:56:06 EEST; 1s ago
...
авг 21 21:56:07 forest upsd[18795]: Connected to UPS [rucelf]: blazer_usb-rucelf

Если в статусе вместо Connected to UPS стоит Can't connect to UPS, то смотрим, не висят ли процессы от пользователя upsmon с этапа тестирования. Находим и убиваем.

Запуск до до 8-й версии ALT Linux

УСТАРЕЛО!!!

(sysvinit, до 8-й версии ALT Linux):

# УСТАРЕЛО!!!
service upsdrv start 
service upsd start

Запустить монитор (sysvinit, до 8-й версии ALT Linux)::

# УСТАРЕЛО!!!
service upsmon start


дополнительно

Необходимо удостовериться что настроен автоматический запуск сервисов (chkconfig, для 7-й версии и systemctl enable <сервис> начиная с 8-й).

Можно сделать какие либо дополнительные настройки, но из коробки в общем просто работает.

получение информации

upsc eaton@127.0.0.1

или

upsc rucelf@127.0.0.1