Powerchute network shutdown настройка linux

Smart Ups и несколько серверов

Обеспечиваем автоматическое выключение нескольких серверов, запитанных от одного ИБП APC Smart UPS, в случае разряда аккумуляторов (Low Battery) и автоматическое же включение при восстановлении питания.

APC AP9630 – UPS Network management Card 2

Для этого используем 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 FirewallInbound 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), при которых должно начаться завершение этого сервера.

Читайте также:  My first program in linux

Дальше необходимо повторить установку и настройку 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.

Источник

Вики IT-KB

Установка агента ИБП APC для автоматического выключения ОС Debian GNU/Linux 9 (Stretch) — APC PowerChute Network Shutdown

В случае если физические серверы на базе Debian GNU/Linux 9 «Stretch» подключены к ИБП APC, и эти ИБП имеют контроллеры управления APC Network Management Card (NMC), мы можем настроить автоматическое штатное выключение ОС Linux в случае проблем с электропитанием. Для этого на стороне Linux-сервера нам потребуется установить и настроить специального программного агента, управляемого о стороны ИБП — APC PowerChute Network Shutdown (PCNS). Здесь приведён пример установки последней актуальной версии агента APC PCNS 4.2 for Linux на сервер Debian Linux 9.3.

Устанавливаем поддержку Java

Программный пакет PCNS для своей работы требует предустановленной среды Java Runtime Environment (JRE). Хотя устанавливать его предварительно и не обязательно, так как JRE имеется в составе основного дистрибутива PCNS, однако стоит учесть то обстоятельство, что поставляемая в составе PCNS версия JRE не будет в дальнейшем автоматически обновляться в системе (например на неё не будут накладываться исправления безопасности), что само по себе не всегда допустимо. Поэтому мы установим сводобный аналог JRE — OpenJDK Runtime Environment из официальных репозиториев Debian. Это позволит нам в дальнейшем получать обновления безопасности для данного ПО из репозиториев Debian.

# apt-get update # apt-get install default-jre

Посмотрим текущую установленную версию Java:

# java -version
openjdk version "1.8.0_162" OpenJDK Runtime Environment (build 1.8.0_162-8u162-b12-1~deb9u1-b12) OpenJDK 64-Bit Server VM (build 25.162-b12, mixed mode)

Посмотрим какой путь к исполняемым файлам Java используется в системе на данный момент:

# update-alternatives --display java
java - auto mode link best version is /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java link currently points to /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java link java is /usr/bin/java slave java.1.gz is /usr/share/man/man1/java.1.gz /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java - priority 1081 slave java.1.gz: /usr/lib/jvm/java-8-openjdk-amd64/jre/man/man1/java.1.gz

Как видим, фактический путь к исполняемым файлам java: /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java . Запомним этот путь, так как он потребуется нам в дальнейшем при установке PCNS.

Читайте также:  Linux ubuntu ctrl alt del

Устанавливаем APC PowerChute Network Shutdown

Загружаем пакет pcns420Linux-x86-64.tar.tar с официального сайта APC и распаковываем во временный каталог. В распакованном каталоге ../Linux_x64 запускаем скрипт установки install.sh :

# mkdir ~/APC # cd ~/APC # mv pcns420Linux-x86-64.tar.tar pcns420Linux-x86-64.tar.gz # gunzip pcns420Linux-x86-64.tar.gz # tar -xf pcns420Linux-x86-64.tar # cd ~/APC/Linux_x64/ # ./install.sh

На первый запрос скрипта установки жмём любую клавишу, например Enter, чтобы ознакомиться с лицензионным соглашением:

Просмотрев лицензионное соглашение набираем yes, чтобы принять его положения:

Соглашаемся с установкой в каталог по умолчанию /opt/APC/PowerChute

Далее скрипт установки предложит нам либо согласиться с использованием версии Java, поставляемой в составе PowerChute, либо указать путь ранее предустановленной версии. Вводим ранее полученный путь к исполняемым файлам Java:

Далее будет задан вопрос о необходимости настройки службы SNMP. В нашем случае это не требуется, поэтому мы отказываемся от данного пункта:

В завершении скрипт установки скопирует исполняемые файлы PCNS в каталог /opt/APC/PowerChute и мы получим сообщение о том, что дальнейшую настройку установленного агента PCNS можно провести через веб-интерфейс, доступный по адресу https://ServerName:6547

В процессе установки скрипт инициализации, который используется для автоматического запуска службы PowerChute в процессе запуска системы, будет скопирован в /etc/init.d/PowerChute .

Убедимся в том, что в нашей Linux-системы появились TCP-прослушиватели, созданные процессом java:

# ss -lnptu | sort | grep java
tcp LISTEN 0 50 0.0.0.0:3052 0.0.0.0:* users:(("java",pid=14780,fd=57)) tcp LISTEN 0 50 0.0.0.0:6547 0.0.0.0:* users:(("java",pid=14780,fd=59)) udp UNCONN 0 0 0.0.0.0:3052 0.0.0.0:* users:(("java",pid=14780,fd=56)) udp UNCONN 0 0 0.0.0.0:60316 0.0.0.0:* users:(("java",pid=14780,fd=55))

Добавим правила Iptables, разрешающие подключения к портам TCP/UDP 3052 и TCP 6547

# iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT # iptables -A INPUT -s 10.1.2.0/24 -i eth0 -p udp \ -m state --state NEW -m udp --dport 3052 -m comment \ --comment "Allow access to APC PowerChute Network Shutdown service from UPS NMC" -j ACCEPT # iptables -A INPUT -s 10.1.2.0/24 -i eth0 -p tcp \ -m state --state NEW -m tcp --dport 3052 -m comment \ --comment "Allow access to APC PowerChute Network Shutdown service from UPS NMC" -j ACCEPT # iptables -A INPUT -s 10.1.2.0/24 -i eth0 -p tcp \ -m state --state NEW -m tcp --dport 6547 -m comment \ --comment "Allow access to APC PowerChute Network Shutdown Web UI over HTTPS" -j ACCEPT

Теперь попробуем перейти к веб-странице управления агентом PCNS, которая должна быть доступна по адресу https://ServerName:6547 .

Читайте также:  Linux кто создает дистрибутивы

Мы должны увидеть приглашение мастера первоначальной настройки PCNS:

Пройдём шаги мастера по подключению PCNS к контроллерам управления NMC от источников бесперебойного питания, к которым подключен наш Linux-сервер:

Обратите внимание на то, что если ранее не были открыты порты TCP/UDP 3052, то попытки подключения контроллеров NMC к агенту PCNS будут завершаться ошибками.

По завершению процедуры первичного подключения к контроллерам управления ИБП мы получим доступ к основному веб-интерфейсу ПО PowerChute Network Shutdown, где сможем произвести дополнительные настройки реагирования на события связанные с изменением режима электропитания:

Перезагрузим сервер, чтобы убедиться в том, что автоматический запуск службы PowerChute успешно работает после запуска ОС. Ранее упомянутый init-скрипт /etc/init.d/PowerChute должен быть подхвачен службой systemd и преобразован в юнит с именем PowerChute:

Удаление APC PowerChute Network Shutdown

В случае возникновения необходимости удаления APC PowerChute Network Shutdown из Linux-системы, можно воспользоваться вызовом скрипта:

# /opt/APC/PowerChute/uninstall

Дополнительные источники информации:

Проверено на следующих конфигурациях:

Автор первичной редакции:
Алексей Максимов
Время публикации: 16.04.2018 08:44

Обсуждение

unix-linux/debian/stretch/how-to-install-java-jre-and-ups-agent-apc-powerchute-network-shutdown-on-debian-linux-9-3-stretch.txt · Последнее изменение: 16.04.2018 11:13 — Алексей Максимов

Источник

Заметки сетевого администратора

В данной статье я расскажу вам, как установить APC PowerChute Network Shutdown(PCNS) на сервер с Ubuntu Server 14.04 x64.

Версия APC PCNS: 3.1.0
ОС: Ubuntu Server 14.04.1 x64

Скачиваем дистрибутив PCNS с помощью wget.

wget --ftp-user=restrict --ftp-password='Kop$74!' ftp://ftp.apc.com/restricted/software/pcns/310/linux_x86_64/pcns310Linux-x86-64.tar.gz

Если по какой то причине прямая ссылка на файл не работает, то перейдите в браузере по данной ссылке, скачайте и загрузите с помощью WinSCP на сервер.
Распаковываем PCNS.

gunzip pcns310Linux-x86-64.tar.gz mkdir /opt/pcns tar -xvf pcns310Linux-x86-64.tar -C /opt/pcns/
sudo apt-get install openjdk-7-jre-headless
sed -i 's/\/etc\/SuSE-release/\/etc\/issue/g' install.sh

Installation directory оставляем по умолчанию. Набираем Yes и нажимаем .

/usr/lib/jvm/java-7-openjdk-amd64/jre/bin/

По желанию оставляем и или снимаем галочку Automatically check for PowerChute update notifications. Нажимаем .

Далее настроим автоматическое выключение сервера при отсутствии подачи электричества на UPS. Выбираем слева Configure Events.

Источник

Оцените статью
Adblock
detector