Подключение странного UPS Ippon через NUT

 

Попался мне тут бесперебойник один, Ippon Back Comfo Pro. Странная такая штука, но пришлось прикручивать. Родной софт хоть и есть, но похоже работает только под 4-кой, да и джаву просит, так что поставил Network UPS Tools. Вообще NUT тоже далеко не подарок, но выбора не было. NUT заточен так, что гасит систему по low battery. И не всегда умеет ребут. И сраный Ippon нихрена не знает, сколько ему осталось жить на батареях. А еще, до кучи, мой конкретный упс упорно выключался без предупреждения ровно через 5 минут. Пришлось извращаться, применяя upssched и гася сервер после onbattery. Но это чревато тем, что с большой долей вероятности сервер не проснется после восстановления питания или при восстановлении питания в течение интервала выключения. Проблема, однако, но она вроде решена, см. ниже.

 

# cd /usr/ports/sysutils/nut

# make install

# cd /usr/local/etc/nut

# cp ups.conf.sample ups.conf

# ee ups.conf

 

[ippon1]                   # имя упса

  driver = megatec

  port = /dev/cuad0        # COM1

 

# cp upsd.conf.sample upsd.conf

# ee upsd.conf

 

ACL all 0.0.0.0/0

ACL localhost 127.0.0.1/32

ACCEPT localhost          

REJECT all                

 

# cp upsd.users.sample upsd.users

# ee upsd.users

 

[upsuser]

  password = upsuser

  allowfrom = localhost

  actions = SET

  instcmds = ALL

  upsmon master

 

# cp upsmon.conf.sample upsmon.conf

# ee upsmon.conf

 

RUN_AS_USER root           # похер

MONITOR ippon1@localhost 1 upsuser upsuser master

MINSUPPLIES 1

SHUTDOWNCMD “/sbin/shutdown –p now”

POLLFREQ 10

POLLFREQALERT 10

HOSTSYNC 20

DEADTIME 60

POWERDOWNFLAG /etc/killpower

RBWARNTIME 43200

NOCOMMWARNTIME 3000

FINALDELAY 0

NOTIFYCMD “/usr/local/sbin/upssched”    # извращения с шедулером

NOTIFYFLAG ONLINE WALL+EXEC             #

NOTIFYFLAG ONBATT WALL+EXEC             #

NOTIFYFLAG LOWBATT WALL+EXEC            #

 

# cp upssched.conf.sample upssched.conf

# ee upssched.conf

 

CMDSCRIPT /usr/local/etc/nut/upssched-cmd

PIPEFN /var/run/upssched.pipe

LOCKFN /var/run/upssched.lock

AT LOWBATT * EXECUTE “/sbin/shutdown –p now”

AT ONBATT * START-TIMER timer1 185      # время в секундах (похоже, надо попасть

AT ONLINE * CANCEL-TIMER timer1   # в интервал между POLLFREQALERT)

 

# touch upssched-cmd

# ee upssched-cmd

 

#!/bin/sh

/usr/local/sbin/upsmon –c stop

/usr/local/sbin/upsd –c stop

sleep 2

cp /usr/local/etc/nut/ippon-c2 /dev/cuad0             # гасим упс вручную

sleep 2

/sbin/shutdown –p now

 

# touch ippon-c2

# ee ippon-c2

 

S03R0005^M

 

^M обозначает <cr> (0x0d). Команда для Ippon означает «выключить питание через 3 минуты, подождать 5 минут и включить снова (если, конечно, оно есть на входе)». Цифры можно варьировать, первая имеет формат от .2 до 10, вторая от 0000 до 9999, причем 0000 означает «выключитиь насовсем». Подробнее см. http://www.ippon.ru/support/download.php

 

# chmod 666 *

# chmod 777 upssched-cmd

# ee /etc/rc.conf

 

...

nut_enable=”YES”

nut_upsmon_enable=”YES”

...

 

С таким раскладом упс вроде работает как положено. На всякий случай прописал в биосе просыпаться каждое утро.

Кстати. При работе без видеокарты система по умолчанию пытается юзать COM1 в качестве консоли.

 

# reboot

 

Проверка:

# upsc ippon1@localhost

Должен появиться список параметров упса.

 

PS В версии 2.2 можно сделать ранний шатдаун более цивильными средствами, которые позволяют также гасить зависимые сервера. Описано в upssched.txt.


В начало
Сайт управляется системой uCoz