Мы — долго запрягаем, быстро ездим, и сильно тормозим.

FreeBSD
  настройка
  подсчёт трафика
  программы
  почтовые системы
  Шелезяки
  UPS APC-1500
  NetMos NM9845
  cisco & syslog
  LAN card`s test
  HDD & UDMA100
  S.M.A.R.T.
  D-Link DE-200TP
  Marvell 88E8053
  D-Link DGE530T
  КПК + FreeBSD
  D-Link DWL-G520
  SkyLink-CDMA
  Atheros AR5007EG
  BlueTooth mouse
  Asus Eee PC
  atacontrol
  SkyStar-2+SlonAx
  TT budget S-1401
  SiS*Mirage*1 на D201GLY2
  NetXtreme BCM5722
  snd_hda
  Peoplenet + C-motech (3G)
  freebsd + huawei 162 gsm modem
  tw_cli
  pc_speaker
  Canon/gphotofs
  Охранная система на FreeBSD+LPT
  Даешь 220 в LPT
  Мелочи
  Файловая система
  WWW
  Security
  system
  Games Servers
  X11
  Programming
Очумелые Ручки
OpenBSD
Cisco


www.lissyara.su —> статьи —> FreeBSD —> Шелезяки —> UPS APC-1500

Прикручивание бесперебойника Smart-UPS APC-1500 к FreeBSD

Автор: lissyara.


    Купили бесперебойник - APC-1500 RC, правда, после того как пару раз пропала напруга :) И встал вопрос - куда его крутить? У него был USB и COM-интерфейс (на SNMP плату расширения я уж не стал заикаться - 200 с лишним баксов она стоит, контора б не разорилась, хотя проблем бы было на порядок меньше - можно было б его по сети прикрутить на все три сервака, что от него питались), к сожалению одновременно они работать не хотели - если подключить USB то он отключал COM :( Потому прикрутил его по COM-интерфейсу на FreeBSD.
   Поехали:
/usr/home/lissyara/>cd /usr/ports/
/usr/ports/>make search name='apcups'
Port:   apcupsd-3.10.18_1
Path:   /usr/ports/sysutils/apcupsd
Info:   A daemon for controlling APC UPS
Maint:  ports@FreeBSD.org
B-deps: expat-1.95.8_3 gettext-0.14.5 libiconv-1.9.2_1
R-deps: expat-1.95.8_3 gettext-0.14.5 libiconv-1.9.2_1
WWW:    http://www.apcupsd.com

/usr/ports/>

Оно. Обновляем порты, и ставим:
/usr/ports/>su
/usr/ports/>cd /usr/ports/sysutils/apcupsd
/usr/ports/sysutils/apcupsd/>make && make install && make clean

Вылазиет синенькое окошко, где я выбрал только первый пункт:
 [X] CLIENT_ONLY Build apcupsd client only (no network server)
 [ ] CGI         Compile with CGI programms to show status
 [ ] USB         Compile with USB Support (READ MANUAL!!!)
 [ ] SNMP        Compile with SNMP Support (READ MANUAL!!!)
 [ ] NOPTHREADS  Compile without pthreads support (READ MANUAL!!!) 

Почему не по USB? Он у меня из ядра ампутирован, да и не родной это интерфейс, как ни крути. Родной - COM. После установки копируем скрипт запуска, добавляем строку в /etc/rc.conf:
===> SECURITY REPORT:
      This port has installed the following files which may act as network
      servers and may therefore pose a remote security risk to the system.
/usr/local/sbin/apcaccess
/usr/local/sbin/apctest
/usr/local/sbin/powerflute
/usr/local/sbin/apcupsd
/usr/local/sbin/apcnisd

      This port has installed the following startup scripts which may cause
      these network services to be started at boot time.
/usr/local/etc/rc.d/apcupsd.sh.sample

      If there are vulnerabilities in these programs there may be a security
      risk to the system. FreeBSD makes no guarantee about the security of
      ports included in the Ports Collection. Please type 'make deinstall'
      to deinstall the port if this is a concern.

      For more information, and contact details about the security
      status of this software, see the following webpage:
http://www.apcupsd.com
===>  Cleaning for libiconv-1.9.2_1
===>  Cleaning for gettext-0.14.5
===>  Cleaning for libtool-1.5.20
===>  Cleaning for expat-1.95.8_3
===>  Cleaning for apcupsd-3.10.18_1
/usr/ports/sysutils/apcupsd/>cd /usr/local/etc/rc.d/
/usr/local/etc/rc.d/>ls | grep apc
apcupsd.sh.sample
/usr/local/etc/rc.d/>cp apcupsd.sh.sample apcupsd.sh
/usr/local/etc/rc.d/>echo '' >> /etc/rc.conf
/usr/local/etc/rc.d/>echo 'apcupsd_enable="YES"' >> /etc/rc.conf
/usr/local/etc/rc.d/>

Установился. Топаем в /usr/local/etc/apcupsd/
/usr/local/etc/rc.d/>cd ../apcupsd/
/usr/local/etc/apcupsd/>ls
apccontrol                      commfailure
apcupsd.conf                    commok
apcupsd.conf.net-master.sample  mainsback
apcupsd.conf.net-slave.sample   masterconnect
apcupsd.conf.sample             mastertimeout
changeme                        onbattery
/usr/local/etc/apcupsd/>dmesg | grep sio
usb0: USB revision 1.0
sio0 at port 0x3f8-0x3ff irq 4 flags 0x10 on isa0
sio0: type 16550A
sio1 at port 0x2f8-0x2ff irq 3 on isa0
sio1: type 16550A
/usr/local/etc/apcupsd/>

В итоге, у меня получился следующий файл (комменты удалены за ненадобностью):
/usr/local/etc/apcupsd/>cat apcupsd.conf | grep -v "^#"
UPSCABLE smart
UPSTYPE smartups
DEVICE /dev/cuaa1 # первый (cuaa0) COM-порт у меня занят,
                  # поэтому повесил на второй
LOCKFILE /var/spool/lock
ONBATTERYDELAY 6
BATTERYLEVEL 5
MINUTES 3
TIMEOUT 0
ANNOY 300
ANNOYDELAY 60
NOLOGON disable
KILLDELAY 10
EVENTSFILE /var/log/apcupsd.events
UPSCLASS standalone
UPSMODE disable
STATTIME 0
STATFILE /var/log/apcupsd.status
LOGSTATS off
DATATIME 0
UPSNAME APC-1500 RC
WAKEUP 30

После чего запускаем, проверяем запустился ли, и, на `бис`, выдёргиваем питальник из UPS`a :)))
/usr/local/etc/apcupsd/>/usr/local/etc/rc.d/apcupsd.sh start
 apcupsd
/usr/local/etc/apcupsd/>
/usr/local/etc/apcupsd/>ps -ax | grep apc
11605  ??  Ss     0:00.05 /usr/local/sbin/apcupsd --kill-on-powerfail
11613  p0  R+     0:00.00 grep apc
/usr/local/etc/apcupsd/>
Broadcast Message from lissyara@bsd-4-11.local
        (no tty) at 14:35 MSK...

Warning power loss detected.

Broadcast Message from lissyara@bsd-4-11.local
        (no tty) at 14:35 MSK...

Power has returned...
/usr/local/etc/apcupsd/>

Всё путём. Пашет. :) Пор желании можно провести стресс-тест - выдернуть питальник насовсем и посмотреть, - отключится ли комп корректно. Письма шлются root`у - о кажом скачке напряжения. У меня рутовая почта пересылается на другие серваки - чтобы если питание пропадёт - хоть было ясно что случилось - а не сидеть гадать - нету сервака в инете, а почему нету - никто не знает :)

P.S. На шестой фряхе порты (файлы в /dev) обзываются по другому (/dev/ttyd0 - первый ком-порт, например). Так что учтите.



Ссылка на обсуждение: http://forum.lissyara.su/viewtopic.php?t=4609.

размещено: 2005-12-19,
последнее обновление: 2006-04-28,
автор: lissyara

оценить статью:

skit, 2006-01-05 в 19:25:18

Быстро, коротко и ясно :))
Пасиб!

nomad, 2006-04-04 в 18:04:56

Отличная статья. Полностью соответствует нелегкой правде жизни. =)

proxy-man, 2006-04-07 в 11:36:12

Респект - все лаконично и доступно. :)

BAV_Lug, 2006-06-16 в 13:46:46

А для УПСов других производителей эта программа покатит?
Интерисует для Mustek 1000 USB.

drurus, 2007-01-22 в 16:11:03

А через UPS тоже великолепно работает! :)

На сервере, где подключен ИБП:
grep Smart /var/run/dmesg.boot
ugen0: American Power Conversion Smart-UPS 2200 FW:654.13.I USB FW:4.2, rev 1.10/0.06, addr 2

cat apcupsd.conf
UPSCABLE usb
UPSTYPE usb
DEVICE
LOCKFILE /var/spool/lock
BATTERYLEVEL 10
MINUTES 3
TIMEOUT 0
ANNOY 300
ANNOYDELAY 60
NOLOGON disable
KILLDELAY 0
NETSERVER on
NISIP 0.0.0.0
NISPORT 3551
UPSCLASS netmaster
UPSMODE net
EVENTSFILE /var/log/apcupsd.events
EVENTSFILEMAX 10
STATTIME 0
STATFILE /var/log/apcupsd.status
LOGSTATS off
DATATIME 0

список серверов, которые будут "мониториться", к первому подключен APC
cat hosts.conf
MONITOR 192.168.29.10 "Fort"
MONITOR 192.168.29.8 "Virgo"
MONITOR 192.168.29.1 "Proxy"

маленький http сервер из /usr/ports/www/shttpd
grep shtt /etc/inetd.conf
http   stream  tcp     nowait root /usr/local/bin/shttpd        shttpd -I1 -D0 -d /usr/local/etc/apcupsd/cgi -i multimon.cgi -u nobody

На клиентах, которые запитаны от ИБП и отслеживают состояние:
cat apcupsd.conf
UPSCABLE ether
UPSTYPE net
DEVICE 192.168.29.10:3551
LOCKFILE /var/spool/lock
EVENTSFILE /var/log/apcupsd.events
EVENTSFILEMAX 10
UPSCLASS standalone
UPSMODE disable
NISPORT         3551
NETTIME 30

Все. Состояние смотрим на http://192.168.29.10/

Roman, 2007-03-02 в 14:00:39

Спасибо люди, очень помогло.

Дмитрий, 2007-03-21 в 20:56:07

Настроил..вроде работает, но не совсем правильно: по истечении указанного в конфиге MINUTES 3
Mar 21 19:46:15 scangate apcupsd[623]: Reached run time limit on batteries.
Mar 21 19:46:15 scangate apcupsd[623]: Initiating system shutdown!
Mar 21 19:46:15 scangate apcupsd[623]: User logins prohibited
Mar 21 19:46:15 scangate shutdown: halt by root: apcupsd initiated shutdown
Mar 21 19:46:23 scangate apcupsd[623]: apcupsd exiting, signal 15
Mar 21 19:46:23 scangate apcupsd[623]: apcupsd shutdown succeeded

При этом в консоле пишет: System halted и press any key to reboot/ Короче не шатдаунится

Дмитрий, 2007-03-21 в 20:57:36

наврал - по истечении TIMEOUT 300

Vili, 2007-05-29 в 20:31:00

Который раз убеждаюсь что это самый нужный сайт ;)

Touch, 2007-10-27 в 21:24:41

В новой версии apcupsd пришлось писать на основной тачке к которой подключен УПС:
UPSCLASS sharemaster
UPSMODE share

а на клиентах:
UPSCLASS shareslave

NarkomanLove, 2007-11-06 в 20:14:43

А кто нибудь пробывал зацепить клиентом Windows 2003 или вобще какую нибудь Windows?

stas, 2007-11-15 в 23:27:41

у меня есть такой же бесперебойник APC-1500, в комплекте кабель 024D  , есть также 024С и куча безродных...

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

с этими же кабелями бесперебойник штатно управляется и win2k и winXP и netware... причем со всеми - одинаково успешно...

осталось только еще по USB попробовать...

что интересно, смарты 420,620 и ПРО 450 работают без замечаний под этим же apcupsd ...

вот такая непонятка...

dsa86, 2008-05-10 в 18:04:00

у кого не работают кабеля,а может быть драйвера - наверное подойдет NUT(http://www.freebsd.org/cgi/url.cgi?ports/sysutils/nut/pkg-descr) огромное количество поддерживаемых вендоров и моделей.
и Mustek 1000 поддерживается (http://www.networkupstools.org/compat/)

brt, 2008-10-23 в 16:15:06

По умолчанию apcupsd действительно выполняет команду shutdown -h now и происходит halt системы. Минус такой ситуации в том, что если питание появиться до того как ИБП разрядиться, то сервер так и будет висеть в этом сосотоянии пока его в ручную не включишь. У себя я сделал так:
в /usr/local/etc/apcupsd подправил файл apccontrol
там в case "$1" ищем параметр doshutdown) и меняем строчку ${SHUTDOWN} -h now "apcupsd initiated shutdown" на
${SHUTDOWN} -p now "apcupsd initiated shutdown"
В таком случае компьютер выключается полность и при появлении питания его можно включить по сети Wake On Lan (если мамка поддерживает).

Дмитрий, 2008-12-16 в 11:54:56

А если мне нужно просто знать, что упс работает от батарей? Без принятия мер по выключению сервера?

m4rkell, 2009-04-14 в 16:33:22

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

m4rkell, 2009-04-14 в 16:37:11

Извнините))) не в то окно!

Ганс , 2009-04-16 в 13:54:49

Приобрели похожый UPS и в ходе эксперементов заметил что когда вырубается сервак подключенный по USB начинает фунциклировать COM и благопалучно вырубает второй сервак.

Ганс , 2009-04-16 в 14:01:04

Правда второй сервак у меня не FreeBSD а Win и как
поведет себя BSD в роли второго я не проверял.

Talk, 2010-06-25 в 17:30:26

Подключил smart apc через com кабель, так apcupsd не хотела заводиться до тех пор, пока я в типе кабеля не указал usb. Воистину, чудны дела твои, Господи

cod, 2010-10-28 в 19:53:35

А подскажите как правильно использовать с Back-UPS 400? Он dumb и apcupsd ничего не пишет, только запускается и все. apctest не в состоянии опросить UPS, відает 'мусор'.
Может заменить на Back-UPS Pro 420, он вроде smart?

yurkinson, 2011-10-24 в 16:34:49

Для осчастливленных владельцев APC Smart-UPS RT 5000VA:
читаем список ИБП, которые не стоит покупать на сайте apcupsd.net - он входит в этот список.
Решением является использование snmp, для этого в конфиге пишем:
UPSCABLE ether
UPSTYPE snmp
DEVICE ip_addr:161:APC:community_name

где ip_addr - назначаем либо утилиткой с сайта производителя, либо начально выделяем при помощи dhcp а потом конфигурим статически (у меня в сети dhcp не было, поэтому временно сделал тестовую сетку из ноута, ADSL модема
с включенным DHCP и самого ИБП) потом проверял утилитку - тоже находит;
community_name назначаем в админке в пункте Administration-Network-SNMPv1-Access Control например себе сделал так
apc5000 255.255.255.255 read  и далее в качестве параметра community_name использовал значение apc5000.

Кстати почему то с моделью APC  Smart-UPS 3000 RM XL (также упомянутой на страничке adcupsd) проблем ни с USB ни с SERIAL подключениями не было - проверено, а с 5000-ым USB не заработал вообще, а консольный порт работал только при снятой карте snmp с указанием типа кабеля в конфиге - DUMB (выдавал только состояние OnLINE\OnBatt - что для меня неюзабельно).

rootconf0, 2021-11-21 в 3:20:54

Итак, имеем:
FreeBSD (amd64);
APC Smart-UPS SC 1000;
USB to Serial Cable — кабель, у которого с одной стороны COM-разъём для втыкания в UPS, а с другой — USB для втыкания в компьютер; идёт в комплекте с вышеуказанным UPS.
Задача: подружить его с apcupsd.
Вроде бы в компьютер втыкаем USB и думается, что надо выставить в apcupsd.conf:
UPSCABLE usb
UPSTYPE usb
DEVICE
и всё должно завестись... Но не заводится. ((
После долгих мучений и попыток найти решение в документации, пришёл к решению методом научного тыка при поддержке логики. Всё-таки изначально из UPS'а идёт COM, стало быть ставим так:
UPSCABLE smart
UPSTYPE apcsmart
DEVICE /dev/ttyU0
Собственно, в этом /dev/ttyU0 собака и порылась — при втыкании в компьютер USB-шного конца он определяется как:
kernel: ugen1.2: Prolific Technology Inc. at usbus1
kernel: uplcom0: Prolific Technology Inc. USB-Serial Controller, class 0/0, rev 1.10/3.00, addr 2 on usbus1
номер ugen и usbus меняются в зависимости от порта USB, но мой пытливый глаз углядел в /dev свеже появившийся девайс /dev/ttyU0, который и оказался UPS'ом.
Всех благ!!!


Оставьте свой комментарий:
Ваше имя:   *
e-mail:  
жирный
наклонный
подчёркнутый
ссылка
цвет
Нынешний год:   *
 


Хостинг HOST-FOOD

2014-07-27, lissyara
gmirror

Удалённое создание софтверного зеркала средствами gmirror, на диске разбитом с использованием gpart. Использование меток дисков для монтирования разделов.
2013-08-20, zentarim
Scan+Print server FreeBSD 9

Настройка сервера печати и сервера сканирования под управлением операционной системы FreebSD 9 для МФУ Canon PIXMA MP540
2011-11-20, BlackCat
Разъём на WiFi-карту

Делаем съёмной несъёмную антену на WiFi-карте путём установки ВЧ-разъёма
2011-09-14, manefesto
Настройка git+gitosis

Настройка системы контроля версия исходного кода в связке git+gitosis+ssh
2011-08-14, zentarim
Wi-FI роутер + DHCP + DNS

Настройка Wi-Fi роутера на Freebsd 8 + DNS сервер + DHCP сервер: чтобы Wi-Fi клиенты были в одной подсети с проводными, проводные и беспроводные клиенты получали адреса автоматически по DHCP, кэширующ
2011-06-15, -ZG-
Охранная система на FreeBSD+LPT

В этой статье описана попытка реализации простой охранной системы на базе FreeBSD с подключением к ней охранных устройтсв на LPT порт и видеорегистрацией.
2011-03-13, terminus
ng_nat

Описание работы ng_nat, практическое использование, достоинства и недостатки в сравнении с ipfw nat
2011-02-20, Капитан
Nagios+Digitemp

Статья описывает создание системы оповещения о превышении температуры в специальных помещениях на основе Nagios с использованием программы Digitemp.
2011-02-17, Le1
Zyxel Configuration

Скрипт для массового изменения конфига свичей Zyxel. Берет из файла iplist список ip-шек, заходит последовательно на каждый и выполняет комманды из файла commands, записывая происходящее в лог файл.
2011-02-16, fox
hast carp zfs ucarp cluster

HAST (Highly Available Storage), CARP, UCARP, ZFS, Cluster настройка и одаптация плюс личные размышления…
2011-02-04, BlackCat
Восстановление ZFS

История о том, как был восстановлен развалившийся RAIDZ ZFS-пул (перешедший в FAULTED) с помощью скотча и подручных средств. Или о том, какие приключения ожидают тех, кто не делает резервных копий.
2011-02-03, Капитан
1-Wire

Статья описывает самостоятельное изготовление контроллера DS9097 для съёма показаний с датчиков температуры DS1820 с помощью программы Digitemp.
2011-01-28, Капитан
Температура в серверной

Статья описывает построение системы наблюдения за температурой в помещении серверной с использованием программы Digitemp и выводом графиков в MRTG
2011-01-21, m4rkell
Syslog server

Как то буквально на днях, у нас завалилось, что то в еве) или не в еве не суть. Суть в том, что когда захотели снять логи с хостов esx обнаружили, что хранят эти негодяи логии только за последнии сутк
2011-01-07, lissyara
Canon/gphotofs

Монтирование цифровых фотоаппаратов Canon (PTP) как файловой системы, автоматизация этого процесса через события devd и внешние скрипты.
2010-12-13, Al
IPSec

Описание принципов работы IPSEC и способов аутентификации.
подписка

    вверх      
Статистика сайта
Сейчас на сайте находится: 42 чел.
За последние 30 мин было: 102 человек
За сегодня было
2492 показов,
611 уникальных IP
 

  Этот информационный блок появился по той простой причине, что многие считают нормальным, брать чужую информацию не уведомляя автора (что не так страшно), и не оставляя линк на оригинал и автора — что более существенно. Я не против распространения информации — только за. Только условие простое — извольте подписывать автора, и оставлять линк на оригинальную страницу в виде прямой, активной, нескриптовой, незакрытой от индексирования, и не запрещенной для следования роботов ссылки.
  Если соизволите поставить автора в известность — то вообще почёт вам и уважение.

© lissyara 2006-10-24 08:47 MSK

Время генерации страницы 0.0444 секунд
Из них PHP: 33%; SQL: 67%; Число SQL-запросов: 77 шт.
Исходный размер: 117989; Сжатая: 24622