Моніторинг та керування сервером за допомогою IPMI

  у розділі Технічні теми 

Принципова схема роботи IPMI

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

  1. BMC — Baseboard Management Controller. 

  2. Розширення IPMI: iLO від HP, ILOM від Sun/Oracle, iDRAC від Dell. 

  3. KVM — "Keyboard Video Mouse". Керування пристроями вводу та виводу іншого комп’ютера. 

  4. Тестувалося на серверній платформі Intel® Server System R1304RPOSHBN. 

  5. "Використана література": 1, 2  


Коментарі