Пользователь
0,0
рейтинг
8 ноября 2011 в 03:48

Администрирование → Начальная настройка ИБП APC в Linux с точки зрения чайника из песочницы

Купив источник бесперебойного питания от APC (а именно — APC Back-UPS ES 550VA ), я с удивленьем обнаружил, что «из коробки» он не может похвастаться тесной дружбою с Linux. Конечно, XFCE Power Manager, входящий в состав XFCE 4.6, подхватил и разпознал UPS, но всё, на что он оказался способен — отображение в трее уровня заряда. Какие-либо настройки отсутствовали начисто, нельзя было даже задать выключение ПК при достижении определённого уровня заряда.

Обратившись за консультацией в гугл, я узнал о существовании замечательного демона apcupsd, чья роль заключается в — никогда не поверите — управлении ИБП от APC. Но, как оказалось, практически все руководства по его начальной настройке были откровенно устаревшими — включая, как ни странно, официальный мануал. Споткнуться приходилось уже в самом начале о «cat /proc/bus/usb/devices». Поговорив с гуглом серьёзным и доверительным тоном, я добился от него ссылки на действующий мануал, художественным переводом коего с дополнениями из иных источников сия статья и является.

Итак, начнём с установки самого apcupsd:

sudo apt-get install apcupsd

Разумеется, вышесказанное справедливо для Debian и его производных, включая Ubuntu. Если в вашем дистрибутиве не используется apt-get — думаю, вы всё равно знаете, как поставить необходимый пакет. Надеюсь на это.

Теперь мы отредактируем конфигурационный файл apcupsd:

sudo gedit /etc/apcupsd/apcupsd.conf

В данном случае нас интересуют всего три параметра:

UPSCABLE — указываем тип кабеля, которым наш UPS подключён к ПК. В комментариях указаны возможные типы — simple, smart, ether, usb. Нынешние домашние модели подключаются через USB — следовательно, достаточно дописать usb
UPSTYPE — тип подключённого UPS. В комментариях перечислены возможные типы и соответствующие им значения параметра DEVICE, наш же выбор — тип usb
DEVICE — закомментируем данную строку, поставив перед ней знак # — для USB-устройств она не нужна

Сохраняем изменённый конфигурационный файл, открываем следующий:

sudo gedit /etc/default/apcupsd

Заменяем ISCONFIGURED=no на ISCONFIGURED=yes, сохраняем, закрываем. Отныне apcupsd будет знать, что мы не забыли его настроить.

Теперь достаточно запустить apcupsd:
sudo /etc/init.d/apcupsd start

Если он уже был запущен — вместо start нам, разумеется, надо будет писать restart.

Всё, ваш ПК теперь связан с новеньким ИБП прочными узами дружбы.

А теперь немножко о том, что мы можем настроить в обширном /etc/apcupsd/apcupsd.conf:

ONBATTERYDELAY — время (в секундах), определяющее задержку между обнаружением сбоя электропитания и отсылкой события onbattery. По умолчанию — 6
BATTERYLEVEL — уровень заряда батареи (в процентах), при котором инициируется выключение компьютера. По умолчанию — 5
MINUTES — расчётное время остаточной работы (в минутах), при достижении которого инициируется выключение компьютера. По умолчанию — 3
TIMEOUT — параметр актуален для старых ИБП, неспособных определять свой уровень заряда. Задаёт время (в секундах) между сбоем электропитания и отключением компьютера. Для современного ИБП параметр стоит оставить на 0, но выставление иного значения может быть удобно для тестирования работы ИБП. Например, если выставить 30 и выдернуть шнур из розетки, уже через полминуты apcupsd продемонстрирует своё умение выключать компьютер

Выполнения одного из условий (BATTERYLEVEL, MINUTES или TIMEOUT) достаточно для выключения компьютера. Более тонкая настройка не описывается, ибо её необходимость для домашнего пользователя весьма сомнительна.

Долго сказка сказывается, да недолго дело делается: полагаю, описанные действия пользователь произведёт за пару минут. Надеюсь, данная статья поможет кому-нибудь подружить его ИБП APC с Linux, сэкономив время и не завязнув в устаревших мануалах.
@betrachtung
карма
41,7
рейтинг 0,0
Реклама помогает поддерживать и развивать наши сервисы

Подробнее
Спецпроект

Самое читаемое Администрирование

Комментарии (29)

  • –1
    Спасибо за статью! Давно хотел прикрутить APC к серверу да руки не доходили.
  • +1
    Если из всего этого текста, с пространными комментариями не по теме и упражнениями в изящной словесности оставить только то, что нужно, а именно – описание семи параметров, то будет она — та самая нужная статья. Точнее HOW TO.
    • +4
      Вырезал пустословие и поместил на help.ubuntu.ru/wiki/apcupsd (насколько я понимаю, HTML-теги при отрицательной карме отключаются) и на linsovet.com. Здесь, пожалуй, оставлю в первозданном виде — как статью, а не как руководство.
      • 0
        Можно еще было сказать про вэб-морду для мониторинга — apcupsd.cgi
        Ставится как отдельный пакет.
  • +2
    Кто-нить может объяснить эту несуразицу — в мире over 90% всех серверов на линухе (ну всмысле их дофигище) — а вот такой элементарный аппарат как бесперебойник (это вам даже не сканер какой-нить) прикручивать из коробки до сих пор даже не пытаются. Да, вот есть прога для ups, а если у меня ippon — вешаться прикажете?
    • 0
      Действительно, интересно. Ведь apcupsd выпущен под GPL v2 и весит менее мегабайта — почему бы не включать его в мейнстримовые дистрибутивы? А уж в серверных дистрибутивах, мне кажется, поддержка ИБП из коробки просто обязательна.
      • 0
        Что Вы имете в виду «из коробки»? В ядро? Ядро и так пухнет, кому надо поставит сам.
        В дистр? Думаю это вопрос к издателю дистрибутива и думаю даже в некоторых есть.
        • +2
          То есть вот работа с аккумуляторами в ноутбуках — пожалуста — вот вам и емкость, и степень изношенности, и ток разрядки/зарядки, ожидаемое время до полной зарядки/разрядки, температура (если есть датчик), серийный номер, дата производства, чуть ли версия прошивки, куча графиков — ничего, смогли.
          А что-нить простенькое для бесперебойников — не, нам слабо!
          • 0
            Аккумуляторы ноутов предоставляют информацию через стандартные интерфейсы/протоколы, а у производителей бесперебойников таковые видимо отсутствуют.
            • НЛО прилетело и опубликовало эту надпись здесь
              • 0
                Предлагаешь включать в искаробочную поставку дистрибутива монстрообразный NUT, с настройкой которого typical home user вряд ли осилит разобраться? А если дать только apcupsd — то что делать юзерам всех других упсов?

                К тому же человек, который знает, как всё это настраивать, скорее всего сможет и установить нужный пакет с репов.
          • 0
            Да сделали всё как минимум для бесперебойников APC. В KDE.
    • 0
      наверно Ippon и APC немного не те бесперебойники, которые ставят на приличные сервера
      • +5
        Что вы имеете против APC?
      • 0
        У APC есть и серверная линейка.
        • 0
          Я бы сказал, что у APC есть и десктопная линейка.
      • +1
        А какие, например? :)
    • +5
      Нет, мы прикажем открыть для себя NUT. Все очень просто. Подключил, настроил, забыл.
    • 0
      Не могу сказать, насколько он удобный, но софт у APC под Linux есть: www.apc.com/products/family/?id=125
      Другое дело, что у автора бытовой ИБП с розетками, вряд ли он имеет хоть какое-нибудь отношение к серверам.
      • 0
        Хрень этот их «ынтырпрайзный» софп, требующий для работы жабу, иксы и тонны памяти. Так что в любом случае рулит apcupsd.
    • 0
      Вот скажите мне пожалуйста нахрена мне ставить какой-то софт на сервер для мониторинга «УПС»а если есть нормальные бесперебойники c SNMP-модулями, и я могу снимать данные с модуля?
      Например даже те же решения от интеграла( integral.pp.ua/, кстати не самые дешевые ) поставляются модулями, далее желание админов хоть к cacti/zabbix/mrtg/munin крути, хоть смски шли тем же нагиосом.

      А эти УПСы размером с две батарейки 7Ач/12В — даже мониторить, а тем более на «Сервер» ставить…
      • НЛО прилетело и опубликовало эту надпись здесь
        • 0
          Ну не знаю как кто, но вот для своих домашних сервачков поставил:



          Держит без света часов 10-12
          • НЛО прилетело и опубликовало эту надпись здесь
    • 0
      У PowerWare есть приложение под Linux.
    • 0
      IPPON у меня прекрасно завелся через NUT (интерфейс USB)
    • +1
      Эмм…может я и не прав, но насколько я себе представляю сервера на линуксе в поддержке бытовых упсов не нуждаются. Серверные ups, как правило, все события шлют по сети. Клиентская часть, конечно, нужна, но у каждой такой упсы она есть, своя, достаточно просто ставится/настраивается.
      А на счет apcupsd… давным-давно, когда деревья были большими, а на моем десктопе был linux (извините, но mandrake или уже мандрива), то apcupsd там был из коробки и даже настраивался гуевыми мандривовскими приложениями — без копания интернетов и правки конфигов.
  • 0
    Недавно как раз занимался настройкой apcupsd. Но так как физически UPS подключен только к одному компу возник вопрос об останове всех подключенных к UPS устройств. Кроме как редактирования apccontrol с вставкой своего скрипта до killpower ничего в голову не пришло. Может кто сталкивался с подобным? И как осуществить удаленный shutdown кроме как через ssh?

Только зарегистрированные пользователи могут оставлять комментарии. Войдите, пожалуйста.