Не так давно, мені вдалося попрацювати з новими для мене серверами Супермікро віддалене управління якими здійснюється за допомогою інтерфейсу IPMI. У даній статті я постараюся розкрити основні моменти в налаштування IPMI на серверах Supermciro, покажу основні пункти меню інтерфейсу IPMI, а також розповім про додаткові утиліти, командах і способах моніторингу сервера за допомогою ipmi.

IPMI (Intelligent Platform Management Interface) – інтелектуальний інтерфейс управління платформою, призначений для автономного моніторингу та управління функціями, вбудованими безпосередньо в апаратне і вбудоване програмне забезпечення серверних платформ. (Інформація взята з офіційного джерела). IPMI реалізується у вигляді окремого контролера сервера, який не залежить від операційної системи, BIOS, CPU півночі і дозволяє дистанційно керувати фізичним обладнанням.

Первинна настройка IPMI консолі і знайомство з інтерфейсом

Налаштування IPMI починається з настройки IP адреси інтерфейсу, який потрібно вказати в BIOS. Якщо сервер встановлено в офісі, це може бути сірий IP-адреса, якщо ж ваше обладнання розміщується в датацентрі, то напевно ви використовуєте білий статичний IP-адресу.

На серверах Supermicro в BIOS можна потрапити, натиснувши кнопку “З“При завантаженні сервера, я не буду загострювати на цьому увагу і відразу перейду до інтерфейсу самого BIOS.

настройка ip адреси ipmi на сервера supermicro

Як бачите на скріншоті, я увійшов в пункт меню IPMI і активував можливість конфігурації Lan для інтерфейсу (Update IPMI Lan Configuration = Yes, Configuration Address Source = Static), вказав IP-адреса, маску підмережі і основний шлюз.

Застосувати налаштування можна натиснувши кнопку F4, Після чого відбудеться перезавантаження сервера.

Якщо ви все зробили правильно, то ввівши в браузері, вказаний для інтерфейсу IPMI IP, у вас відкриється авторизація:

сторінка входу в систему supermicro ipmi

Тепер пройдемо по основних моментах.

При покупці нового сервера, в IPMI вже створений користувач АДМІНІСТРАТОР з паролем АДМІНІСТРАТОР, Саме з цими даними ми і авторізуемся. Я завжди рекомендую створювати нового користувача, а стандартного видаляти або змінювати у нього пароль, так залишати такий логін і пароль, вкрай небезпечно. Створити нового користувача або поміняти паролі / привілеї у поточних, можна в меню Конфігурація -> Користувачі.

список пользвоателей ipmu і привілеїв

Рестарт інтерфейсу IPMI можна зробити з меню Технічне обслуговування -> Скидання пристрою.

Монтування iso образу ОС для установки на сервер виконується в меню Віртуальний носій -> Зображення CD-ROM.

підключення iso образу в ipmi для установки хостовой операційної системи У мене iso образи ОС зберігаються на сервері Samba в тій же підмережі що і інтерфейси IPMI серверів. Я вказую адресу сервера Samba, шлях до образу установчого ISO з ОС, після чого монтую ISO образ і приступаю до установки операційної системи.

Вилучену графічну Java консоль сервера (KVM-над-IP) Можна відкрити через Пульт дистанційного керування -> Перенаправлення консолі.

Консоль в цілому зручна, але після установки ОС, для роботи з сервером я зазвичай використовую ssh клієнти. Іноді є моменти коли, це неможливо, наприклад якщо у вас не працює або ще не налаштована мережа на сервері або ж є якісь проблеми з доступом. Саме тоді на допомогу і приходить Remote Console.

KVM-over-IP - дистанційна java консоль сервера через ipmi

Ніяких окремих налаштувань в самій консолі робити не потрібно, хочу лише додати, що вона має вбудовану клавіатуру, яку можна викликати з меню Віртуальний медіа -> Віртуальна клавіатура.

клавіатура в ipmi консолі

Порада. Після тривалої роботи з серверами 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 ми отримаємо список всіх можливих параметрів утиліти.

утиліта настройки ipmi від supermicro: 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

ipmicfg -user list - вивести список користувачів ipmi і права

Як вже бачите на скріншоті, користувач test створений.

Щоб змінить (скинути) пароль користувача IPMI, ісползайте команду:

ipmicfg -user setpwd

І приведу ще пару прикладів використання даної утиліти:

  • ipmicfg -hostname [value] – задати hostname для ipmi інтерфейсу;
  • ipmicfg -r – перезавантаження IPMI.

Моніторинг заліза на сервері SuperMicro через IPMI і утиліту IPMICFG

Моніторинг сервера SuperMicro через IPMI

Через IPMI моніторити температуру і роботу заліза сервера SuperMicro досить просто. Повна інформація про залозі сервера міститься в пункті System -> Hardware Information.

залізо сервера supermicro через ipmi

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

стан сенсорів на сервері supermicro

Для зручності перегляду, можна змінювати категорії відображення датчиків, наприклад, температури:

датчики температури

Або датчики напруги:

датчики напруги

Так як в даний момент на нашому сервері немає проблем, ні з температурою, ні з напругою, все датчики знаходяться в зеленій зоні. Якщо на сервері піднімається температура або є проблеми з напругою, зелені прямокутники забарвлюватимуться в червоний колір, що послужить сигналом для перевірки вашого сервера.

Моніторинг за допомогою утиліти 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 -pminfo - перевірка стану блоків живлення

Подивитися температуру процесора можна командою:

ipmicfg -nm oemgettemp

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 - стан вентилятора

Зміна режиму роботи кулера: 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 -nm deviceid версія і прошивка ipmi

І подивитися всі сенсори можна командою ipmicfg -sdr

ipmicfg -sdr все сенсори на сервері supermicro

При виведенні ми бачимо, що є додаткові стовпці, в яких відображена інформація про ліміти нижнього і верхнього меж.

Так само існує ще не мала кількість утиліт, які можна використовувати для моніторингу та автоматизувати цей процес, наприклад, з nagios. В даний момент загострювати на цьому увагу ми не будемо, так як мета статті розповісти основні моменти в роботі з IPMI. Якщо вас зацікавить тема моніторингу, ви можете залишити свої побажання та можливо в подальшому ми висвітлимо і цю тему. Сподіваюся, дана стаття виявиться для вас корисною!

Leave a Reply

Your email address will not be published. Required fields are marked *