Настройка IPMI с помощью ipmitool на CentOS 7


IPMI(англ. Intelligent Platform Management Interface) — интеллектуальный интерфейс управления платформой, предназначенный для автономного мониторинга и управления функциями, встроенными непосредственно в аппаратное и микропрограммное обеспечения серверных платформ.
Обращу Ваше внимание что не на всех серверах есть этот интерфейс, уточняйте наличие ipmi у Вашего сервер провайдера. Если же сервер Ваш, ознакомьтесь с документацией или найдите в интернете его спецификацию.

Одно из преимуществ IPMI — видео сигнал, клавиатура, мышь(KVM). Например, после обновления сервера он более не возвращается в рабочее состояние и нам необходимо определить причину происходящего. Благодаря KVM опции — мы можем увидеть весь процесс загрузки сервера.

Я не стану подробно описывать все плюсы и минусы IPMI, наша с Вами задача — настроить его! В данном руководстве я Вам расскажу как можно легко настроить Ваш IPMI интерфейс через терминал самого сервера. Я использую CentOS 7.

Приступим


1. Установка и настройка необходимых инструментов

[[email protected] ~]# yum -y install OpenIPMI OpenIPMI-tools
[[email protected] ~]# chkconfig ipmi on
[[email protected] ~]# service ipmi start

Проверяем:

[[email protected] ~]# ls /dev/ | grep ipmi
/dev/ipmi0
[[email protected] ~]#

2. Настройка доступа к IPMI по сети

Для удаленного доступа к интерфейсу — нам необходимо подключить сетевой кабель и настроить IP адрес. Я же буду считать что кабель у Вас(как и у меня) уже подключен.

[[email protected] ~]# ipmitool lan set 1 ipsrc static

Сразу скажу что есть 2 варианта [ static / dhcp ]. Так мы укажем интерфейсу откуда брать IP. Я настоятельно рекомендую использовать статический IP.

[[email protected] ~]# ipmitool lan set 1 ipaddr 192.168.1.150 # IP
[[email protected] ~]# ipmitool lan set 1 netmask 255.255.255.0 # Маска подсети
[[email protected] ~]# ipmitool lan set 1 defgw ipaddr 192.168.1.1 # Адрес основного шлюза
[[email protected] ~]# ipmitool lan set 1 access on # Разрешаем доступ из сети

Проверяем настройки так:

[[email protected] ~]# ipmitool lan print 1

3. Настройка пользователя IPMI

Рассмотрим настройку акаунта admin и user для IPMI.
Я всегда стараюсь разграничить права доступа куда либо, IPMI не станет исключением.
Причина очень проста, как пример: Генеральному директору не нужен акаунт с возможностью выключить/включить/перезагрузить сервер. Зато ему может быть нужен акаунт типа «Read Only».
Что мы сейчас и настроим. Сразу добавлю что, у IPMI нету понятия создать/удалить учётку, в принципе и самого понятия учётки тоже нет, есть лишь так называемые «Юзер Слоты»(User Slots).
В стандартных IPMI этих слотов - 9(1-9). admin(root) учётка по стандарту идет под номером 2.

[[email protected] ~]# ipmitool user set name 2 admin # изначально слот наз-ся root
[[email protected] ~]# ipmitool user set password 2 # установим пароль для admin
Password for user 2: 
[[email protected] ~]# ipmitool channel setaccess 1 2 link=on callin=on ipmi=on privilege=4 # данные опции я опишу ниже
[[email protected] ~]# ipmitool user enable 2 # включаем "слот"

Настроим теперь простого пользователя — user

[[email protected] ~]# ipmitool user set name 3 user
[[email protected] ~]# ipmitool user set password 3
Password for user 3: 
[[email protected] ~]# ipmitool channel setaccess 1 3 link=on callin=on ipmi=on privilege=2
[[email protected] ~]# ipmitool user enable 3

Готово! Можем смело подключаться и проверять. Вот список уровней привилегий с описанием:

1 — Эхо — низший уровень привелегий который разрешает лишь подключаться к IPMI
2 — User level — простой уровень привилегий который разрешает просматривать показания датчиков
3 — Operator level — средний уровень привелегий, разрешает всё кроме изменения настроек пользователей и самого IPMI.
4 — Administrator level — высший уровень привилегий, разрешает доступ ко всем функциям ipmi
5 — OEM Proprietary level — резервный уровень привилегий для различных целей изготовителя мат. платы
15 — No access — отключенный слот

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

# Утилиты
ipmitool mc info - информация о Вашем IPMI
ipmitool mc reset [ warm | cold ] - перезагрузка IPMI(не влияет на работу сервера)

# Работа с сенсорами
ipmitool sdr list - список сенсоров
ipmitool sdr type list - список по типу
ipmitool sdr type Temperature - вывод текущей температуры cpu,case,etc.
ipmitool sdr type Fan - вывод текущей скорости кулеров
ipmitool sdr type 'Power Supply' - вывод текущего состояние блока питания

# Работа с самим сервером
ipmitool chassis status - статус сервера
ipmitool chassis identify - весьма полезная функция, мигает лампочками передней панели если Вы не можете найти свой сервер(например не знаете какой это сервер в стойке)
ipmitool chassis power soft - отключить сервер через ACPI(аналог poweroff)
ipmitool chassis power cycle - быстрая перезагрузка сервера с отключение питания
ipmitool chassis power off - полное отключение питания
ipmitool chassis power on - включение питания
ipmitool chassis power reset - "холодная" перезагрузка, то же самое что и кнопка "reset" на Вашем ПК

# Работа с порядком устройств загрузки(boot devices)
ipmitool chassis bootdev pxe - установить загрузку с PXE
ipmitool chassis bootdev cdrom - установить загрузку с PXE
ipmitool chassis bootdev bios - зайти в BIOS при загрузке

# Логирование
ipmitool sel info - информация о логах
ipmitool sel list - просмотр лога
ipmitool sel clear - очистка лога

Наверх