LongForum
Ник
Пароль
Вернуться   LongForum > Help > OS и системное администрирование
Регистрация FAQ Список пользователей Календарь Поиск Сообщения за сегодня Пометить все разделы как прочитанные

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
Старый 11.04.2011, 12:02   #1
zloy_zay
Фаундер
 
Аватара для zloy_zay
 
Регистрация: 15.04.2005
Сообщения: 1,721 zloy_zay will become famous soon enoughzloy_zay will become famous soon enough
По умолчанию подключаем APC Smart-UPS 1000-XL к freebsd 8.2

ставим упс, чтобы она отключала комп при отсутствии электричества и оставшемся малом количестве заряда в аккумуляторах:
/usr/home/z# uname -a
FreeBSD 8.2-STABLE FreeBSD 8.2-STABLE #0: Fri Apr 8 17:12:39 MSD 2011 root@:/usr/obj/usr/src/sys/GENERIC
i386
обратите внимание на версию, тк в других будет установка совсем по-другому. подключаем упс к компу через com-порт.

/usr/home/z# whereis apcupsd
apcupsd: /usr/ports/sysutils/apcupsd
/usr/home/z# cd /usr/ports/
/usr/ports# make search name='apcups'
Port: apcupsd-3.14.8_1
Path: /usr/ports/sysutils/apcupsd
Info: Set of programs for controlling APC UPS
Maint: itetcu@FreeBSD.org
B-deps: gettext-0.18.1.1 gmake-3.81_4 libiconv-1.13.1_1
R-deps:
WWW: http://www.apcupsd.com

Port: plasma-applet-apcups-0.1.3
Path: /usr/ports/sysutils/plasma-applet-apcups
Info: Plasma applet to monitor the status of APC UPS
Maint: makc@FreeBSD.org
B-deps: OpenEXR-1.6.1_3 aspell-0.60.6_5 attica-0.2.0,1 automoc4-0.9.88_1 avahi-app-0.6.28 bison-2.4.3,1
ca_root_nss-3.12.6 cairo-1.10.0_3,1 clucene-0.9.21 cmake-2.8.3_1 compositeproto-0.4.1 consolekit-0.4.3 curl-7.21.3 ...
...
WWW: http://code.google.com/p/plasma-apcups/

обновляем порты и ставим
/usr/ports# cd /usr/ports/sysutils/apcupsd
/usr/ports/sysutils/apcupsd# make && make install && make clean
сразу открывается красивая графическая оболочка, где мы оставляем/отмечаем:

Options for apcupsd 3.14.8_1
¦ -----------------------------------------------------------------¬ ¦
¦ ¦[X] APCSMART_DRV Compile APC SmartUPS serial driver ¦ ¦
¦ ¦[X] APCDUMB_DRV Compile dumb UPS driver ¦ ¦
¦ ¦[X] CLIENT_ONLY Only NIS client (no network server or drivers) ¦ ¦
¦ ¦[ ] CGI Compile with CGI programms to show status ¦ ¦
¦ ¦[ ] PCNET_DRV Compile PowerChute Network Shutdown driver ¦ ¦
¦ ¦[ ] USB Compile with USB Support driver ¦ ¦
¦ ¦[ ] SNMP_DRV Compile with SNMP driver ¦ ¦
¦ ¦[ ] SNMP_DRV_OLD Compile with old SNMP driver ¦ ¦
¦ ¦[ ] TCP_WRAPPERS Compile with TCP_WRAPPERS support ¦ ¦
¦ ¦[ ] TEST_DRV Compile TEST driver ¦ ¦
¦ ¦[ ] GAPCMON Build GTK GUI front-end ¦ ¦

вылетела с ошибкой : жалоба, что для клиент_онли нужен драйвер. деинсталил (make deinstall), переконфигурил

(make config) без клиента_онли. запустил установку снова:
/usr/ports/sysutils/apcupsd# make && make install && make clean


вторую табличку оставляем по-дефолту (в релизе 8.1 её нет)
Options for libiconv 1.13.1_1
¦ -----------------------------------------------------------------¬ ¦
¦ ¦ [X] EXTRA_ENCODINGS Include extra character sets ¦ ¦
¦ ¦ [ ] EXTRA_PATCHES Apply patches to fix CP932, add EUCJP-MS ¦ ¦

/usr/ports/sysutils/apcupsd# cd /usr/local/etc/rc.d/
/usr/local/etc/rc.d# ls | grep apc
apcupsd
подправляем rc.conf
/usr/local/etc/rc.d# echo 'apcupsd_enable="YES"' >> /etc/rc.conf

/usr/home/z# cat /var/log/dmesg.today | grep apc
vgapci0: <VGA-compatible display> mem 0xf2000000-0xf3ffffff,0xfe9fc000-0xfe9fffff,0xfe000000-0xfe7fffff irq 16

at device 0.0 on pci1
atapci0: <Intel ICH4 UDMA100 controller> port 0x1f0-0x1f7,0x3f6,0x170-0x177,0x376,0xffa0-0xffaf at device 31.1

on pci0
ata0: <ATA channel 0> on atapci0
ata1: <ATA channel 1> on atapci0

смотрим как называется com порт на нашей машинке
/usr/home/z# ls /dev/

acd0 ctty kbdmux0 sysmouse ttyvb
acpi cuau0 klog ttyu0 ttyvc
ad0 cuau0.init kmem ttyu0.init ttyvd
ad0s1 cuau0.lock log ttyu0.lock ttyve
ad0s1a cuau1 lpt0 ttyu1 ttyvf
ad0s1b cuau1.init lpt0.ctl ttyu1.init ufsid
ad0s1d cuau1.lock mdctl ttyu1.lock ugen0.1
ad0s1e dcons mem ttyv0 ugen1.1
ad0s1f devctl nfslock ttyv1 ugen2.1
ad0s1g devstat null ttyv2 ugen3.1
agpgart dgdb pci ttyv3 urandom
ata fd ppi0 ttyv4 usb
atkbd0 fd0 ptmx ttyv5 usbctl
audit fido pts ttyv6 xpt0
bpf geom.ctl random ttyv7 zero
bpf0 io stderr ttyv8
console kbd0 stdin ttyv9
consolectl kbd1 stdout ttyva

cuau0 -- вот оно)

/usr/home/z# cd /usr/local/etc/apcupsd/
/usr/local/etc/apcupsd# ls
apccontrol changeme offbattery
apcupsd.conf commfailure onbattery
apcupsd.conf.sample commok

/usr/local/etc/apcupsd# dmesg | grep sio
ioapic0 <Version 2.0> irqs 0-23 on motherboard
usbus3: EHCI version 1.0
далее правим конфигурационный файл под наш упс:
/usr/local/etc/apcupsd# ee apcupsd.conf

что должно получиться:
/usr/local/etc/apcupsd# cat apcupsd.conf | grep -v "^#"
UPSCABLE smart
UPSTYPE apcsmart
DEVICE /dev/cuau0
LOCKFILE /var/spool/lock
SCRIPTDIR /usr/local/etc/apcupsd
PWRFAILDIR /var/run
NOLOGINDIR /var/run
ONBATTERYDELAY 6
BATTERYLEVEL 5
MINUTES 3
TIMEOUT 0
ANNOY 300
ANNOYDELAY 60
NOLOGON disable
KILLDELAY 0
NETSERVER on
NISIP 0.0.0.0
NISPORT 3551
EVENTSFILE /var/log/apcupsd.events
EVENTSFILEMAX 10
UPSCLASS standalone
UPSMODE disable
STATTIME 0
STATFILE /var/log/apcupsd.status
LOGSTATS off
DATATIME 0
UPSNAME 1000 XL
WAKEUP 30

# /usr/local/etc/rc.d/apcupsd start

проверяем логи:
/var/log# cat messages
видим, что всё в поорядке
Apr 11 11:31:45 apcupsd[833]: apcupsd 3.14.8 (16 January 2010) freebsd startup succeeded

выдёргиваекм питалово и смотрим:
/usr/local/etc/apcupsd# cd /

Broadcast Message from root@
(no tty) at 11:43 MSD...

Power failure. Running on UPS batteries.


впихиваем питалово снова
Broadcast Message from root@
(no tty) at 11:45 MSD...

Power has returned...

уря! таки работает!)

для большей достоверности можно выключить питалово совсем и посмотреть логи - на корректность выключения)
cat /var/log/messages

# apcaccess status -- позволяет посмотреть текущее состояние UPS

APC : 001,051,1279
DATE : 2011-09-14 15:42:02 +0400
HOSTNAME : lublino.tmbr.local
VERSION : 3.14.8 (16 January 2010) freebsd
UPSNAME : 1000 XL
CABLE : Custom Cable Smart
MODEL : Smart-UPS 1000 XL
UPSMODE : Stand Alone
STARTTIME: 2011-09-12 10:36:30 +0400
STATUS : BOOST ONLINE
LINEV : 214.5 Volts
LOADPCT : 13.0 Percent Load Capacity
BCHARGE : 100.0 Percent
TIMELEFT : 109.0 Minutes --
- показывает на сколько минут заряда хватит
MBATTCHG : 5 Percent
MINTIMEL : 3 Minutes
MAXTIME : 0 Seconds
MAXLINEV : 220.3 Volts
MINLINEV : 198.7 Volts
OUTPUTV : 246.2 Volts
SENSE : High
DWAKE : 000 Seconds
DSHUTD : 090 Seconds
DLOWBATT : 02 Minutes
LOTRANS : 208.0 Volts
HITRANS : 253.0 Volts
RETPCT : 000.0 Percent
ITEMP : 32.4 C Internal
ALARMDEL : 5 seconds
BATTV : 27.4 Volts
LINEFREQ : 50.0 Hz
LASTXFER : Line voltage notch or spike
NUMXFERS : 37
XONBATT : 2011-09-14 15:34:48 +0400
TONBATT : 0 seconds
CUMONBATT: 59 seconds
XOFFBATT : 2011-09-14 15:34:49 +0400
SELFTEST : NO
STESTI : 336
STATFLAG : 0x0700000C Status Flag
REG1 : 0x00 Register 1
REG2 : 0x00 Register 2
REG3 : 0x00 Register 3
MANDATE : 09/19/07
SERIALNO : AS0738210445
BATTDATE : 09/28/10
NOMOUTV : 230 Volts
NOMBATTV : 24.0 Volts
EXTBATTS : 0
FIRMWARE : 681.13.I
APCMODEL : FWI
END APC : 2011-09-14 15:42:04 +0400

пытаемся настроить уведомление через электронную почту о включении электропитания:

содержание файла /usr/local/etc/apcupsd/offbattery изменяем на то, что внизу

#!/bin/sh
#
# This shell script if placed in /etc/apcupsd
# will be called by /etc/apcupsd/apccontrol when the
# UPS goes back on to the mains after a power failure.
# We send an email message to root to notify him.
#
SYSADMIN=root
SMS=admin@domain.ru
APCUPSD_MAIL="/usr/bin/mail"

HOSTNAME=`my_hostname`
MSG="$HOSTNAME Power On"
#
(
echo "Subject: $MSG"
echo " "
echo "$MSG"
echo " "
/usr/sbin/apcaccess status
) | $APCUPSD_MAIL -s "$MSG" $SYSADMIN

MSG="$HOSTNAME Power On"
#
(
echo "ALERT"
echo " "
) | $APCUPSD_MAIL -s "$MSG" $SMS

exit 0

--
упс выключится и когда электричество включится, пошлётся на почту мессага со словом ALERT
в теме будет Power On

Настраиваем уведомление через электронную почту о выключении электропитания:

[/color]содержание файла /usr/local/etc/apcupsd/onbattery изменяем на то, что внизу

#!/bin/sh
#
# This shell script if placed in /etc/apcupsd
# will be called by /etc/apcupsd/apccontrol when the
# UPS goes back on to the mains after a power failure.
# We send an email message to root to notify him.
#
SYSADMIN=root
SMS=admin@domain.ru
APCUPSD_MAIL="/usr/bin/mail"

HOSTNAME=`my_hostname`
MSG="$HOSTNAME Power Failure!"
#
(
echo "Subject: $MSG"
echo " "
echo "$MSG"
echo " "
/usr/sbin/apcaccess status
) | $APCUPSD_MAIL -s "$MSG" $SYSADMIN

MSG="$HOSTNAME Power Failure!"
#
(
echo "ALERT"
echo " "
) | $APCUPSD_MAIL -s "$MSG" $SMS

exit 0

---
но по-дефолту от имени чарли рута
изменяем на удобовариваемое другое (хочу предупредить, что у меня такое не работает):
ee /etc/passwd
root:*:0:0:Charlie &:/root:/bin/csh
"Charlie &" расширенное имя
"&" означает поставить имя короткое вместо этого знака
переименовываем на своё усмотрение прямо в этом файле

на всякий случай проделываем тоже самое в /etc/master.passwd
--
проверяю вариант:
# chpass
переставляему курсор на строку Full Name: Charlie &
ставим указатель на первую букву имени
удаляем имя нажатием delete
нажимаем i для перевода в режим набора текста
набираем имя
жмём Esс для перевода в коммандный режим
набираем команду :wq
:wq - выход с сохранением файла
enter
__________________
Сусальным золотом горят
В лесах рождественские ёлки;
В кустах игрушечные Volk'и
Глазами страшными глядят. (c) О. Мандельштам

Последний раз редактировалось zloy_zay, 25.11.2011 в 15:53.
zloy_zay вне форума   Ответить с цитированием
Старый 04.10.2011, 17:19   #2
zloy_zay
Фаундер
 
Аватара для zloy_zay
 
Регистрация: 15.04.2005
Сообщения: 1,721 zloy_zay will become famous soon enoughzloy_zay will become famous soon enough
По умолчанию дополнительная информация

Пакет apcupsd позволяет мониторить состояние UPS фирмы APC (и примкнувших к ней), а также позволяет вовремя завершить работу ОС. Поддерживает не только простые (dumb) UPS компании APC, но и более «разумные» (smart), подключаемые как по фирменному «последовательному» кабелю, так и USB и Ethernet модели. Поддерживаются модели с SNMP управлением (хотя в этом случае вы можете управлять устройством напрямую). Кроме простейшей конфигурации (один UPS - один компьютер) поддерживаются конфигурации с удаленным управлением (компьютер питается от UPS, но управляет данным UPS другой компьютер), питание нескольких компьютеров от одного UPS (один из компьютеров управляет UPS по кабелю или SNMP, остальные опрашивают состояние UPS у него) и управление несколькими UPS с одного компьютера (все питаемые от данных UPS компьютеры опрашивают данный компьютер). Можно подключать UPS к компьютерам под управлением Linux (Fedora, Debian, Slackware), FreeBSD, NetBSD, OpenBSD, HP/UX, Solaris и MS Windows под Cygwin (последовательный порт, USB, SNMP).

Разработчики предоставляют готовые rpm-пакеты для Red Hat (при обновлении рекомендуется удалить и поставить заново, иначе могут быть проблемы со скриптом halt) и бинарники для MS Windows XP. При установке модифицируется /etc/rc.d/init.d/halt (вставляется apcupsd killpower для отключения UPS, иначе при «досрочном» появлении питания компьютер не загрузится), его надо проверить (и удалить, если компьютер не управляет питающий UPS). Сборка из исходных текстов также проста и стандартна (распаковываем; ./configure; make; make install), только надо не забыть остановить и удалить предыдущую версию.

Основные настройки задаются в файле /etc/apcupsd/apcupsd.conf, каждая строка которого определяет значение одного параметра. Основные параметры:

  • UPSNAME имя
  • UPSTYPE тип-управляющего-соединения (dumb, apcsmart, net, usb, snmp, test)
  • UPSCABLE тип-кабеля (simple, smart, usb, ether, модель фирменного кабеля)
  • DEVICE имя-устройства (/dev/ttyS0, /dev/hiddev0, 192.168.0.1:3551)
  • LOCKFILE имя-каталога (/var/lock; в этом каталоге будут создаваться блокирующие файлы доступа к последовательным или USB портам)
  • NETSERVER on (включение NIS сервера - см. ниже)
  • NISIP 0.0.0.0 (IP адрес для входящих соединений; можно 127.0.0.1)
  • NISPORT 3551 (входной порт NIS сервера)
  • EVENTSFILE имя-файла (журнал событий для NIS сервера)
  • EVENTSFILEMAX максимальный-размер-в-КБ
  • NETTIME 60 (интервал опроса NIS-сервера клиентом)
  • ONBATTERYDELAY 6
  • BATTERYLEVEL 5 (минимальный уровень зарядки батареи в процентах, после которого начинается выключение)
  • MINUTES 3 (минимальное количество минут, оставшихся до исчерпания батареи, после которого начинается выключение; основывается на мнении UPS)
  • TIMEOUT 0 (если не 0, то выключение начинается после указанного числа секунд работы на батарее без учёта уровня зарядки)
  • ANNOY 60 (интервал между призывами к пользователям прекратить работу)
  • ANNOYDELAY 300 (задержка между переходом на работу от батареи и первым призывом завершать работу)
  • NOLOGON disable (не давать начинать новый сеанс работы при работе от батареи; disable - отключить ограничение; timeout - запрещать новый сеанс по истечении 90%, заданого в TIMEOUT; percent - запрещать новый сеанс по достижению 110% уровня зарядки, заданного BATTERYLEVEL; minutes - запрещать новый сеанс по достижению 110% минут, указанных в MINUTES; always - запрещать сразу)
  • NOLOGINDIR имя-каталога (в этом каталоге создаётся файл nologin - именно наличие этого файла в /etc запрещает новый сеанс в UNIX)
  • KILLDELAY 0
  • SCRIPTDIR /etc/apcupsd
  • PWRFAILDIR имя-каталога (в этом каталоге - /etc/apcupsd - создаётся файл powerfail, как признак сбоя питания, который используется в изменённом скрипте /etc/init.d/halt для выключения UPS после выключения системы)
  • STATTIME 60 (секунд между обновлением файла состояния или записями в syslog)
  • STATFILE имя-файла
  • DATATIME 60 (секунд между обновлением краткого файла данных, см. ниже)
  • LOGSTATS on (выводить подробное состояние через syslog)
  • FACILITY DAEMON (от имени какой службы выводить состояние в syslog)
Опрос клиентскими компьютерами сервера, к которому подключён UPS, осуществляется по протоколу NIS (не путать со стандартным NIS!), порт по умолчанию 3551/tcp. Сервер должен иметь включённым параметр NETSERVER, для клиентов задаётся UPSCABLE равным ether, UPSTYPE - net. Порт на сервере задаётся параметром NISPORT, прослушиваемый IP адрес - NISIP. Не надо забывать открыть сетевой экран (никакой защиты нет, а apcupsd работает от root-а), есть поддержка tcpwrapper (какое имя программы?). Адрес и порт сервера задаётся на клиенте параметром DEVICE, интервал опроса - NETTIME (не устанавливать более 30 секунд!). Рекомендуется устанавливать параметры BATTERYLEVEL, MINUTES и TIMEOUT на клиенте так, чтобы клиент выключался раньше сервера. Клиент, в свою очередь, может являться сервером для других компьютеров.

Поддерживается протокол PowerChute Network Shutdown для включения в сеть мониторинга фирмы APC (модули AP9617) - драйвер PCNET. Не пробовал.

Имеется также режим Master/Slave, который признан устаревшим и здесь не описывается.

Режим модификации eeprom убран из apcupsd, для последовательного соединения можно пользоваться apctest, остальным - ждать.

Журнал событий записывается в файл /var/log/apcupsd.events (имя файла задаётся параметром EVENTSFILE), а текущее состояние ежеминутно записывается в /var/log/apcupsd.status (имя файла задаётся параметром STATFILE, интервал в минутах - параметром STATTIME).

Информация о событиях также записывается в syslog и выводится с помощью wall (тексты сообщений для wall и syslog не совпадают!). Отладочная информация (необходимо явно включить при сборке) выдается в syslog на уровне серьёзности DEBUG; данные о напряжении, температуре и т.д. (только для Smart и выше) в кратком виде - на уровне INFO; подробное текущее состояние - NOTICE; события - на уровнях WARNING (запуск и останов), ERR (потеря связи с UPS), CRIT (переход на питание от батарей) и ALERT (выключение компьютера). Источник сообщения для syslog - DAEMON, задается параметром FACILITY. В строке краткой информации для SmartUPS через запятую выводятся:

  • 000.0 (нижний порог входного напряжения)
  • 000.0 (верхний порог входного напряжения)
  • выходное напряжение
  • напряжение батареи
  • частота
  • нагрузка (%)
  • температура UPS
  • 000.0 (внешняя температура)
  • 000.0 (влажность)
  • входное напряжение
  • уровень зарядки
  • попеременно 0 и 1
В подробном текущем состоянии на каждой строке выводится значение одного параметра в виде: имя, двоеточие, значение. Основные параметры (изменяются в зависимости от типа UPS):

APC : номер-версии,количество-строк,количество-байт

DATE : время выдачи состояния

HOSTNAME : DNS имя сервера

RELEASE : версия apcupsd

VERSION : версия сборки apcupsd

UPSNAME : имя в apcupsd.conf

CABLE : тип управляющего кабеля

MODEL : модель UPS

UPSMODE : Stand Alone

STARTTIME: время запуска apcupsd

STATUS : текущее состояние (ONLINE, ONBATT, NOBATT и т.д.)

LINEV : входное напряжение

LOADPCT : уровень нагрузки

BCHARGE : уровень зарядки

TIMELEFT : предполагаемое время работы на батарее

MBATTCHG : значение BATTERYLEVEL в apcupsd.conf

MINTIMEL : значение MINUTES в apcupsd.conf

MAXTIME : значение TIMEOUT в apcupsd.conf

OUTPUTV : выходное напряжение

SENSE : чувствительность UPS к изменениям входного напряжения

DWAKE : сколько секунд будет ждать UPS после возобновления питания до включения нагрузки

DSHUTD : интервал задержки UPS-ом исполнения команды выключения питания

LOTRANS : нижняя граница допустимого напряжения

HITRANS : верхняя граница допустимого напряжения

RETPCT : минимальный уровень зарядки батареи после возобновления питания до включения нагрузки

ITEMP : температура UPS

ALARMDEL : период задержки подачи сигнала при пропадании питания (Always)

BATTV : напряжение на батарее

LINEFREQ : частота входного напряжения

LASTXFER : причина последнего изменения состояния

NUMXFERS : количество изменений состояния

TONBATT : время работы от батареи текущее

CUMONBATT: время работы от батареи суммарное

XONBATT : время последнего перехода на работу от батареи

XOFFBATT : время последнего перехода на работу с батареи на сеть

LASTSTEST: время последнего самотестирования

SELFTEST : производилось ли самотестирование UPS последние 5 минут и результат

STATFLAG : 0x07000008 Status Flag

SERIALNO : серийный номер UPS

MANDATE : дата изготовления UPS

BATTDATE : дата изготовления батареи (необходимо менять вручную)

NOMOUTV : номинальное выходное напряжение

NOMBATTV : нормальное напряжение батареи

FIRMWARE : версия firmware

APCMODEL : модель UPS для аналогов

END APC : время выдачи состояния

При каждом событии вызывается скрипт /etc/apcupsd/apccontrol, которому первым параметром передаётся имя события; вторым параметром - имя UPS (задаётся в apcupsd.conf); третьим параметром - если данный компьютер управляет UPS, то 1, иначе 0; четвёртым параметром - 0 (в будущем предполагается передавать питается ли компьютер от этого UPS). Если в директорию /etc/apcupsd/ положить скрипт (или программу) с именем, совпадающим с именем события, то он будет запущен на исполнение перед действием по умолчанию (необходимы права на исполнение). Скрипту (программе) передаются те же параметры, что и apccontrol, кроме имени события. Если скрипт возвращает 99, то действие по умолчанию не производится. Скрипт вызывается до того, как состояние будет доступно из файла status или через NIS сервер.

Имена событий:

  • annoyme (запланировано отключение и истёк интервал перед предупреждением (ANNOYME)
  • changeme (UPS работает от сети, но батарея не работает и её надо заменить)
  • commfailure (потеряно управляющее соединение с UPS)
  • commok (восстановлено управляющее соединение с UPS)
  • doreboot (устарело)
  • doshutdown (UPS работает от батареи и пора отключаться)
  • emergency (немедленно выключить компьютер, т.к. UPS неисправен)
  • failing (UPS работает от батареи и батарея заканчивается)
  • loadlimit (UPS работает от батареи и заряд батареи упал ниже заданного)
  • mainsback (UPS перешёл на работу от сети)
  • onbattery (UPS перешёл на работу от батареи, задержка задаётся ONBATTERYDELAY)
  • offbattery (UPS вернулся от работы от батареи)
  • powerout (пропало питание в сети или самотестирование)
  • remotedown (UPS работает на батарее и с ним пропала связь, например, выключился управляющий компьютер)
  • restartme(устарело)
  • runlimit (UPS работает от батареи и осталось меньше времени, чем указано в MINUTES)
  • timeout (UPS работает от батареи дольше, чем указано в TIMEOUT)
  • startselftest (UPS начал самотестирование)
  • endselftest (UPS завершил самотестирование)
  • battdetach (батарея отсоединена)
  • battattach (батарея подключена обратно)
  • mastertimeout (?)
  • masterconnect (?)
Типичная последовательность событий на управляющем компьютере при кратковременном пропадании электричества в сети:

powerout onbattery (через 5 секунд) ... offbattery mainsback Последовательность событий на управляющем компьютере при длительном пропадании электричества в сети:

powerout onbattery (через 5 секунд) failing или timeout или loadlimit или runlimit doshutdown создаётся файл /etc/apcupsd/powerfail /sbin/shutdown -h now # apcupsd продолжает работать apcupsd получает сигнал завершить работу от /etc/rc.d/... выполняется модифицированный /etc/rc.d/init.d/halt файловые системы переводятся в режим "только чтение" /etc/apcupsd/apccontrol killpower apcupsd --killpower # посылает UPS сигнал отключения питания Определение типа и имени USB-устройства для записи в apcupsd.conf

  • UPSCABLE usb
  • UPSTYPE usb
  • проверить USB подключение к управляющему компьютеру (драйвер д.б. usbhid или hid), cat /proc/bus/usb/devices
S: Manufacturer=American Power Conversion

S: Product=Smart-UPS 3000 RM FW:666.6.I USB FW:2.4 S: SerialNumber=... I: If#= 0 Alt= 0 #EPs= 1 Cls=03(HID ) Sub=00 Prot=00 Driver=usbhid * проверить наличие драйверов: ls -1 /sys/bus/usb/drivers hiddev hub usb usbfs usbhid
  • проверить наличие устройства hiddev:
ls -l /dev/hiddev*
  • получить информацию о цепочке подключения: udevinfo -a -p /sys/class/usb/hiddev0/
  • если к компьютеру по USB подключен только один UPS, то параметр DEVICE можно оставить пустым (или вписать любую ерунду) - apcupsd самостоятельно найдёт нужное устройство
При желании дать устройству уникальное имя и указать его в строке DEVICE (например, /dev/ups1000) в Debian GNU/Linux необходимо (перед подключением устройства!) добавить в файл /etc/udev/rules.d/50-udev.rules строчку:

KERNEL=="hiddev*", BUS=="usb", SYSFS{serial}=="AS0319230618", SYMLINK+="ups1000" Увы, при отключении USB устройства пропадает соответствующий hiddev* (и ссылка на него). Управляющий этим UPS процесс apcupsd переключается на первый подходящий hiddev и обратно уже не возвращается.

Автоматический запуск в Debian GNU/Linux обеспечивается стандартными средствами

После установки сложной системы из многих UPS, серверов и клиентов рекомендуется проводить учения, чтобы убедиться в правильности отключения компьютеров:

  • убедиться в наличии процессов apcupsd (ps)
  • наличие записей в журнале (apcupsd и apcserver)
  • service apcupsd status
  • наличие реакции на разрыв управляющего соединения между UPS и сервером (и какова реакция клиентов)
  • наличие реакции на временное отключение питания
  • правильное отключение систем по исчерпанию батареи (UPS также должен выключиться)
Утилита «apcaccess status» позволяет посмотреть текущее состояние UPS (содержимое apcupsd.status). Имя и порт NIS-сервера задаётся вторым параметром. Имеется (но не работает) возможность посмотреть значения параметров в eeprom: «apcaccess eeprom».

Утилита apctest позволяет (предварительно остановить apcupsd) запустить самотестирование, посмотреть и изменить дату батареи, посмотреть дату изготовления. Для UPS с последовательным кабелем можно программировать eeprom и войти в терминальный режим.

Утилита powerflute выдаёт красивую картинку (ncurses) о текущем состоянии UPS (которого из них?) и позволяет его выключить.

Пакет apcupsd-multimon содержит набор cgi-скриптов (не смотрел).

Пакет apcupsd-gapcmon.
__________________
Сусальным золотом горят
В лесах рождественские ёлки;
В кустах игрушечные Volk'и
Глазами страшными глядят. (c) О. Мандельштам
zloy_zay вне форума   Ответить с цитированием
Ответ


Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра Оценка этой теме
Оценка этой теме:

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход



Часовой пояс GMT +3, время: 03:47.


#LongHorn TeaM
Все права принадлежат форуму сайта www.isabel.su . При копировании материалов с сайта ссылка на источник обязательна
Яндекс.Метрика