LINUX.ORG.RU

Служба Nut отваливается со временем

 


0

1

Есть успешно настроенный ИБП Powercom на Debian. Все команды успешно отрабатывает, адекватно реагирует на все события. Но проходит некоторое время и служба nut успешно ложится и больше не отвечает. На вопрос «systemctl status nut.service» отвечает:

«Unit nut.service could not be found.»

Но если сделать рестарт службы - все сразу же поехало по новой. Перечитал много в гугле инфы, но пока ответа так и не нашел. В большинстве тем либо заканчивалось обсуждение без ответов, либо сообщали, что решения для проблемы нет. Помимо варианта, чтобы делать скрипт, который бы запускался cron-ом с какой-то периодичностью для рестарта службы nut, решения нет?

Ответ на: комментарий от einhander

Я все же запрашивал статус nut. Для nut-server немного больше информации.

~# systemctl status nut-server
● nut-server.service - Network UPS Tools - power devices information server
   Loaded: loaded (/lib/systemd/system/nut-server.service; enabled; vendor preset: enabled)
   Active: active (running) since Sat 2024-02-03 10:26:48 EET; 3 days ago
  Process: 1040 ExecStart=/sbin/upsd (code=exited, status=0/SUCCESS)
 Main PID: 1055 (upsd)
    Tasks: 1 (limit: 4915)
   Memory: 5.7M
   CGroup: /system.slice/nut-server.service
           └─1055 /lib/nut/upsd

Feb 03 23:25:55 pve upsd[1055]: Send ping to UPS [pcm] failed: Resource temporarily unavailable
Feb 03 23:25:56 pve upsd[1055]: Connected to UPS [pcm]: usbhid-ups-pcm
Feb 03 23:26:13 pve upsd[1055]: Data for UPS [pcm] is stale - check driver
Feb 03 23:56:50 pve upsd[1055]: Send ping to UPS [pcm] failed: Resource temporarily unavailable
Feb 03 23:56:51 pve upsd[1055]: Connected to UPS [pcm]: usbhid-ups-pcm
Feb 03 23:57:08 pve upsd[1055]: Data for UPS [pcm] is stale - check driver
Feb 04 00:27:45 pve upsd[1055]: Send ping to UPS [pcm] failed: Resource temporarily unavailable
Feb 04 00:27:46 pve upsd[1055]: Connected to UPS [pcm]: usbhid-ups-pcm
Feb 04 00:28:03 pve upsd[1055]: Data for UPS [pcm] is stale - check driver
Feb 04 00:58:40 pve upsd[1055]: Send ping to UPS [pcm] failed: Resource temporarily unavailable

Попытка перезапустить:

~# systemctl restart nut-server
Job for nut-server.service failed because a timeout was exceeded.
See "systemctl status nut-server.service" and "journalctl -xe" for details.

Через стоп/старт:

~# systemctl stop nut-server
~# systemctl start nut-server
~# upsc pcm
Init SSL without certificate database
battery.charge: 70
battery.charge.low: 10
battery.charge.warning: 30
battery.date: 2009/12/23
battery.runtime: 25344
battery.type: PbAc
device.mfr: POWERCOM Co.,LTD
device.model: HID UPS Battery
device.serial: 004-0D9F-000
device.type: ups
driver.name: usbhid-ups
driver.parameter.pollfreq: 30
driver.parameter.pollinterval: 2
driver.parameter.port: auto
driver.parameter.productid: 0004
driver.parameter.synchronous: no
driver.parameter.vendorid: 0d9f
driver.version: 2.7.4
driver.version.data: PowerCOM HID 0.5
driver.version.internal: 0.41
input.frequency: 50.0
input.voltage: 206.0
input.voltage.nominal: 220
output.frequency: 50.0
output.voltage: 206.0
output.voltage.nominal: 220
ups.beeper.status: enabled
ups.date: 2009/12/23
ups.delay.shutdown: 20
ups.delay.start: 60
ups.load: 7
ups.mfr: POWERCOM Co.,LTD
ups.model: HID UPS Battery
ups.productid: 0004
ups.serial: 004-0D9F-000
ups.status: OL CHRG
ups.test.result: Done and passed
ups.timer.shutdown: 0
ups.timer.start: 0
ups.vendorid: 0d9f
benedikt
() автор топика
Ответ на: комментарий от benedikt

upsd[1055]: Data for UPS [pcm] is stale - check driver

Как говорится чекай статус драйвера. Pcm девайсы достаточно багованные, если после stop-start работает, то упавшее и быстро поднятое не считается упавшим.

einhander ★★★★★
()

сделай так

$ cat /etc/udev/rules.d/50-ups_raptor.rules 
# This device resets itself after a second if no-one claims it.
# so we claim it ASAP
SUBSYSTEM=="usb", ACTION=="add", ATTR{idVendor}=="0d9f", ATTR{idProduct}=="0004", RUN+="/usr/bin/systemctl restart nut-driver"
baja
()
Последнее исправление: baja (всего исправлений: 1)
Ответ на: комментарий от baja

У меня файл 90-nut-ups.rules

~# cat /etc/udev/rules.d/90-nut-ups.rules
# PCM BT650
ACTION=="add", SUBSYSTEM=="usb", ATTR{idVendor}=="0d9f", ATTR{idProduct}=="0004", MODE="0660", GROUP="nut"

Сегодня чекал весь день статус через «upsc pcm» после рестарта службы, хотел прикинуть сколько она продержится. Продержалась служба около 3-х часов. Но был замечен еще момент. Наступает определенный период, когда на команду «upsc pcm» система отвечает ошибкой:

Init SSL without certificate database
Error: Data stale

При этом проверка статуса службы пишет следующее:

~# systemctl status nut-server
● nut-server.service - Network UPS Tools - power devices information server
   Loaded: loaded (/lib/systemd/system/nut-server.service; enabled; vendor preset: enabled)
   Active: active (running) since Wed 2024-02-07 09:11:47 EET; 3h 29min ago
  Process: 9160 ExecStart=/sbin/upsd (code=exited, status=0/SUCCESS)
 Main PID: 9162 (upsd)
    Tasks: 1 (limit: 4915)
   Memory: 968.0K
   CGroup: /system.slice/nut-server.service
           └─9162 /lib/nut/upsd

Feb 07 09:11:47 pve systemd[1]: Starting Network UPS Tools - power devices information server...
Feb 07 09:11:47 pve upsd[9160]: fopen /var/run/nut/upsd.pid: No such file or directory
Feb 07 09:11:47 pve upsd[9160]: listening on 127.0.0.1 port 3493
Feb 07 09:11:47 pve upsd[9160]: listening on 127.0.0.1 port 3493
Feb 07 09:11:47 pve upsd[9160]: Connected to UPS [pcm]: usbhid-ups-pcm
Feb 07 09:11:47 pve upsd[9160]: Connected to UPS [pcm]: usbhid-ups-pcm
Feb 07 09:11:47 pve upsd[9162]: Startup successful
Feb 07 09:11:47 pve systemd[1]: Started Network UPS Tools - power devices information server.
Feb 07 09:11:50 pve upsd[9162]: User nut@127.0.0.1 logged into UPS [pcm]
Feb 07 12:20:23 pve upsd[9162]: Data for UPS [pcm] is stale - check driver

И только когда прошло еще некоторое время (я точно не могу сказать сколько, так как пришлось оперативно убежать от компа на несколько часов), то уже статус выдавал те ошибки, что я в предыдущем посте выкладывал. То есть существует какое-то промежуточное состояние между «полностью работает» и «полностью не работает»

если после stop-start работает, то упавшее и быстро поднятое не считается упавшим

То есть все-таки просто прописать скрипт, который с помощью cron запускать через каждые часа два, который будет просто службу останавливать и стартовать?

benedikt
() автор топика