LINUX.ORG.RU

NUT&Eaton NV600H Сервер не выключается при переходе на ИБП


0

2

Есть безперебойник поставил nut. Нужно чтобы, как обычно, пропал свет — сервер корректно вырубился.

Вроде все настроил по этому мануалу: http://swasher.pp.ua/install-ups-eaton.html

Выдергиваю питание из ибп — он реагирует, говорит что «on battery» но shutdowncmnd не происходит. То есть сервер не выключается.

Это файл upsmon.conf:

RUN_AS_USER root

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 LOWBATT SYSLOG+WALL+EXEC
#NOTIFYFLAG FSD SYSLOG+WALL
#NOTIFYFLAG COMMOK SYSLOG+WALL
#NOTIFYFLAG COMMBAD SYSLOG+WALL
NOTIFYFLAG SHUTDOWN SYSLOG+WALL+EXEC
NOTIFYFLAG REPLBATT SYSLOG+WALL+EXEC
NOTIFYFLAG NOCOMM SYSLOG+WALL+EXEC
#NOTIFYFLAG NOPARENT SYSLOG+WALL

RBWARNTIME 43200


NOCOMMWARNTIME 300
ing for the slave to disconnect.

FINALDELAY 5

MONITOR nv600@localhost 1 nut 12345 master

Подскажите куда копать, примерно я так себе представляю что где-то какой-то notify не отмечен. К событию on battery привязать как-то выполнение shutdowncmd?



Последнее исправление: Mishun (всего исправлений: 2)

Может оно у них вообще с Eaton не заработало?

Эта заметка об установке ИБП Eaton E-Series NV-600H на Ubuntu Server 12.10 Quantal x64 (ядро 3.5.0-18). В процессе написания статьи было принято решение заменить UPS на Powercom King Pro 1000-AP с COM-портом. Поэтому основная статья содержит информацию по Eaton'у, а в некоторых местах по обоим УПС-ам. Заключительная глава содержит информацию, специфическую для Powercom'a.

kostik87 ★★★★★
()
Последнее исправление: kostik87 (всего исправлений: 1)
Ответ на: комментарий от kostik87

Я надеюсь что все-таки заработало, просто где-то чего-то не хватает, какой-то одной строчки чувствую. Все работает, все события он видит, к событию при переходе на батарею просто не знаю как привязать команду выключения. Уже этот сервак выключался от этого ибп, но другая прога стояла. А теперь переустановили ос и вот мучаюсь.

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

Вы лучче ищите прогу от производителя. У меня похожая ситуацыя. Но не полностью. Есть ИБП на нём написано Gresso, но какойто он не Gresso вообще, ну и пусть. Решыл я с помощью этого ИБП и ЮСБ шнура коректно вырубать сервака, а то уже одна таблица базы даных мускула рухнула, через вырубание света и то что я не настроил выключение сервака с помощью ИБП раньше. Поставил NUT всё настроил по мануалу из интернета ну и на радостях начал всё это дело проверять. Вынял штекера ИБП из розетки и стал ждать когда же у меня upsmon вырубит сервака. И вот что я заметил, upsmon написан так что он исполнит команду SHUTDOWNCMD только тогда когда ups.status=LB, тоисть «низкий заряд батареи». Но вот незадача, после поступления такого сигнала от ИБП сервак начинает выключатса, но не успевает коректно отрубитса, потому что ИБП не хватает заряда чтобы продержатса ещё. Тоисть при ups.status=LB, когда upsmon посылает команду SHUTDOWNCMD мому серваку нужно приюлизительно 1-1,5 мин чтобы коректно выключитса, а ИБП стока уже не вытягивает. При статусе ups.status=ОB ИБП держыт сервак гдето до 15 мин, а когда уже ups.status=LB, то меньше минутыю. Я решыл отказатса от услуг upsmon и навалял скрипт который должен был запускатса каждые 5 мин проверять значения поля, которое можно получить командой

upsc ups
и если ups.status=OL то всё норм, а если ups.status=OВ то через 3 мин выключить сервака. Но незадача опять, у меня для этого ИБП в NUT используетса эксперементальный драйвер и когда запускаеш NUT, то /dev/usb/hiddev0 устройство ИБП просто ищезало и скрипт отрабатывал некоректно. А в логи сыпались ошыбки, но щас их привести не могу. Так что я вернулса к утилите которая ишла на диске вместе с ИБП. Пока проверяю, но и эта утилита какаято оч. убогая. Вот так. P.S. А ошыбки которые у меня были выложу завтра.

kisil
()
Ответ на: комментарий от kisil

О!! А можешь рассказать как писать скрипт и написать свой скрипт чтоб я его у себя попробовал?

А насчет твоего там есть значение в вольтах при котором ups.status становится LB, нельзя повыше это значение сделать?

Mishun
() автор топика
Ответ на: комментарий от Mishun

Нет нельзя, тот драйвер что подходит к моему упсу есть эксперементальный и он нормально показывает тока ups.status, что есть критичным. А остальные параметры что он выдаёт не очень важные, кстати их и не так уж много. В понедельник выложу вывод. Нащот скрипта, смогу выложыть также тока в понедельник.

kisil
()
Ответ на: комментарий от Mishun

Вот мой скрипт

#!/bin/bash
lg="/var/log/my_ups.log"
if ps axc | grep upsd 1> /dev/null; then
                echo `date`"  upsd starting" >> $lg;
                st=`/usr/bin/upsc ups ups.status`
                if [ $st  = "OB" ];  then
                       echo `date`" sleep" >> $lg;
                       sleep 80
                else
                       echo `date`" OL is status exit" >> $lg;
                       exit 0
                fi
                st1=`/usr/bin/upsc ups ups.status`
                if [ "$st1" = "OB" ]; then 
                    echo `date` " STILL OB poweroff" >> $lg
                    /sbin/poweroff
                else
                    echo `date` " STILL OL exit script" >> $lg
                fi

else
echo `date` " UPSD not starting -- forse start" >> $lg
Такой вот нехитрый. Обеснять что к чему не буду, думаю можно разобратса. А эти перенаправления в лог файл для отладки, если что можно забрать. Я думал так чтобы скрипт запускалса каждые 5 мин., потом проверяетса статус батареи, если статус OL то всё хорошо, если OB то спим 80сек и ещё раз проверяем статус, вдруг дядька который зацепилса за штепсельную вилку втыкнул её снова. Если статус всёравно OB тогда poweroff. Всё.

kisil
()

Выдергиваю питание из ибп — он реагирует, говорит что «on battery» но shutdowncmnd не происходит. То есть сервер не выключается.

А должен? Обычно выключение должно происходить при уровне заряда ниже критического.

sin_a ★★★★★
()
Ответ на: комментарий от sin_a

Так и происходит! Он выключился когда параметр батареи LOW BATTERY стал! Но, у него параметр это когда вольтаж 10.40 и это слишком низко! Один раз выключился и успел, а во второй раз только начал выключаться и не успел, батарея первее села. Как поменять этот параметр LB? Выше его хочу сделать, 11.00 например.

Mishun
() автор топика
Ответ на: комментарий от kisil
battery.charge: 100
battery.voltage: 13.60
battery.voltage.high: 13.00
battery.voltage.low: 10.40
battery.voltage.nominal: 12.0
device.type: ups
driver.name: blazer_usb
driver.parameter.bus: 002
driver.parameter.pollinterval: 2
driver.parameter.port: 005
driver.parameter.productid: 5161
driver.parameter.vendorid: 0665
driver.version: 2.6.5
driver.version.internal: 0.09
input.current.nominal: 2.0
input.frequency: 49.6
input.frequency.nominal: 50
input.voltage: 223.0
input.voltage.fault: 223.0
input.voltage.nominal: 230
output.voltage: 223.0
ups.beeper.status: enabled
ups.delay.shutdown: 30
ups.delay.start: 180
ups.load: 9
ups.productid: 5161
ups.status: OL
ups.temperature: 25.0
ups.type: offline / line interactive
ups.vendorid: 0665

Хочу увеличить battery.voltage.low на 11.50, как?

Mishun
() автор топика
Ответ на: комментарий от Mishun

Вот тут есть как сменить значения battery.voltage.high, battery.voltage.low http://habrahabr.ru/post/102032/ Попробуйте так сделать. У того драйвера что подходит к моему ИБП таких параметров нету. Потому я пользуюсь утилитой что была на диску.

kisil
()
Ответ на: комментарий от kisil

Параметров battery у этого драйвера вообще нету, потому их нильзя изменить. Этот драйвер что подходить к моему ИБП, пишет что он эксперементальный.

kisil
()
Ответ на: комментарий от kisil

Я уже пробовал, если в ups.conf добавляю как по ссылке

default.battery.voltage.low = 11.50

То вывод

upsc nv600@localhost
не меняется, и там остается значение 10.40

А если без default пишу:

battery.voltage.low = 11.50
то при
service ups restart
вижу
Broadcast message from nut@kubserver (Tue Mar 26 13:07:44 2013):

Communications with UPS nv600@localhost lost

Broadcast message from nut@kubserver (Tue Mar 26 13:07:49 2013):

UPS nv600@localhost is unavailable

Может еще какие-то варианты есть?

Mishun
() автор топика
Ответ на: комментарий от kisil

Я в свое время допиливал NUT на повторяющиеся события. Типа раз в N секунд пускать скрипт. А он проверяет несколько параметров и при необходимости делает fsd

В upssched.conf

AT ONBATT *  START-TIMER wrndown 30+

На самом деле для таких упсов нужно правильно указывать «runtimecal». Я указывал 2 точки для 80% и 40% нагрузки.

Ну и в новых версиях есть «override.battery.charge.low» и «override.battery.runtime.low»

«battery.voltage.low» слишком грубое решение.

vel ★★★★★
()
Ответ на: комментарий от vel

Оно то так, но у драйвера что подходит к моему ИПБ нет таких параметров. Завтра приведу пример выхлопа upsc.

kisil
()
Ответ на: комментарий от kisil

странно. У меня тоже с протоколом blazer, но сериальному шнурку.

        driver = blazer_ser
        port = /dev/ttyS0
        desc = "INELT Intelegent XRT 3000 VA"
        offdelay = 30
        ondelay = 1
        runtimecal = 900,86,1960,42
        override.battery.charge.low = 30
        override.battery.runtime.low = 300
        override.battery.voltage.high = 54
        chargetime = 28800 # 8Hr
        idleload = 1

upsc

battery.charge: 100
battery.charge.low: 30
battery.runtime: 6463
battery.runtime.low: 300
battery.voltage: 54.00
battery.voltage.high: 54
battery.voltage.nominal: 48.0
device.mfr: 
device.model: 
device.type: ups
driver.name: blazer_ser
driver.parameter.chargetime: 28800
driver.parameter.idleload: 1
driver.parameter.offdelay: 30
driver.parameter.ondelay: 1
driver.parameter.pollinterval: 2
driver.parameter.port: /dev/ttyS0
driver.parameter.runtimecal: 900,86,1960,42
driver.version: 2.6.5
driver.version.internal: 1.55
input.current.nominal: 0.0
input.frequency: 50.0
input.frequency.nominal: 50
input.voltage: 214.0
input.voltage.fault: 140.0
input.voltage.nominal: 220
output.voltage: 214.0
ups.beeper.status: disabled
ups.delay.shutdown: 30
ups.delay.start: 60
ups.firmware: JP0505A9
ups.load: 14
ups.mfr: 
ups.model: 
ups.status: OL
ups.temperature: 25.0
ups.type: offline / line interactive

vel ★★★★★
()
Ответ на: комментарий от vel

Вот мой вывод upsc

device.mfr: Richcomm dry-contact to USB solution
device.model: UPS USB MON V1.4
device.serial: unknown
device.type: ups
driver.name: richcomm_usb
driver.parameter.pollinterval: 2
driver.parameter.port: /dev/usb/hiddev0
driver.version: 2.6.5
driver.version.internal: 0.04
ups.mfr: Richcomm dry-contact to USB solution
ups.model: UPS USB MON V1.4
ups.productid: 1234
ups.serial: unknown
ups.status: OL
ups.vendorid: 0925

kisil
()
Ответ на: комментарий от vel

А после старта NUT пропадает устройство /dev/usb/hiddev0 которое отвечает за ИПБ. А в syslog вылетает такая ошыбка

Mar 27 16:49:09 rm-proxy kernel: [691346.576811] usb 4-1: usbfs: interface 0 claimed by usbhid while 'richcomm_usb' sets config #1

kisil
()
10 июля 2013 г.

Все просто, хлопцi.

У меня такой же упс.

Добавь в /etc/nut/ups.conf

    ignorelb
    override.battery.charge.low = 70

где 70 - желаемый критический заряд батареи в %

вот мой ups.conf

[eaton]
    driver = blazer_usb
    port = /dev/usb/hiddev0
    bus = "002"
    port = "004"
    vendorid = 0665
    productid = 5161
    desc = "my new ups Eaton"
    offdelay = 60
    ondelay = 5
    ignorelb
    override.battery.charge.low = 70

Cтрока «default.battery.voltage.low = 11.50» у тебя не работает, потому значение задано в самом упс. «default...» можно добавить, если значение не вшито в упс. Ежели значение задано, только «ignorelb» и «override» помогает.

Смотрите подробнее: http://www.networkupstools.org/docs/man/blazer.html

Сейчас ищу, почему ибд не включается после появления сети

racionalizator
()
17 июня 2014 г.
Ответ на: комментарий от racionalizator

не подключается NUT&Eaton NV600H

не получается подключить юпс Eaton NV600H

Opensuse 13.1

Nut не видит.

Настраивал по мануалу

находим юпс

#lsusb

Bus 004 Device 006: ID 0665:5161 Cypress Semiconductor USB to Serial

Конфиг ups.conf

[Eaton]
driver = blazer_usb
desc = «Eaton»
port = auto
# port = /dev/usb/hiddev1
# port = «006»
bus = «004»
vendorid = 0665
productid = 5161
pollinterval = 10
shutdown_delay = 7

При попытке старта: #upsd

Network UPS Tools upsd 2.6.5
fopen /var/lib/ups/upsd.pid: No such file or directory
listening on 127.0.0.1 port 3493
Can't connect to UPS [Eaton] (blazer_usb-Eaton): No such file or directory
allowfrom in upsd.users is no longer used
allowfrom in upsd.users is no longer used

djpz
()
Ответ на: не подключается NUT&Eaton NV600H от djpz

Разобрался с подключением

ошибка shutdown_delay = 7 неправильный параметр для данного драйвера [myups] тоже нужно прописывать во всех конфигаг правильный.

рабочий ups.conf

[myups]
        driver = blazer_usb
        port = auto
        desc = "Eaton NV 600H"
        ignorelb
        override.battery.charge.low = 80
        offdelay = 6
        ondelay = 1

offdelay = 6 для этого юпса не поставишь меньше 6 минут

ondelay = 1 параметр я так понимаю в минутах

#upsc myups@localhost

отображает

driver.parameter.ondelay: 1 ups.delay.start: 60

После того как напряжение появляется ИБП не просыпается... Подскажите пожалуйста что можно сделать?

полный монитор #upsc myups@localhost

battery.charge: 100
battery.charge.low: 80
battery.voltage: 13.60
battery.voltage.high: 13.00
battery.voltage.low: 10.40
battery.voltage.nominal: 12.0
device.type: ups
driver.flag.ignorelb: enabled
driver.name: blazer_usb
driver.parameter.ondelay: 1 
driver.parameter.pollinterval: 2
driver.parameter.port: auto
driver.version: 2.6.5
driver.version.internal: 0.09
input.current.nominal: 2.0
input.frequency: 49.9
input.frequency.nominal: 50
input.voltage: 238.7
input.voltage.fault: 238.7
input.voltage.nominal: 230
output.voltage: 239.2
ups.beeper.status: enabled
ups.delay.shutdown: 30
ups.delay.start: 60
ups.load: 7
ups.productid: 5161
ups.status: OL
ups.temperature: 25.0
ups.type: offline / line interactive
ups.vendorid: 0665
djpz
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.