Вики IT-KB

Пошаговые руководства, шпаргалки, полезные ссылки...

Инструменты пользователя

Инструменты сайта


unix-linux:centos:how-to-install-java-jre-and-ups-agent-apc-powerchute-network-shutdown-on-centos-linux-7-4

Установка агента ИБП APC для автоматического выключения ОС CentOS Linux 7.4 - APC PowerChute Network Shutdown

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


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

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

# yum install java-1.8.0-openjdk

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

# java -version

openjdk version "1.8.0_161" OpenJDK Runtime Environment (build 1.8.0_161-b14) OpenJDK 64-Bit Server VM (build 25.161-b14, mixed mode)

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

# update-alternatives --display java
java - status is auto. link currently points to /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.161-0.b14.el7_4.x86_64/jre/bin/java /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.161-0.b14.el7_4.x86_64/jre/bin/java - family java-1.8.0-openjdk.x86_64 priority 1800161 slave jre: /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.161-0.b14.el7_4.x86_64/jre ... Current `best' version is /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.161-0.b14.el7_4.x86_64/jre/bin/java.

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


Устанавливаем 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 /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.161-0.b14.el7_4.x86_64/jre/bin:

Далее будет задан вопрос о необходимости настройки службы 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 *:3052 *:* users:(("java",pid=28789,fd=49)) tcp LISTEN 0 50 *:6547 *:* users:(("java",pid=28789,fd=52)) udp UNCONN 0 0 *:3052 *:* users:(("java",pid=28789,fd=48)) udp UNCONN 0 0 *:49918 *:* users:(("java",pid=28789,fd=47))

Теперь нам нужно обеспечить наличие нескольких правил брандмауэра, разрешающих подключения к портам TCP/UDP 3052 и TCP 6547.

В процессе выполнения скрипта установки PCNS соответствующие разрешающие правила попадают в /etc/sysconfig/iptables и /etc/sysconfig/ip6tables:

iptables (фрагмент)
...
-A INPUT -p tcp -m tcp --dport 6547 -j ACCEPT
-A INPUT -p udp -m udp --dport 3052 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 3052 -j ACCEPT
-A OUTPUT -p udp -m udp --sport 3052 -j ACCEPT
-A OUTPUT -p tcp -m tcp --sport 3052 -j ACCEPT
...

Если IPv6 не используется, соответсвующие правила из /etc/sysconfig/ip6tables можно удалить. А правила /etc/sysconfig/iptables в большинстве случае лучше настроить более узким образом, например так:

# 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.

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

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

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

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

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


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

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

# /opt/APC/PowerChute/uninstall

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


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

Версия ОС
CentOS Linux release 7.4.1708 (Core)

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

Обсуждение

Ваш комментарий:
 
unix-linux/centos/how-to-install-java-jre-and-ups-agent-apc-powerchute-network-shutdown-on-centos-linux-7-4.txt · Последнее изменение: 16.04.2018 11:14 — Алексей Максимов

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki