Парашют APC UPS для FreeBSD
Дошли таки у меня руки настроить парашют для своего шлюза настроенного на FreeBSD 7.1-RELEASE-p5. Мы в организации для серверов закупаем источники бесперебойного питания компании American Power Conversion. В основном у нас используются APC Smart-UPS 2200VA Rack Mount 2U USB. Так как у меня ядро уже было собрано с поддержкой USB, то просто проверим, что система увидела UPS подключенную через USB кабель.
ugen0: <American Power Conversion Smart-UPS 2200 RM FW:665.6.I USB FW:7.3, class 0/0, rev 1.10/0.06, addr 3> on uhub6
[root@bender tmp]#
Так, все здорово, так как у меня APC, то думаю самое правильное использовать порт sysutils/apcupsd для управления, мониторинга и управления системой в случае потери/колебания тока в электрической сети.
Собирать sysutils/apcupsd будем со следующими параметрами:
===> The following configuration options are available for apcupsd-3.14.5_1:
APCSMART_DRV=off "Compile APC SmartUPS serial driver"
APCDUMB_DRV=off "Compile dumb UPS driver"
CLIENT_ONLY=off "Only NIS client (no network server or drivers)"
CGI=on "Compile with CGI programms to show status"
PCNET_DRV=off "Compile PowerChute Network Shutdown driver"
USB=on "Compile with USB Support driver"
SNMP_DRV=on "Compile with SNMP driver"
TCP_WRAPPERS=off "Compile with TCP_WRAPPERS support"
TEST_DRV=off "Compile TEST driver"
GAPCMON=off "Build GTK GUI front-end"
===> Use 'make config' to modify these settings
[root@bender tmp]#
Собираем и устанавливаем:
===> Found saved configuration for apcupsd-3.14.5_1
===> Extracting for apcupsd-3.14.5_1
=> MD5 Checksum OK for apcupsd-3.14.5.tar.gz.
=> SHA256 Checksum OK for apcupsd-3.14.5.tar.gz.
===> Patching for apcupsd-3.14.5_1
===> Applying FreeBSD patches for apcupsd-3.14.5_1
№-- skip --#
[root@bender tmp]#
После установки, надо создать/отредактировать конфигурационные файл apcupsd.conf, находится он в /usr/local/etc/apcupsd. Я приведу лишь diff разницу между исходным и целевым файлом:
15c15
< UPSNAME bander
---
> #UPSNAME
29c29
< UPSCABLE usb
---
> UPSCABLE smart
75,76c75,76
< UPSTYPE usb
< #DEVICE /dev/usv
---
> UPSTYPE apcsmart
> DEVICE /dev/usv
85c85
< POLLTIME 10
---
> #POLLTIME 60
191c191
< NISIP 127.0.0.1
---
> NISIP 0.0.0.0
202c202
< EVENTSFILE /var/log/apcupsd/apcupsd.events
---
> EVENTSFILE /var/log/apcupsd.events
237c237
< STATFILE /var/log/apcupsd/apcupsd.status
---
> STATFILE /var/log/apcupsd.status
[root@bender tmp]#
Все настройки в apcupsd.conf очень хорошо документированы, я лишь опишу наиболее важные на мой взгляд:
# UPSCABLE usb – указываем, что будем использовать usb кабель, иначе надо смотреть модель кабеля и указывать ее тут.
# UPSTYPE usb – так же указываем что работаем через usb
# DEVICE /dev/usv – так как мы работаем через usb, то комментируем, иначе надо указать адрес устройства.
Ну, в общем все, настраиваем запуск apcupsd и стартуем демона
[root@bender tmp]# /usr/local/etc/rc.d/apcupsd start
Starting apcupsd.
[root@bender tmp]#
Теперь можем посмотреть статус нашего бесперебойного блока питания:
APC : 001,042,1047
DATE : Thu May 14 23:33:28 IRKST 2009
HOSTNAME : bender.isea.ru
RELEASE : 3.14.5
VERSION : 3.14.5 (10 January 2009) freebsd
UPSNAME : bander
CABLE : USB Cable
MODEL : Smart-UPS 2200 RM
UPSMODE : Stand Alone
STARTTIME: Thu May 14 23:27:00 IRKST 2009
STATUS : ONLINE
LINEV : 237.6 Volts
LOADPCT : 27.9 Percent Load Capacity
BCHARGE : 100.0 Percent
TIMELEFT : 25.0 Minutes
MBATTCHG : 5 Percent
MINTIMEL : 3 Minutes
MAXTIME : 0 Seconds
OUTPUTV : 237.6 Volts
SENSE : High
DWAKE : -01 Seconds
DSHUTD : 090 Seconds
LOTRANS : 208.0 Volts
HITRANS : 253.0 Volts
RETPCT : 000.0 Percent
ITEMP : 17.1 C Internal
ALARMDEL : Always
BATTV : 55.4 Volts
LINEFREQ : 50.0 Hz
LASTXFER : No transfers since turnon
NUMXFERS : 0
TONBATT : 0 seconds
CUMONBATT: 0 seconds
XOFFBATT : N/A
SELFTEST : NO
STATFLAG : 0x07000008 Status Flag
SERIALNO : JS0710002378
BATTDATE : 2007-03-08
NOMOUTV : 230 Volts
NOMBATTV : 48.0 Volts
FIRMWARE : 665.6.I USB FW:7.3
APCMODEL : Smart-UPS 2200 RM
END APC : Thu May 14 23:33:36 IRKST 2009
[root@bender tmp]#

.gif)
