The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Использование apcupsd в гетерогенных сетях. (ups hardware freebsd windows)


<< Предыдущая ИНДЕКС Правка src Установить закладку Перейти на закладку Следующая >>
Ключевые слова: ups, hardware, freebsd, windows,  (найти похожие документы)
From: Alex Samorukov Newsgroups: email Date: Mon, 25 May 2005 14:31:37 +0000 (UTC) Subject: Использование apcupsd в гетерогенных сетях. Предистория На 1 из обьектов, в серверную, был приобретен UPS APC Smart-UPS 1000 RM. Куплен он был для обслуживания 2ух серверов, один из которых на базе Windows 2003 (ip 10.0.0.2), второй - на базе FreeBSD 5.3. (ip 10.0.0.1). Оба сервера требовалось подключить к данному UPS, обеспечив корректное завершение работы системы в случае окончания срока работы батарей. Также требовалось оповещение пользователей домена AD о проблемах с питанием в серверной. UPS имеет интерфейс USB и COM, но в комплекте прилогался только USB шнур. Сначала я попытался использовать родное ПО данного UPS. И вскоре убедился, что оно совершенно не предназначено для нормальной работы. Основные проблемы встроенного ПО: * Не позволяет назначать действия (например, запуск внешних программ) на возникащие события. * Монстроидально. Данный шедевр разработчики APC написали на Java+Win32 API. Причем ПО разбито на Агента (сбор данных) + Сервер (работа с агентами) + Консоль (управление сервером). Кроме того при этом я получил не отключаемый web server и 40 Mb отожранной памяти (сервер+агент). * Отсутствие поддержки BSD. Из поддержки OSS систем есть только поддержка Linux (причем ТОЛЬКО агент и тоже на Java+JNI!), работа по стандартным протоколам (snmp) отсутствует. Apcupsd Убедившись в невозможности встроенного ПО решить поставленную задачу я решил воспользоваться программой Apcupsd (http://www.apcupsd.com/). Начиная с версии 3.10.17 в ней реализована работа с USB UPS в BSD системах. Также доступна win32 версия программы (на базе cygwin). Apcupsd позволяет работать в режиме клиент/сервер, что и требуется для данной задачи. Установка APCUPSD на FreeBSD Так как в APCUPSD/WIN32 не реализована работа с USB, подключаем UPS к FreeBSD серверу. Устанавливаем apcupsd из портов: #cd /usr/ports/sysutils/apcupsd/;make install clean В диалоге опций выбираем работу с USB. После этого: # cd /usr/local/etc/rc.d;cp apcupsd.sh.sample apcupsd.sh Теперь правим конфигурацию apcupsd (/usr/local/etc/apcupsd/apcupsd.conf). Пример конфигурации apcupsd на FreeBSD: UPSCABLE usb UPSTYPE usb DEVICE LOCKFILE /var/spool/lock BATTERYLEVEL 5 MINUTES 3 TIMEOUT 0 ANNOY 300 ANNOYDELAY 60 NOLOGON disable KILLDELAY 0 NETSERVER on NISIP 10.0.0.1 NISPORT 3551 EVENTSFILE /var/log/apcupsd.events EVENTSFILEMAX 10 UPSCLASS netmaster UPSMODE net NETPORT 6666 #ip адрес windows машины slave 10.0.0.2 STATTIME 0 STATFILE /var/log/apcupsd.status LOGSTATS off DATATIME 0 Для корректной работы usb ups с apcupsd необходимо закомментировать в файле конфигурации ядра устройство uhid и пересобрать ядро. После установки ядра перезагружаем машину. UPS должен быть виден в системе как устройство /dev/ugen0. Для проверки работоспособности набираем apcaccess - это должно выдать нам статистику UPS. Если всё работает - самое время перейти к настройке windows. Установка APCUPSD на Windows 2003 Скачав на сайте скомпиленный win32 бинарник, я распаковал архив в папку c:\apcupsd. После чего запустил c:\apcupsd\bin\setup.bat для создания win32 сервиса. Конфигурация apcupsd/win32 находится в файле \apcupsd\etc\apcupsd\apcupsd.conf. Пример конфигурации apcupsd на Windows: UPSCABLE ether UPSTYPE apcsmart DEVICE LOCKFILE /apcupsd/etc/apcupsd ONBATTERYDELAY 6 BATTERYLEVEL 5 MINUTES 3 TIMEOUT 0 ANNOY 300 ANNOYDELAY 60 NOLOGON disable KILLDELAY 0 NETSERVER on NISIP 10.0.0.2 NISPORT 3551 EVENTSFILE /apcupsd/etc/apcupsd/apcupsd.events EVENTSFILEMAX 10 UPSCLASS netslave UPSMODE net NETPORT 6666 # IP BSD сервера MASTER 10.0.0.1 STATTIME 0 STATFILE /apcupsd/etc/apcupsd/apcupsd.status LOGSTATS off DATATIME 0 Запускаем apcupsd командой net start apcupsd. Проверяем работу запуском apcaccess. Через некотое время сервис должен присоединиться к серверу (у меня почему-то этот процесс проходит больше минуты). В файле \apcupsd\etc\apcupsd\apccontrol расположены команды, выполняемые при срабатывании событий. В секцию onbattery я добавил строку /windows/system32/net.exe send /DOMAIN "WARNING: Server running on UPS battaries" для оповещения пользователей домена о проблемах. По непонятной мне причине, будучи запущенным от пользвателя system, сервис не выполнял оповещение. После изменения пользователя сервиса оповещения стали рассылаться. Итог Все работает так как и требовалось изначально. При желании к apcupsd можно прикрутить web интерфейс, mrtg и прочие рюшечки и свистелки.

<< Предыдущая ИНДЕКС Правка src Установить закладку Перейти на закладку Следующая >>

Обсуждение [ Линейный режим | Показать все | RSS ]
  • 1.1, Max (??), 17:07, 25/05/2005 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    И как заставить Win2003 сделать halt без последующего автоматического выключения питания? Единственный известный мне способ - сменить тип компьютера на "Компьютер без ACPI", но он не подходит по некоторым причинам.
     
  • 1.2, RIPper_wk (ok), 11:51, 26/05/2005 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    есть такая настройка(не во всех матерях) "рекация не пропадения - появление питания"  и там офф(дефалт)  и он (соответственно не  дефалт).
    у меня так машинки пашут в серверной. Сами поднимаются после появления питания
     
     
  • 2.3, Max (??), 13:30, 26/05/2005 [^] [^^] [^^^] [ответить]  
  • +/
    угу. Как раз есть серверная мать от интела где в этой настроке два пункта: Stays Off, Last State. Но коль скоро USP корректно дал компу выключится, то это Last State оно и есть ВЫКЛ. Т.е. не пробуждается комп никак. Вот собсно и ищу... как пробудить...
     

  • 1.4, Автор (?), 17:16, 26/05/2005 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Как вариант - это после power failure слать по сети WOL пакеты. В биосе надо WakeUp on LAN включить. Кстати, у мну когда-то был глючный тазик (без настройки в биосе просыпания), который доживал свою жизнь работая принтсервером, и я (на всякий случай) раз в 15 минут посылал на него WOL пакет с BSD сервера :) Помогало и от уборщиц и от вырубания по power евентам.
     
  • 1.5, PEACE (?), 20:08, 26/05/2005 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    а мне время появления этой заметки ооЧЧЧень понравилось. :)
    похоже действительно это ключевая тема вчера была.

    удачи! :)

     
  • 1.6, Mik (??), 10:43, 24/08/2005 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    1)apcusbd из портов скомпилирован без поддержки USB. Поэтому пришлось скачать исходники и компилировать самому: configure --enable-usb --enable-master-slave --disable-cgi && make && make install
    2)В конфиге(FreeBSD)таки надо указать тип девайса:
    DEVICE usb
     
  • 1.7, Практикант (?), 11:40, 26/06/2007 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    можете рассказать о принципе соединения APC к сети. И как правильно прописать айпишнег и маску подсети? Или хотя б дайте мне сцылу на текст...
     
  • 1.8, user (??), 14:03, 28/06/2007 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    ups - Smart-UPS 2200 RM подключен по usb
    собирал с --enable-usb --with-dev=/dev/ugen0
    единственное исправление в конфигурационном файле по умолчанию: UPSTYPE smartups заменил на UPSTYPE usb и установил время невозврата равное 900 сек.TIMEOUT 900 ,а также NISIP 127.0.0.1
    спасибо Alex Samorukov за статью
     
  • 1.9, lexxai (?), 20:59, 03/02/2008 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Вот чтобы еще WatchDog таймер прикрутить к UPS.
    То-есть програмируем UPS выключиться и включится через 5 мин. А в crone прописываем эту последовательность через 2 мин. Повис сервак, пегрузили.
     
  • 1.10, lexxai (?), 20:50, 04/02/2008 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Watchdog на базе APC Smart UPS

    алгоритм для SmartUPS терминалом по COM подключен UPS, 2400 8N1

    посланно Q: получили 08 # Status flags, 08 - On line, battery OK , если не 08 то думаем что случилось, есть ли [-f /var/run/powerfail] ...посланно 0x7f (DEL key) : получили 'OK' # Abort shutdownпосланно p: получили 600 # Shutdown grace delay, seconds , если <600 программируем 'p'посланно @001: получили OK # Тушим через 600 sec, и включаем через 1х0.1h=6 mins; @nnn Shutdown (after delay 'p') with delayed wakeup of nnn tenths of an hour (after 'r' time)
    осталось разрулить как эту покследовательность подсовывать UPS... и не "обидить" текщий просесс apcupsd

     
  • 1.11, blzz (?), 13:47, 09/04/2008 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    в нынешнем apcupsd-3.14.3 (red hat linux)
            UPSCLASS shareslave
            UPSMODE share
    и всеравно теперь не работает простая MASTER/SLAVE технология.

      * Unreliable MASTER/SLAVE networking mode is removed
      
           Yes, this is a feature. The old MASTER/SLAVE mode for shutting down multiple servers from one UPS has historically been unreliable and prone to loss of communications or lockups. Apcupsd has long had a replacement networking mode using the NIS server (NIS stands for Network Information Server, and has nothing to do with Sun's NIS/YP protocol). The NIS net mode is very reliable and has none of the lockup bugs that have plagued  MASTER/SLAVE mode.
           In 3.14.x, MASTER/SLAVE mode has been removed and the associated configuration directives are now obsolete. Please see the Apcupsd manual

    http://sourceforge.net/project/shownotes.php?group_id=54413&release_id=485633

     
     
  • 2.12, ask (??), 00:11, 09/12/2008 [^] [^^] [^^^] [ответить]  
  • +/
    http://www.apcupsd.org/manual/Configuration_Examples.html#SECTION000134000000

    Теперь работает через NIS.

     

     Добавить комментарий
    Имя:
    E-Mail:
    Заголовок:
    Текст:




    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру