Установка HPE System Management Tools на сервер HP ProLiant DL380 G5 с ОС Debian GNU/Linux 9.3 'Stretch'

В этой заметке мы рассмотрим пример того, как установить утилиты управления HPE System Management Tools на сервер HP ProLiant DL380 G5 с установленной ОС Debian GNU/Linux 9.3 'Stretch'. В целом процесс схож с рассмотренным ранее примером для CentOS Linux 7, но имеет свои особенности.

Подключаем репозиторий HPE MCP (Management Component Pack)

Страница базовой информации о Linux-репозиториях для распространения программного обеспечения HPE расположена здесь: Software Delivery Repository - Getting Started.
Там же есть ссылка на sh-скрипт, который способен автоматически добавить в нашу серверную систему на базе Linux информацию о репозиториях HPE.

Создаём в профиле текущего пользователя временный каталог, скачиваем в него скрипт add_repo.sh и делаем его исполняемым:

# mkdir ~/HPE
# wget http://downloads.linux.hpe.com/SDR/add_repo.sh -P ~/HPE
# chmod +x ~/HPE/add_repo.sh

Запускаем скрипт в "холостом" режиме с указанием имени интересующего нас репозитория HPE MCP (Management Component Pack) ("mcp") и опцией -n (опция покажет планируемые изменения в системе, без их фактического применения)

# ~/HPE/add_repo.sh "mcp" -n

Как видим, в рабочем режиме работы скрипт создаст файл /etc/apt/sources.list.d/HP-mcp.list и добавит в него информацию о соответствующем репозитории для нашей версии Debian Linux:

# HP Software Delivery Repository for mcp
deb http://downloads.linux.hpe.com/SDR/repo/mcp stretch/current non-free

Выполняем скрипт в рабочем режиме (убираем опцию -n)

# ~/HPE/add_repo.sh "mcp"

В таком режиме работы скрипт предложит нам прочитать и принять лицензионное соглашение HP EULA

Проверяем созданный файл /etc/apt/sources.list.d/HP-mcp.list

Чтобы в дальнейшем с установкой пакетов не было проблем по причине того, что локальный менеджер пакетов не доверяет ключам, которыми подписаны пакеты из репозиториев HPE,
добавим эти ключи в систему, воспользовавшись рекомендацией из
Package Signature Verification:

# wget -O- http://downloads.linux.hpe.com/SDR/hpPublicKey1024.pub | apt-key add -
# wget -O- http://downloads.linux.hpe.com/SDR/hpPublicKey2048.pub | apt-key add -
# wget -O- http://downloads.linux.hpe.com/SDR/hpPublicKey2048_key1.pub | apt-key add -
# wget -O- http://downloads.linux.hpe.com/SDR/hpePublicKey2048_key1.pub | apt-key add -

Просмотреть ключи, которые были добавлены с сайта HPE в наш менеджер пакетов можно так:

# apt-key list

Теперь можно приступить к установке пакетов из подключенного репозитория.

 

Устанавливаем пакеты HPE

Выполним обновление кеша менеджера пакетов

# apt-get update

Посмотрим то, какие пакеты нам доступны из подключенного репозитория HPE

# cat /var/lib/apt/lists/downloads.linux.hpe.com_*_Packages | grep -E "Package:|Description:"

Обратите внимание на то, что диагностический пакет hpdiags, присутствующий в репозитории для RHEL/CentOS в репозитории для Debian отсутствует, а современная версия утилиты Smart Storage Administration Utility имеет имя пакета не hpssa, а ssa

Выполняем установку интересующих нас пакетов:

# apt-get install -y ssa ssacli ssaducli hponcfg hp-smh-templates hpsmh hp-health hp-snmp-agents

Среди зависимостей будет установлен пакет snmpd, который запустит на нашем сервере службу snmpd.service, отвечающую на запросы по протоколу SNMP.

 

Настраиваем службу SNMP

После окончания установки запускаем утилиту, которая сконфигурирует службу snmpd для работы с веб-приложением HP System Management Homepage.

# /sbin/hpsnmpconfig

На первый вопрос о том, хотим ли мы использовать имеющийся конфигурационный файл snmpd.conf, отвечаем отрицательно (n), чтобы утилита сама наполнила этот файл нужным содержимым.

После этого утилита задаст ряд вопросов, касающихся настройки службы snmpd, на которые нам нужно будет ввести соответствующие данные. В частности, можно задать строку подключения SNMP для RW/RO доступа и т.п., хотя обязательным является только ввод строки для RW доступа, а остальные значения можно оставить ненастроенными и предлагаемыми по умолчанию, в том случае если служба snmpd.service будет использоваться только для нужд HPE System Management Homepage и работать только на кольцевом интерфейсе (Loopback) с адресом 127.0.0.1.

По окончанию опроса введённые данные будут записаны в конфигурационный файл /etc/snmp/snmpd.conf и служба snmpd.service будет запущена с этими параметрами.
Если мы заглянем в файл snmpd.conf, то увидим внесённые туда изменения в  начале файла:

Все остальные включённые по умолчанию параметры файла snmpd.conf, которые расположены ниже секции вписанной утилитой hpsnmpconfig, насколько я понимаю, можно закомментировать.
В качестве исключения я оставил лишь строку описывающую UDP-прослушиватель (работаем и отвечаем на SNMP-запросы только на кольцевом интерфейсе) и в конце файла добавил параметр, отключающий логирование (чтобы не засорять syslog).

...
agentAddress  udp:127.0.0.1:161
...
dontLogTCPWrappersConnects yes

После внесения изменений в snmpd.conf перезапустим службу snmpd

# systemctl restart snmpd

Для того, чтобы проверить то, что на кольцевом интерфейсе snmpd успешно отвечает на запросы поставим в систему пакет с утилитами для работы с SNMP и выполним пару таких проверок:

# apt-get install snmp
# snmpwalk -v1 127.0.0.1 -c public
# snmpget -v1 127.0.0.1 -c public 1.3.6.1.2.1.1.1.0

Дополнительно проверим, включён ли автоматический запуск службы snmpd при запуске системы:

# systemctl status snmpd

Если по какой-то причине автоматический запуск не включён, включаем:

# systemctl enable snmpd

 

Запускаем утилиты управления HPЕ и проверяем их работу

Теперь запускаем службы HPE и убеждаемся в том, что при их запуске нет никаких ошибок

# systemctl start hp-health
# ssa -start
# systemctl restart hpsmhd

Обратите внимание на то, что в целях безопасности утилита HPE Smart Storage Administrator (SSA) (/usr/sbin/ssa) по умолчанию не запущена, так как она не носит характер инструмента постоянного использования, и поэтому, в случае необходимости доступа к SSA через веб интерфейс SMH, запускать это приложение нужно отдельно c последующим перезапуском службы hpsmhd.service.

Соответственно, после того как утилита SSA уже не нужна, можно выполнить остановку её запущенного экземпляра командой:

# ssa -stop

 

Далее включим автоматический запуск служб при загрузке системы:

# systemctl enable hp-health
# systemctl enable hpsmhd

 

Следующим шагом нам нужно настроить брандмауэр для того, чтобы работал удалённый доступ по сети к веб-странице HPE System Management Homepage (для этого по умолчанию используется HTTPS на порту TCP 2381). Например, добавим в правила iptables новое правило, разрешающее подключение к веб-интерфейсу SMH из подсети администраторов (в нашем примере это сеть 10.1.1.0/24):

# iptables -A INPUT -s 10.1.1.0/24 -p tcp -m tcp --dport 2381 -m comment --comment "Allow access to HPE System Management Homepage" -j ACCEPT


Теперь пробуем удалённо подключиться к веб-странице SMH через веб-браузер по адресу:

https://ServerFQDN:2381/


Для входа на SMH используем данные учёной записи с правами администратора сервера. Обратите внимание на то, что для успешной авторизации пользователь должен входить в группу root. Это подтверждается практическими экспериментами и старым документом HP System Management Homepage Software - Cannot Login as Root on Linux Server.

# groups user1
# usermod -a -G root user1
# groups user1

После успешной авторизации мы получим доступ к информации о текущем состоянии нашего сервера:

Однако здесь мы можем обратить внимание на то, что количество информационных модулей о состоянии аппаратных узлов сервера может быть ощутимо меньшим, чем например, в рассмотренном ранее примере с CentOS Linux 7. C чем это связано, мне выяснить не удалось, однако могу сказать, что для получения дополнительной информации по тем компонентам сервера, которые недоступны в веб-консоли SMH, мы можем воспользоваться утилитами командной строки, которые мы рассмотрим далее.

Если веб-приложение HPE Smart Storage Administrator (ssa) нами ранее было запущено, то в разделе Storage нам будет доступно управление дисковой подсистемой сервера, основанной на RAID контроллерах HP Smart Array

На этом польза от веб-консоли HPE SMH в Debian, пожалуй, и заканчивается.

Если возникнет желание разбираться с кастомизацией SMH, то основной конфигурационный файл можно найти здесь: /opt/hp/hpsmh/conf/smhpd.conf. Возможно будет полезна информация из логов, которые генерирует SMH. Логи access_log и error_log можно обнаружить в каталоге /var/spool/opt/hp/hpsmh/logs

Далее мы кратко рассмотрим возможности некоторых утилит командой строки, поставляемых в составе установленных нами ранее пакетов из репозитория HPE MCP.

 

Утилита командной строки hpasmcli

Утилита HPE management CLI for Linux (hpasmcli) позволяет нам из Linux-системы управлять некоторыми параметрами сервера, обычно задаваемыми через BIOS, а также получать разнообразную информацию, пригодную для целей инвентаризации и мониторинга состояния аппаратных компонент сервера. Утилита имеет иерархический набор встроенных команд, узнать о которых можно командами HELP, HELP SHOW, HELP SET и т.п.

Утилита умеет принимать в качестве входного параметра через опцию -s разнообразные встроенные команды (без входа в интерактивный режим работы с утилитой). Например, чтобы получить общую информацию о сервере, можно вызвать утилиту следующим образом:

# hpasmcli -s "SHOW SERVER"

Другой пример – давайте получим информацию о состоянии модулей памяти. Воспользуемся при этом фильтрацией вывода, чтобы отбросить лишнюю информацию:

# hpasmcli -s "SHOW DIMM" | grep -E "Module|Size|Status"

Внутренние команды можно комбинировать. Например, давайте получим информацию сразу о показании температурных датчиков и состоянии вентиляторов:

# hpasmcli -s "SHOW TEMP; SHOW FAN"

Аналогичным образом можно получать информацию о состоянии практически всех основных узлов сервера, и даже читать встроенный аппаратный лог IML:

# hpasmcli -s "SHOW IML" | more

 

Утилита командной строки hplog

Утилита hplog, предназначенная в основном для работы с встроенным аппаратным логом IML, также имеет ряд опций, позволяющих использовать её в качестве средства получения информации о текущем состоянии аппаратных узлов сервера.

Вот пример некоторых команд, которые мы можем использовать для получения информации о текущем состоянии температурных датчиков, вентиляторов и блоков питания:

# hplog -t
# hplog -f
# hplog -p

 

Утилита командной строки hponcfg

В некоторых ситуациях может пригодится ещё одна утилита - HP Lights-Out Online Configuration utility (hponcfg). Она может дать нам информацию о текущей версии firmware контроллера iLO, позволяет управлять всеми настройками iLO через специально подготовленные файлы (простейший пример рассматривался ранее) и даже даёт нам возможность сброса всех настроек iLO до состояния "factory defaults" (такое иногда тоже бывает нужно):

 

Утилита командной строки ssacli

Помимо того, что в веб-консоли SMH нам доступно выше упомянутое веб-приложение Smart Storage Administrator (ssa), в доступном нам инструментарии имеется мощная утилита командной строки Smart Storage Administrator CLI (ssacli). Эта утилита позволяет выполнять все действия по управлению RAID-контроллерами HP Smart Array. Утилита имеет иерархический набор встроенных команд, узнать о которых можно из встроенной справки командами help, help create, help delete и т.п.

С точки зрения инвентаризации и мониторинга состояния дисковой подсистемы сервера, может быть полезен набор команд show, узнать о возможностях которого можно соответствующей командой help show.

С утилитой ssacli можно работать как в интерактивном режиме, так и путём разовых вызовов с передачей в качестве параметров набора внутренних команд. Например, чтобы, не входя в интерактивный режим работы с утилитой, получить информацию об установленных в сервере контроллерах Smart Array, а также их текущем состоянии, можно выполнить команды вида:

# ssacli ctrl all show
# ssacli ctrl all show status

Другой пример – давайте получим информацию о состоянии всех аппаратных компонент, связанных с контроллером Smart Array расположенном с слоте "1" (из предыдущего скриншота). Воспользуемся при этом фильтрацией вывода, чтобы отбросить пустые строки:

# ssacli ctrl slot=1 show config | grep -v -e '^$'

Как видим, здесь нам доступна информация о текущем состоянии портов контроллера Smart Array, подключенных к нему дисковых корзин, физических дисков, RAID-массивов и их логических дисков. Чтобы получить максимально развёрнутую информацию об аппаратных компонентах, можно воспользоваться командой типа:

# ssacli ctrl slot=1 show config detail

Конфигурационные возможности этой утилиты оставим "за кадром", так как описание этой функциональности - тема для отдельного разговора. К тому же встроенная в утилиту справка в большинстве случаев даёт достаточный минимум информации для того, чтобы разобраться с работой этой утилиты самостоятельно.

В том случае, если в сервер установлены устаревшие модели контроллеров HP Smart Array, утилиты ssa и ssacli нам могут не помочь, так как в них реализована поддержка далеко не всей линейки Smart Array, и старые контроллеры не будут определяться этими утилитами. О том, как быть в такой ситуации, мы поговорим в следующей заметке об использовании старых версий утилит HP Array Config Utility (cpqacuxe) и HP Array Configuration Utility CLI (hpacucli) в Debian GNU/Linux 9 'Stretch'.

Добавить комментарий