#1 20.11.2013 17:52:34

zenon
Administrator
Зарегистрирован: 04.05.2010
Сообщений: 8 784
IP-адрес

Powercom SMK-800A, NUT, и другие прелести

Обсудить материал можно тут.

#2 20.11.2013 18:16:59

Fat-Zer
Administrator
Зарегистрирован: 14.10.2010
Сообщений: 4 977
IP-адрес

Powercom SMK-800A, NUT, и другие прелести

сам недавно купил батарейку в свой sven pro+700 (стоял на полке ещё с тех славных времён, когда я не знал, что аккумуляторы тоже умирают) и поставил его на «серверок»... тоже с nut'ом колупался... уж больно он мудрёный... правда пока не уверен, на сколько я правильно его настроил и сможет ли он отключаться/включаться, как ему полагается... а у тебя как, оно заработало?

Quote by zenon
Обсудить материал можно тут.

а зачем доступ в локалку открывать? причём с таким паролем...
# upsdrvctl -t shutdown

после этого что должно быть? у меня на вид всё в порядке, на сколько я могу судить, но упсик сам не отключается...

#3 20.11.2013 18:30:34

zenon
Administrator
Зарегистрирован: 04.05.2010
Сообщений: 8 784
IP-адрес

Powercom SMK-800A, NUT, и другие прелести


а зачем доступ в локалку открывать? причём с таким паролем...

Так я как бы для примера и чтобы понятно было написал сей пароль, а локалка у меня домашняя. :_)
Еще у меня APC Back-UPS RS-800 валяется, по характеристикам вроде похож, но есть ограничение железно зашитое в прошивку, больше 45 минут гад не работает, ну и выход прямоугольный. Этот powercom обладает трансформатором раза в два больше чем у APC, - подтверждение того что может долго работать на батарейках, есть микропроцессор с AVR и чистый синус на выходе, с АPFC дружит отлично.

#4 20.11.2013 20:28:02

Fat-Zer
Administrator
Зарегистрирован: 14.10.2010
Сообщений: 4 977
IP-адрес

Powercom SMK-800A, NUT, и другие прелести

Quote by zenon
а локалка у меня домашняя

а как же прогрессирующая паранойя?

Quote by zenon
с АPFC дружит отлично.

у меня всего в доме три со ступенчатой апроксимацией и один с меандром... АPFC, сволочи, от таких мрут... =(

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

/etc/nut/upsd.users:[admin]
/etc/nut/upsd.users:    password = admin_salted_xxx_pass
/etc/nut/upsd.users:    actions = SET
/etc/nut/upsd.users:    instcmds = ALL
/etc/nut/upsd.users:[upsmon]
/etc/nut/upsd.users:    password = upsmon_salted_xxx_pass
/etc/nut/upsd.users:    upsmon master
/etc/nut/ups.conf:[sven]
/etc/nut/ups.conf:      driver = blazer_usb
/etc/nut/ups.conf:      port = auto
/etc/nut/ups.conf:      default.battery.voltage.high = 12.3
/etc/nut/ups.conf:      default.battery.voltage.low = 10.5
/etc/nut/ups.conf:      offdelay = 20
/etc/nut/ups.conf:      ondelay = 0
/etc/nut/upsmon.conf:MONITOR sven@localhost 1 upsmon upsmon_salted_xxx_pass master
/etc/nut/upsmon.conf:MINSUPPLIES 1
/etc/nut/upsmon.conf:SHUTDOWNCMD "/sbin/shutdown -h +0"
/etc/nut/upsmon.conf:POLLFREQ 5
/etc/nut/upsmon.conf:POLLFREQALERT 5
/etc/nut/upsmon.conf:HOSTSYNC 15
/etc/nut/upsmon.conf:DEADTIME 15
/etc/nut/upsmon.conf:POWERDOWNFLAG /etc/killpower
/etc/nut/upsmon.conf:RBWARNTIME 43200
/etc/nut/upsmon.conf:NOCOMMWARNTIME 300
/etc/nut/upsmon.conf:FINALDELAY 5
/etc/nut/nut.conf:MODE=standalone
/etc/nut/upsd.conf:ACL all 0.0.0.0/0
/etc/nut/upsd.conf:ACL localhost 127.0.0.1/32
/etc/nut/upsd.conf:ACCEPT localhost
/etc/nut/upsd.conf:REJECT all
/etc/nut/upssched.conf:CMDSCRIPT /bin/upssched-cmd

#5 20.11.2013 21:15:34

zenon
Administrator
Зарегистрирован: 04.05.2010
Сообщений: 8 784
IP-адрес

Powercom SMK-800A, NUT, и другие прелести

Quote by Fat-Zer
а как же прогрессирующая паранойя?

Не болею... :_)
Quote by Fat-Zer
т.о. если свет надолго отключат, то серверочек обратно сам не поднимется...

Это надо разбираться почему так.
Последней командой (перед шатдауном) должна быть команда upsdrvctl shutdown, она как раз говорит ups выключиться в любом случае (подождав offdelay), даже если питание появится и включится снова (подождав ondelay), если она не работает можно состряпать свой скрипт шатдауна, с другой командой, которую ups понимает.
Список андестенда упса глянуть:
# upscmd -uadmin -ppass -l SMK@192.168.0.1
Instant commands supported on UPS [SMK]:

beeper.toggle - Toggle the UPS beeper
load.off - Turn off the load immediately
load.on - Turn on the load immediately
shutdown.return - Turn off the load and return when power is back
shutdown.stayoff - Turn off the load and remain off
shutdown.stop - Stop a shutdown in progress
test.battery.start - Start a battery test
test.battery.start.deep - Start a deep battery test
test.battery.start.quick - Start a quick battery test
test.battery.stop - Stop the battery test

Fat-Zer, shutdown.return тоже не работает?
Да, и в gentoo упс не перезапустится без rc-update add nut.powerfail shutdown
ыы. Про shutdown -h now тоже недавно писал.

#6 21.11.2013 08:03:11

Fat-Zer
Administrator
Зарегистрирован: 14.10.2010
Сообщений: 4 977
IP-адрес

Powercom SMK-800A, NUT, и другие прелести

Quote by zenon
Последней командой (перед шатдауном) должна быть команда upsdrvctl shutdown

goblin-server alexander # upsdrvctl -t shutdown
Network UPS Tools - UPS driver controller 2.6.4
*** Testing mode: not calling exec/kill
   0.000000
If you're not a NUT core developer, chances are that you're told to enable debugging
to see why a driver isn't working for you. We're sorry for the confusion, but this is
the 'upsdrvctl' wrapper, not the driver you're interested in.

Below you'll find one or more lines starting with 'exec:' followed by an absolute
path to the driver binary and some command line option. This is what the driver
starts and you need to copy and paste that line and append the debug flags to that
line (less the 'exec:' prefix).

   0.000328     Shutdown UPS: sven
   0.000348     exec:  /lib/nut/blazer_usb -a sven -k
goblin-server alexander # upsdrvctl shutdown
Network UPS Tools - UPS driver controller 2.6.4
Network UPS Tools - Megatec/Q1 protocol USB driver 0.08 (2.6.4)
Initiating UPS shutdown
instcmd: command [shutdown.stop] handled
instcmd: command [shutdown.return] handled
Shutting down in 6 seconds
goblin-server alexander #

после этого upsmon отваливается, но питание продолжает работать:

Broadcast Message from nut@gobl
        (somewhere) at 11:45 ...

Communications with UPS sven@localhost lost

снова соединение с ним поднимается только после upsdrvctl start

upscmd -u admin -p admin_salted_xxx_pass sven shutdown.return — пишет OK, но ничего не происходит
shutdown.stayoff и shutdown.stop — та же история...

Quote by zenon
если она не работает можно состряпать свой скрипт шатдауна, с другой командой, которую ups понимает.

знать бы какую команду она ещё понимает...
У меня зреет нехорошее подозрение, что фины не так точно реализовали протокол, как того хотелось бы...

и ещё немного инфы:


#7 21.11.2013 08:59:02

zenon
Administrator
Зарегистрирован: 04.05.2010
Сообщений: 8 784
IP-адрес

Powercom SMK-800A, NUT, и другие прелести

# upsdrvctl -t shutdown
Network UPS Tools - UPS driver controller 2.6.5-Unversioned directory
*** Testing mode: not calling exec/kill
   0.000000    
If you're not a NUT core developer, chances are that you're told to enable debugging
to see why a driver isn't working for you. We're sorry for the confusion, but this is
the 'upsdrvctl' wrapper, not the driver you're interested in.

Below you'll find one or more lines starting with 'exec:' followed by an absolute
path to the driver binary and some command line option. This is what the driver
starts and you need to copy and paste that line and append the debug flags to that
line (less the 'exec:' prefix).

   0.005590    Shutdown UPS: SMK
   0.005707    exec:  /lib64/nut/blazer_ser -a SMK -k

Соединение не отваливается.
# /lib64/nut/blazer_ser -h
Network UPS Tools - Megatec/Q1 protocol serial driver 1.55 (2.6.5-Unversioned directory)

usage: blazer_ser -a <id> [OPTIONS]
  -a <id>        - autoconfig using ups.conf section <id>
                 - note: -x after -a overrides ups.conf settings

  -V             - print version, then exit
  -L             - print parseable list of driver variables
  -D             - raise debugging level
  -q             - raise log level threshold
  -h             - display this help
  -k             - force shutdown
  -i <int>       - poll interval
  -r <dir>       - chroot to <dir>
  -u <user>      - switch to <user> (if started as root)
  -x <var>=<val> - set driver variable <var> to <val>
                 - example: -x cable=940-0095B

Acceptable values for -x or ups.conf in this driver:

    Set cable power for serial interface : -x cablepower=<value>
      Delay before UPS startup (minutes) : -x ondelay=<value>
     Delay before UPS shutdown (seconds) : -x offdelay=<value>
 Parameters used for runtime calculation : -x runtimecal=<value>
     Nominal charge time for UPS battery : -x chargetime=<value>
Minimum load to be used for runtime calculation : -x idleload=<value>
Skip reading rating information from UPS : -x norating
Skip reading vendor information from UPS : -x novendor
Preselect communication protocol (skip autodetection) : -x protocol
Read The Fine Manual ('man 8 blazer')

Включить debug и посмотреть что там:
# /lib64/nut/blazer_ser -DDDDD -a SMK -k

Перед этим всё же посмотреть на выхлоп (может будет что интересное) /lib/nut/blazer_ser -DDDDD -a SMK, то есть:
# /etc/init.d/upsdrv zap 
# killall blazer_ser
# /lib/nut/blazer_ser -DDDDD -a SMK

Quote by Fat-Zer
У меня зреет нехорошее подозрение, что фины не так точно реализовали протокол, как того хотелось бы...

Честно говоря к SVEN у меня двоякое отношение, вроде и ничего так железки (комплектуха вполне приличная), с другой стороны стремление удешевить продукцию приводит к непредсказуемым последствиям.

Board footer