Search
Write a publication
Pull to refresh

Использование OpenIPMI в среде ОС linux CentOS 5.3

На сервере IBM xSeries 346 имеется контроллер управления системой BMC, работающий независимо от операционной системы. С помощью данного контроллера можно как локально, так и удаленно мониторить жизненно важные показатели сервера, а так же управлять его питанием.
Доступ к данному контроллеру можно получить через последовательный порт, при загрузке сервера до начала процедуры POST, удаленно через сеть, или через интерфейс операционной системы. В данной статье описывается два способа получения доступа к BMC: через интерфейс ОС (CentOS 5.3) и удаленно через сеть.

Установка OpenIPMI


На борту запущена CentOS 5.3:
# uname -a
Linux localhost 2.6.18-128.el5 #1 SMP Wed Jan 21 10:44:23 EST 2009 i686 i686 i386 GNU/Linux

Работать с контроллером будем по протоколу OpenIPMI, который поддерживается многими дистрибутивами linux с kernel 2.6 и выше.

Для CentOS устанавливаем необходимые библиотеки и инструменты:
# yum install OpenIPMI OpenIPMI-tools

Запускаем консоль ipmi:
# service ipmi start

Проверяем модули:
#lsmod | grep ipmi
ipmi_devintf 	13129  0
ipmi_si 	42317  0
ipmi_msghandler 	39153  2 ipmi_devintf,ipmi_si

Проверяем файл устройства:
# ls -l /dev/ipmi0
crw------- 1 root root 253, 0 Ноя 22 15:38 /dev/ipmi0

Если все проверки прошли удачно, добавляем ipmi в автозагрузку:
# chkconfig --level 1235 ipmi on

В принципе, на этом можно было бы остановиться и отослать читателя к man ipmitool, но, для более быстрого усвоения данного инструмента, приведу описание работы ipmitool и нескольких команд для начала работы с BMC.

Доступ через интерфейс ОС


Для доступа к локальному интерфейсу необходимо использовать опцию -I open, на хосте с BMC, эта опция включена по умолчанию и вводить ее не требуется.

Далее будем работать в командной строке управления BMC:
#ipmitool shell

Теперь нам необходимо получить информацию о системном контроллере:
ipmitool> bmc info

Device ID                 : 32
Device Revision           : 0
Firmware Revision         : 1.3
IPMI Version              : 1.5
Manufacturer ID           : 2
Manufacturer Name         : Unknown (0x02)
Product ID                : 3 (0x0003)
Product Name              : Unknown (0x3)
Device Available          : yes
Provides Device SDRs      : no
Additional Device Support :
    Sensor Device
    SDR Repository Device
    SEL Device
    FRU Inventory Device
    IPMB Event Receiver
    IPMB Event Generator
    Chassis Device
Aux Firmware Rev Info     :
    0x4b
    0x50
    0x42
    0x54

Еще пара команд:
ipmitool> bmc guid # guid - dlobal unit identificator
ipmitool> bmc selftest
Selftest: passed

Затем проверим каналы по которым мы можем связаться с BMC, в моем случае:
ipmitool> channel info 1 # канал доступа по сети

Необходимо отметить в выводе этой команды строку:
Channel Protocol Type : IPMB-1.0

Краткое описание различий в версиях OpenIPMI приведу чуть ниже.
ipmitool> channel info 2 # канал доступа по последовательному порту
ipmitool> channel info 3 # канал доступа через системный интерфейс

Других каналов у меня не оказалось.
Канал доступа через системный интерфейс работает по KCS (Keyboard Controller Style) протоколу, используемому IPMI драйвером для соединения с BMC.

Вывод некоторой общей информации с контроллера.
ipmitool> fru print 
ipmitool> sdr list 
ipmitool> chassis status

Далее определимся с пользователями и их правами имеющими доступ к каналам BMC (LAN Interface — 1, Serial Interface — 2 ):
ipmitool> user list 1
ipmitool> user list 2

Настройка доступа по сети.


Замечание: Если у вас существует доверенная сеть, и вы уверены, что злоумышленник не сможет подключиться к вашему серверу из вне, можете смело настроить доступ для администратора.

Настроим пользователя для доступа через сеть:
ipmitool> user set name 2 root 
impitool> user set password 2 'password'
impitool> user priv 2 4 1 # <uid> < privilege level> <channel number>)

2 — идентификатор пользователя
1 — указывает на сетевой интерфейс
4 — уровень привелегий администратора.

Примечание: Возможные уровни привелегий:
1 Callback level
2 User level
3 Operator level
4 Administrator level
5 OEM Proprietary level
15 No access

Настройки сетевого интерфейса BMC:
impitool> lan set 1 ipsrc static
impitool> lan set 1 ipaddr 192.0.2.12
impitool> lan set 1 netmask 255.255.255.0

По желанию можно установить шлюз по умолчанию.
impitool> lan set 1 defgw ipaddr 192.0.2.1

impitool> lan set 1 access on
impitool> lan set 1 auth ADMIN MD5
ipmitool> channel setaccess 1 2 callin=on ipmi=on link=on privilege=4

MD5 используем для того чтобы пароль не передавался в открытом виде.

Проверяем:
ipmitool> channel authcap 1 2
ipmitool> user test 2 16 'password'
Success

Теперь на удаленном хосте мы можем получить доступ к BMC, для этого необходимо использовать опцию -I lan:
$ ipmitool -I lan -U root -P 'password' -H 192.0.2.12 bmc info

Если сетевой интерфейс работает по протоколу IPMI 2.0, то вам будет доступна опция SoL (Serial over LAN), с помощью которой можно будет наблюдать и управлять ходом загрузки сервера безотносительно к операционной системе по сети с другого компьютера.
Для этого необходимо с удаленного хоста выполнить команду:
$ ipmitool -I lanplus -U root -P 'password' -H 192.0.2.12 sol activate

Ссылки по теме:
IBM x Series346
BMC
FRU
OpenIPMI
man ipmitool
Tags:
Hubs:
You can’t comment this publication because its author is not yet a full member of the community. You will be able to contact the author only after he or she has been invited by someone in the community. Until then, author’s username will be hidden by an alias.