Не так давно, мне удалось поработать с новыми для меня серверами Supermicro удаленное управление которыми осуществляется с помощью интерфейса IPMI. В данной статье я постараюсь раскрыть основные моменты в настройки IPMI на серверах Supermciro, покажу основные пункты меню интерфейса IPMI, а также расскажу о дополнительных утилитах, командах и способах мониторинга сервера с помощью ipmi.
IPMI (Intelligent Platform Management Interface) — интеллектуальный интерфейс управления платформой, предназначенный для автономного мониторинга и управления функциями, встроенными непосредственно в аппаратное и микропрограммное обеспечения серверных платформ. (информация взята с официального источника). IPMI реализуется в виде отдельного контроллера сервера, который не зависит от операционной системы, BIOS, CPU севера и позволяет удаленно управлять физическим оборудованием.
Первичная настройка IPMI консоли и знакомство с интерфейсом
Настройка IPMI начинается с настройки IP адреса интерфейса, который нужно указать в BIOS. Если сервер установлен в офисе, это может быть серый IP-адрес, если же ваше оборудование размещается в ДатаЦентре, то наверняка вы используете белый статический IP-адрес.
На серверах Supermicro в BIOS можно попасть, нажав кнопку “Del” при загрузке сервера, я не буду заострять на этом внимание и сразу перейду к интерфейсу самого BIOS.
Как видите на скриншоте, я вошел в пункт меню IPMI и активировал возможность конфигурации Lan для интерфейса (Update IPMI Lan Configuration=Yes, Configuration Address Source = Static), указал IP-адрес, маску подсети и основной шлюз.
Применить настройки можно нажав кнопку F4, после чего произойдет перезагрузка сервера.
Если вы все сделали правильно, то введя в браузере, указанный для интерфейса IPMI IP, у вас откроется авторизация:

Теперь пройдем по основным моментам.
При покупке нового сервера, в IPMI уже создан пользователь ADMIN с паролем ADMIN, именно с этими данными мы и авторизуемся. Я всегда рекомендую создавать нового пользователя, а стандартного удалять или менять у него пароль, так оставлять такой логин и пароль, крайне небезопасно. Создать нового пользователя или поменять пароли/привилегии у текущих, можно в меню Configuration -> Users.

Рестарт интерфейса IPMI можно сделать из меню Maintenance -> Unit Reset.
Монтирование iso образа ОС для установки на сервер выполняется в меню Virtual Media -> CD-ROM Image.

У меня iso образы ОС хранятся на сервере Samba в той же подсети что и интерфейсы IPMI серверов. Я указываю адрес сервера Samba, путь к образу установочному ISO с ОС, после чего монтирую ISO образ и приступаю к установке операционной системы.
Удаленную графическую Java консоль сервера (KVM-over-IP) можно открыть через Remote Control -> Console Redirection.
Консоль в целом удобная, но после установки ОС, для работы с сервером я обычно использую ssh клиенты. Иногда есть моменты когда, это невозможно, например если у вас не работает или еще не настроена сеть на сервере или же имеются какие-то проблемы с доступом. Именно тогда на помощь и приходит Remote Console.

Никаких отдельных настроек в самой консоли делать не нужно, хочу лишь добавить, что она имеет встроенную клавиатуру, которую можно вызывать из меню Virtual Media -> Virtual Keyboard.

Совет. После продолжительной работы с серверами SUpermicro, я обнаружил один неприятный баг. После установки операционной системы Centos 7 и установки KVM на нее, пропадает возможность использовать Remote Console. Пока сервер в процессе загрузки, консоль отвечает и можно пройти в Bios или увидеть загрузку ядра ОС. Но как только операционная система загрузилась, видео в консоли пропадает. Путем экспериментов мне удалось победить этот баг. Нужно в загрузки ядра добавить параметр загрузки nomodeset. Для этого после установки ОС нужно выполнить команду:
grubby —args «nomodeset» —update-kernel /boot/vmlinuz-`uname -r`
После этого, Remote Console работает исправно.
Управление сервером через утилиту IPMICFG от SuperMicro
Для управления серверами через IPMI компания SuperMicro разрабатывает собственную утилиту IPMICFG.
Скачать файл IPMICFG можно с помощью команды:
wget ftp://ftp.supermicro.com/utility/IPMICFG/IPMICFG_1.30.0_build.190710.zip
На момент публикации файл был с таким названием, я рекомендую заходить на репозиторий SuperMicro по ссылке ftp://ftp.supermicro.com/utility/IPMICFG/ и копировать url актуального файла.
Распакуем скачанный файл в директорию которой находимся:
unzip IPMI*.zip
Далее создаем символическую ссылку для удобства запуска утилиты:
ln -s /root/IPMI*/Linux/64bit/IPMICFG-Linux.x86_64 /usr/local/sbin/ipmicfg
Теперь мы можем запускать утилиту с помощью команды
ipmicfg
(символической ссылки). Рассмотрим базовые возможности утилиты ipmicfg.
Если выполнить команду
ipmicfg -help
мы получим список всех возможных параметров утилиты.

Разберем основные команды:
- ipmicfg -help
– полная справка по утилите; - ipmicfg -m
– просмотр текущего IP и mac-адреса для IPMI; - ipmicfg -k
— просмотр маски подсети; - ipmicfg -g
– просмотр заданного шлюза; - ipmicfg -fd
— сброс IPMI к заводским настройкам; - ipmicfg -user list
– просмотр созданных пользователей и их привилегий.
Вы можете изменить IP адрес, маску и шлюз интерфейса IPMI:
- ipmicfg -m 192.168.1.200
- ipmicfg -k 255.255.255.0
- ipmicfg -g 192.168.1.1
Создать нового пользователя IPMI и его пароль:
ipmicfg -user add <user id> <name> <password> <privilege>
С помощью утилиты делаем следующее:
ipmicfg -user add 6 test 123456 4
Тем самым мы создали пользователя test с паролем 123456 и привилегиями администратора.
Список пользователей IPMI и их привилегии в системе можно вывести командами:
- ipmicfg -user list
- ipmicfg -user help

Как уже видите на скриншоте, пользователь test создан.
Чтобы изменит (сбросить) пароль пользователя IPMI, исползайте команду:
ipmicfg -user setpwd
И приведу еще пару примеров использование данной утилиты:
- ipmicfg -hostname [value]
— задать hostname для ipmi интерфейса; - ipmicfg -r
— перезагрузка IPMI.
Мониторинг железа на сервере SuperMicro через IPMI и утилиту IPMICFG
Мониторинг сервера SuperMicro через IPMI
Через IPMI мониторить температуру и работу железа сервера SuperMicro довольно просто. Полная информация о железе сервера содержится в пункте System -> Hardware Information.

Информацию по состоянию процессора, оперативной памяти и вентиляторах, можно посмотреть перейдя во вкладку Server Health -> Sensor Readings.

Для удобства просмотра, можно менять категории отображения датчиков, например, температуры:

Или датчики напряжения:

Так как в данный момент на нашем сервере нет проблем, ни с температурой, ни с напряжением, все датчики находятся в зеленой зоне. Если на сервере поднимается температура или есть проблемы с напряжением, зеленые прямоугольники будут окрашиваться в красный цвет, что послужит сигналом для проверки вашего сервера.
Мониторинг с помощью утилиты ipmicfg
Проверка состояния блоков питания:
[root@ ~]# ipmicfg -pminfo
[SlaveAddress = 78h] [Module 1]
Item | Value
—- | ——
Status | [STATUS OK] (00h)
Input Voltage | 217.5 V
Input Current | 1.06 A
Main Output Voltage | 12.28 V
Main Output Current | 17.93 A
Temperature 1 | 23C/73F
Temperature 2 | 21C/70F
Fan 1 | 2064 RPM
Fan 2 | 2032 RPM
Main Output Power | 220 W
Input Power | 228 W
PMBus Revision | 0x22
PWS Serial Number | P2K4FCH02LT0125
PWS Module Number | PWS-2K04F-1R
PWS Revision | REV1.0
Current Sharing Control | PEC error
[SlaveAddress = 7Ah] [Module 2]
Item | Value
—- | ——
Status | [STATUS OK] (00h)
Input Voltage | 217.5 V
Input Current | 1.09 A
Main Output Voltage | 12.30 V
Main Output Current | 18.09 A
Temperature 1 | 24C/75F
Temperature 2 | 22C/72F
Fan 1 | 2064 RPM
Fan 2 | 2064 RPM
Main Output Power | 223 W
Input Power | 234 W
PMBus Revision | 0x22
PWS Serial Number | P2K4FCH02LT0126
PWS Module Number | PWS-2K04F-1R
PWS Revision | REV1.0
Current Sharing Control | PEC error

Посмотреть температуру процессора можно командой:
ipmicfg -nm oemgettemp

Так же можно проверить в каком режиме работают вентиляторы и изменить режим, если это необходимо.
Проверка состояния и конфигурации вентилятора
[root@~]# ipmicfg -fan
Current Fan Speed Mode is [ PUE2 Optimal Mode ]
Supported Fan modes:
0:Standard
1:Full
3:PUE2 Optimal
4:Heavy IO

Изменение режима работы кулера:
ipmicfg -fan <mode>
Например,
ipmicfg -fan 3
Информация о версии и прошивке IPMI:
[root@~]# ipmicfg -nm deviceid
Device ID = 50h
Firmware Version = 4.1.4.54
IPMI Version = 2.000000
Manufacturer ID = 57 01 00
Product ID Minor Ver = Greenlow platform
Implemented DCMI version = DCMI not implemented/enabled
Firmware implemented version = NM Revision 4.0
Image Flag = operational image 1
raw = 50 01 04 14 02 21 57 01 00 09 0b 04 05 40 01

И посмотреть все сенсоры можно командой
ipmicfg -sdr

При выводе мы видим, что есть дополнительные столбцы, в которых отображена информация о лимитах нижнего и верхнего пределов.
Так же существует еще не малое количество утилит, которые можно использовать для мониторинга и автоматизировать этот процесс, например, с nagios. В данный момент заострять на этом внимание мы не будем, так как цель статьи рассказать основные моменты в работе с IPMI. Если вас заинтересует тема мониторинга, вы можете оставить свои пожелания и возможно в дальнейшем мы осветим и эту тему. Надеюсь, данная статья окажется для вас полезной!
