Обеспечиваем автоматическое выключение нескольких серверов, запитанных от одного ИБП APC Smart UPS, в случае разряда аккумуляторов (Low Battery) и автоматическое же включение при восстановлении питания.
Для этого используем UPS Network Management Card AP9630 — это плата для ИБП:
и PowerChute® Network Shutdown — клиентское ПО, устанавливаемое на каждом сервере, есть версии для Windows, Linux и т.д., всё доступно на сайте APC в разделе Download или здесь.
Устанавливаем плату в источник питания
Перед установкой сохраняем наклеенный на пакет Test Report (на нём написан MAC address) или списываем MAC address с наклейки на плате.
Чтобы ничего не сжечь, лучше следовать инструкции и полностью обесточить источник перед установкой: выключить его кнопкой, отключить от сети ~220В, затем открыть крышку и отсоединить блок аккумуляторных батарей.
Устанавливаем плату AP9630, включаем ИБП в обратном порядке (аккумуляторы, сеть, кнопка питания). Подключаем плату к коммутатору.
При наличии DHCP плата получает IP адрес автоматически, по статье Определить IP адрес по MAC адресу определяем выданный IP адрес. Если не получилось, придётся настраивать через консоль и приложенный кабель.
Заходим на плату через веб интерфейс (по умолчанию имя/пароль для Smart UPS – apc/apc).
Устанавливаем серверное ПО
На сервера ставим PowerChute Network Shutdown, в соответствии с версией операционной системы (любые другие редакции PowerChute необходимо удалить).
Настройка PowerChute Network Shutdown делается через веб интерфейс, порт 6547 через https или порт 3052 через http, соответственно, подключаемся через:
https://servername:6547 (включен по умолчанию)
http://servername:3052
Если не удаётся подключиться по сети, заходим на сервере в Windows Firewall → Inbound Rules и включаем (Enable Rule) правила:
PCNS Group 1 HTTP Web Interface Port (TCP 3052),
PCNS Group 1 HTTPS Web Interface Port (TCP 6547).
В Configuration Wizard добавляем ИБП. Помимо имени и пароля, потребуется задать ещё Authentication Phrase, такое же значение, как на ИБП. По умолчанию это «admin user phrase» и для ИБП настраивается в Configuration / Shutdown.
Настройка PowerChute Network Shutdown
В настройках PowerChute Network Shutdown необходимо выбрать режим Do not turn off UPS (чтобы завершение одного этого сервера не приводило к отключению ИБП и всех остальных серверов, страница Configure Shutdown) и выбрать события ИБП (страница Configure Events), при которых должно начаться завершение этого сервера.
Дальше необходимо повторить установку и настройку PowerChute Network Shutdown для каждого сервера.
Собственно, для автоматического завершения серверов этого будет достаточно – сервера уже защищены.
Но хотелось бы получить ещё и автоматическое включение серверов после восстановления питания. Т.к. если этого не сделать, то сервера придётся включить или кнопкой, или через Wake On LAN – например, программой WolCmd.exe.
Для автоматического включения потребуется настроить включение серверов по подаче питания (делается в BIOS),тогда, когда ИБП включится после восстановления питания, сервера включатся сами. На самом деле, для серверов режим старта по подаче питания чаще всего включен.
Здесь возможна ещё такая неприятность: если сеть восстановится в тот момент, когда сервера уже выключились, а ИБП ещё нет, то ИБП сразу перейдёт на зарядку и выключаться не станет, соответственно, сервера сами не включатся.
Чтобы этого не произошло, в настройках Network Management Card необходимо включить режим: Shutdown UPS (after shutdown delay) when on battery and UPS percent load is less than 5% (страница Configuration / Shutdown / Controlled Early Shutdown).
Что это даёт: это параметр заставляет ИБП выключиться сразу после того, как остановятся все сервера, даже если сеть восстановится. Затем ИБП включится, включатся и все сервера, у кого в BIOS разрешён запуск по подаче питания.
То есть и выключение, и включение серверов произойдёт полностью автоматически!
Важно! Автоматическое включение сразу всех серверов приводит к тому, что на ИБП сразу подаётся вся нагрузка, а если батареи не заряжены до определённого уровня, у него может наступить событие Battery Dicharged, и он начнёт выключать сервера!
Поэтому необходимо задать правильный порог End of Shutdown / Minimum Battery Capacity, чтобы батареи сначала зарядились до уровня, обеспечивающего работу всех серверов в течение времени Low Battery time.