
IMPI?
Intelligent Platform Management Interface — технологія (стандарт) для керування комп’ютерним обладнанням, що працює "незалежно" від самого пристрою. Тобто навіть коли комп’ютер "вимкнено", невеличка частина його електронної плати (BMC1), що відповідає за IPMI, залишається активною.
За допомогою IPMI можна віддалено вимкнути, увімкнути, перевантажити комп’ютер, отримати інформацію про стан обладнання (температуру, напруги, робота вентиляторів, стан кнопок і світлодіодів, прочитати журнал системних подій тощо).
IPMI працює незалежно від операційної системи і не потребує її. Може використовувати стандартний мережевий інтерфейс, а може працювати через спеціальну плату розширення. Деякі вендори розробили свої версії протоколів2 на базі IPMI надаючи їм нові функції, наприклад "KVM3 через IP" та ін., але базові параметри IPMI, як правило, однакові навіть на різних апаратних платформах.
Перевірка підтримки IPMI
Очевидно, що IPMI працюватиме лише на тих пристроях, де така можливість закладена виробником. Як правило усі сервери так чи інакше підтримують цю технологію.
Якщо Ви бажаєте скористатись функціями IPMI з локальної операційної системи, вона повинна вміти працювати з BMC1. Більшість сучасних систем автоматично підвантажують необхідні модулі ядра.
Коли IPMI доступне то в системі будуть існувати пристрої на кшталт /dev/ipmi0, /dev/ipmi/0 чи /dev/ipmidev/0. Інакше, спробуйте підвантажити потрібні модуля ядра власноруч:
# Ubuntu, Debian 5:
modprobe ipmi_devintf
modprobe ipmi_si
# Debian 4:
/usr/share/ipmitool/ipmi.init.basic
# SuSE, Red Hat, CentOS:
# Спочатку встановіть пакет OpenIPMI !
/etc/init.d/ipmi start
# FreeBSD:
kldload ipmi
Для зручної роботи з IPMI існують спеціальні програмки-клієнти: IPMItool, FreeIPMI та інші. Подальші інструкції буде показано саме на прикладі IPMItool4.
IPMItool
Дозволяє працювати з IPMI як локально, так і віддалено.
# Локально:
ipmitool sensor
# Віддалено:
ipmitool -I lanplus -L USER -H 192.168.161.25 -U USERNAME -P PASS sensor
Програма може використовуватися як в режимі команд так і в інтерактивному режимі:
# Кожна команда окремо:
ipmitool sensor
ipmitool sdr
# Режим командної оболонки (корисно для великої к-ті команд)
ipmitool shell
ipmitool> sensor
ipmitool> sdr
ipmitool> exit
Мережа
Більшість основних налаштувань можна здійснювати через BIOS. Але наприклад налаштувати VLAN в BIOS не завжди можна4. Хоча за допомогою якогось Live-USB, використовуючи ipmitool VLAN задається без проблем, причому налаштування на постійно збережуться в BMC1.
Для мережевого доступу може використовуватися та ж сама мережева карта що й для роботи системи — це не наші турботи.
З використанням ipmitool налаштування мережі виглядатимуть так:
ipmitool shell
lan set 1 ipsrc static
lan set 1 ipaddr 192.168.168.25
lan set 1 netmask 255.255.255.0
lan set 1 arp respond on
lan set 1 arp generate on
lan set 1 arp interval 5
Якщо потрібно встановити шлюз:
lan set 1 defgw ipaddr 192.168.168.1
Якщо потрібно VLAN:
lan set 1 vlan id 325
Перегляд інформації про поточні налаштування мережі:
ipmitool> lan print
Користувачі та права доступу
Перегляд існуючих користувачів:
ipmitool> user list 1
ID Name Callin Link Auth IPMI Msg Channel Priv Limit
1 true true true USER
2 root false true true ADMINISTRATOR
3 test1 true true true ADMINISTRATOR
4 test2 false false true ADMINISTRATOR
5 test3 false false true ADMINISTRATOR
Або:
ipmitool>channel getaccess 1
Maximum User IDs : 15
Enabled User IDs : 5
User ID : 1
User Name :
Fixed Name : Yes
Access Available : call-in / callback
Link Authentication : enabled
IPMI Messaging : enabled
Privilege Level : USER
User ID : 2
User Name : root
Fixed Name : Yes
Access Available : callback
Link Authentication : enabled
IPMI Messaging : enabled
Privilege Level : ADMINISTRATOR
Створення користувачів
ipmitool>
lan set 1 auth ADMIN MD5,PASSWORD
lan set 1 auth USER MD5,PASSWORD
lan set 1 access on
# Адміністратор.
# назва користувача
user set name 2 root
# його пароль
user set password 2 SECURE-PASSWORD
# привілеї 4 — адміністратор
channel setaccess 1 2 callin=on link=on ipmi=on privilege=4
user enable 2
# "Простий" користувач, для опитування.
user set name 3 monitor
user set password 3 PASSWORD
# привілеї 2 — простий користувач
channel setaccess 1 3 callin=on link=on ipmi=on privilege=2
user enable 3
# інших — блокуємо
user disable 1
user disable 4
user disable 5
Віддалений доступ
ipmitool -I lanplus -L USER -H 192.168.168.25 -U monitor -P PASSWORD sensor
Якщо користувач не адмін, вказуйте опцію -L USER.
Частовживані команди
Загальна інформація:
ipmitool> chassis status
System Power : off
Power Overload : false
Power Interlock : inactive
Main Power Fault : false
Power Control Fault : false
Power Restore Policy : always-on
Last Power Event :
Chassis Intrusion : inactive
Front-Panel Lockout : inactive
Drive Fault : false
Cooling/Fan Fault : false
Sleep Button Disable : not allowed
Diag Button Disable : allowed
Reset Button Disable : allowed
Power Button Disable : allowed
Sleep Button Disabled: false
Diag Button Disabled : false
Reset Button Disabled: false
Power Button Disabled: false
Стан живлення:
ipmitool> power status
Chassis Power is off
Керування живленням:
# акуратне вимкнення
ipmitool> power soft
Chassis Power Control: Soft
ipmitool> power on
Chassis Power Control: Up/On
# примусове вимкнення
ipmitool> power off
Chassis Power Control: Down/Off
Коротка інформація про датчики:
ipmitool> sdr
Pwr Unit Status | 0x00 | ok
BB EDGE Temp | 26 degrees C | ok
Front Panel Temp | 24 degrees C | ok
PCH Temp | no reading | ns
BB BMC Temp | 33 degrees C | ok
...
Датчики та їх критичні значення:
ipmitool> sensor
Pwr Unit Status | 0x0 | discrete | 0x0100| na | na | na | na
BB EDGE Temp | 26.000 | degrees C | ok | 0.000 | 5.000 | 110.000 | 115.000
Front Panel Temp | 24.000 | degrees C | ok | 0.000 | 5.000 | 50.000 | 55.000
BB BMC Temp | 33.000 | degrees C | ok | 0.000 | 5.000 | 110.000 | 115.000
System Fan 1 | na | RPM | na | 392.000 | 588.000 | na | na
System Fan 2 | na | RPM | na | 392.000 | 588.000 | na | na
System Fan 3 | na | RPM | na | 392.000 | 588.000 | na | na
PS1 Power In | 56.000 | Watts | ok | na | na | 1533.000 | 1750.000
...
Лог подій:
ipmitool> sel list
1 | 03/26/2014 | 11:15:09 | Event Logging Disabled #0x07 | Log area reset/cleared | Asserted
2 | 03/26/2014 | 11:15:45 | System Event #0x83 | Timestamp Clock Sync | Asserted
3 | 03/26/2014 | 11:15:45 | System Event #0x83 | Timestamp Clock Sync | Asserted
4 | 03/26/2014 | 11:16:14 | Power Unit #0x01 | Power off/down | Asserted
5 | 03/26/2014 | 11:16:14 | Button #0x09 | Power Button pressed | Asserted
Примусово перевантажити BMC1:
ipmitool> mc reset cold
Скидання налаштувань BMC до стандартних значень:
ipmitool> raw 0x30 0x02 0x43 0x4c 0x52 0xaa
ipmitool> raw 6 2