IPMI настройка і дистанційне керування серверами Supermicro

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

зміст:

  • Первинна настройка IPMI консолі і знайомство з інтерфейсом
  • Управління сервером через утиліту IPMICFG від SuperMicro
  • Моніторинг заліза на сервері SuperMicro через IPMI і утиліту IPMICFG

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

За допомогою утиліти робимо наступне:

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 наприклад, 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. Якщо вас зацікавить тема моніторингу, ви можете залишити свої побажання та можливо в подальшому ми висвітлимо і цю тему. Сподіваюся, дана стаття виявиться для вас корисною!