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

Материал из ALT Linux Wiki
Нет описания правки
Строка 1: Строка 1:
Краткое описание. Если кто возьмётся дополнить чем либо, будет очень хорошо.  
Краткое описание. Если кто возьмётся дополнить чем либо, будет очень хорошо.  


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


=Конфигурация=
=Конфигурация=
Строка 11: Строка 12:


Конфигурационные файлы расположены в /etc/nut/
Конфигурационные файлы расположены в /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
...
смотрим, чтобы у устройства была группа 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==
Строка 16: Строка 67:
Вписать в ups.conf описание ИБП:
Вписать в ups.conf описание ИБП:


<pre>
[eaton]
[eaton]
     port = auto
     port = auto
     driver = usbhid-ups
     driver = usbhid-ups
     desc = "Eaton Ellipse 800"
     desc = "Eaton Ellipse 800"
</pre>
или
[rucelf]
      driver = blazer_usb
      langid_fix = 0x409
      port = auto
      vendorid = 0001
      productid = 0000
      desc = "RUCELF UPI-1000-12-EL"


Запустить драйвер ups (sysvinit, до 7-й версии ALT Linux):
Тестируем наше описание ИБП в 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


<pre>
Using 'guestimation' (low: 0.000000, high: 0.000000)!
service upsdrv start
Battery runtime will not be calculated (runtimecal not set)
</pre>
останавливаем демон upsdrv.
upsdrvctl -u upsdrv stop


<b>Запустить драйвер ups не получится (и не нужно) без настроенного upsd на systemd (по умолчанию начиная с дистрибутивов восьмой версии ALT).
Заметим, что upsdrv (драйвер ups) начиная с дистрибутивов восьмой версии ALT
systemctl start nut-server запускает сразу и драйвер и upsd
запускается сервисом nut-server автоматически, настраивать его не нужно.
</b>
до 7-й версии ALT Linuх нужно было запустить драйвер ups (sysvinit):
{{cmd|service upsdrv start}} (УСТАРЕЛО).


==upsd.conf==
==upsd.conf==


По умолчанию разрешено обращаться только с localhost. Если нужно получать информацию по сети то добавляем разрешения:
вписываем
LISTEN 127.0.0.1 3493
LISTEN ::1 3493
По умолчанию разрешено обращаться только с localhost.


<pre>
==upsmon.conf==
ACL all 0.0.0.0/0
ACL localhost 127.0.0.1/32
ACL lan 192.168.10.0/24
ACCEPT localhost
ACCEPT lan
REJECT all
</pre>


Запустить upsd (sysvinit, до 8-й версии ALT Linux):
Создаем секретного пользователя для мониторинга:
useradd -r -d /dev/null -s /sbin/nologin -p <ups-monitor-secret-password> ups-monitor-secret-user


<pre>
Добавляем строку в upsmon.conf:
service upsd start
MONITOR  eaton@localhost 1 ups-monitor-secret-user <ups-monitor-secret-password> master
</pre>
или
MONITOR  ruself@localhost 1 ups-monitor-secret-user <ups-monitor-secret-password> master


<b>Запустить upsd (systemd, начиная с дистрибутивов восьмой версии ALT):</b>
Для отладки, на первое время, можно поменять в строке 1 на 0:
<pre>
MONITOR  ruself@localhost 0 ups-monitor-secret-user <ups-monitor-secret-password> master
systemctl start nut-server
чтобы только мониторить, не пытаться выключить машину.
systemctl enable nut-server
 
<pre>
==nut.conf==
ставим
MODE=standalone
 
== Запуск ==
 
(systemd, начиная с дистрибутивов восьмой версии ALT):
systemctl start nut-server
systemctl enable nut-server
 
<b>Запустить монитор (systemd, начиная с дистрибутивов ALT 8.0):</b>
systemctl start nut-monitor
systemctl enable nut-monitor


==upsmon.conf==


Добавить строку:
== Запуск до до 8-й версии ALT Linux ==
<b>УСТАРЕЛО!!!</b>


<pre>
(sysvinit, до 8-й версии ALT Linux):
MONITOR eaton@localhost 1 monitor eaton master
  # УСТАРЕЛО!!!
</pre>
service upsdrv start
service upsd start


Запустить монитор (sysvinit, до 8-й версии ALT Linux)::
Запустить монитор (sysvinit, до 8-й версии ALT Linux)::
# УСТАРЕЛО!!!
service upsmon start


<pre>
service upsmon start
</pre>
<b>Запустить монитор (systemd, начиная с дистрибутивов ALT 8.0):</b>
<pre>
systemctl start nut-monitor
systemctl enable nut-monitor
</pre>


=дополнительно=
=дополнительно=
Строка 86: Строка 155:
==получение информации==
==получение информации==


<pre>
upsc eaton@127.0.0.1
upsc eaton@127.0.0.1
или
</pre>
upsc rucelf@127.0.0.1
 




[[Категория:ИБП]]
[[Категория:ИБП]]

Версия от 18:40, 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
...

смотрим, чтобы у устройства была группа 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 (драйвер 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

Запуск

(systemd, начиная с дистрибутивов восьмой версии ALT):

systemctl start nut-server
systemctl enable nut-server

Запустить монитор (systemd, начиная с дистрибутивов ALT 8.0):

systemctl start nut-monitor
systemctl enable nut-monitor


Запуск до до 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