На сервере IBM xSeries 346 имеется контроллер управления системой BMC, работающий независимо от операционной системы. С помощью данного контроллера можно как локально, так и удаленно мониторить жизненно важные показатели сервера, а так же управлять его питанием.
Доступ к данному контроллеру можно получить через последовательный порт, при загрузке сервера до начала процедуры POST, удаленно через сеть, или через интерфейс операционной системы. В данной статье описывается два способа получения доступа к BMC: через интерфейс ОС (CentOS 5.3) и удаленно через сеть.
На борту запущена CentOS 5.3:
Работать с контроллером будем по протоколу OpenIPMI, который поддерживается многими дистрибутивами linux с kernel 2.6 и выше.
Для CentOS устанавливаем необходимые библиотеки и инструменты:
Запускаем консоль ipmi:
Проверяем модули:
Проверяем файл устройства:
Если все проверки прошли удачно, добавляем ipmi в автозагрузку:
В принципе, на этом можно было бы остановиться и отослать читателя к man ipmitool, но, для более быстрого усвоения данного инструмента, приведу описание работы ipmitool и нескольких команд для начала работы с BMC.
Для доступа к локальному интерфейсу необходимо использовать опцию -I open, на хосте с BMC, эта опция включена по умолчанию и вводить ее не требуется.
Далее будем работать в командной строке управления BMC:
Теперь нам необходимо получить информацию о системном контроллере:
Еще пара команд:
Затем проверим каналы по которым мы можем связаться с BMC, в моем случае:
Необходимо отметить в выводе этой команды строку:
Краткое описание различий в версиях OpenIPMI приведу чуть ниже.
Других каналов у меня не оказалось.
Канал доступа через системный интерфейс работает по KCS (Keyboard Controller Style) протоколу, используемому IPMI драйвером для соединения с BMC.
Вывод некоторой общей информации с контроллера.
Далее определимся с пользователями и их правами имеющими доступ к каналам BMC (LAN Interface — 1, Serial Interface — 2 ):
Замечание: Если у вас существует доверенная сеть, и вы уверены, что злоумышленник не сможет подключиться к вашему серверу из вне, можете смело настроить доступ для администратора.
Настроим пользователя для доступа через сеть:
2 — идентификатор пользователя
1 — указывает на сетевой интерфейс
4 — уровень привелегий администратора.
Примечание: Возможные уровни привелегий:
Настройки сетевого интерфейса BMC:
По желанию можно установить шлюз по умолчанию.
MD5 используем для того чтобы пароль не передавался в открытом виде.
Проверяем:
Теперь на удаленном хосте мы можем получить доступ к BMC, для этого необходимо использовать опцию -I lan:
Если сетевой интерфейс работает по протоколу IPMI 2.0, то вам будет доступна опция SoL (Serial over LAN), с помощью которой можно будет наблюдать и управлять ходом загрузки сервера безотносительно к операционной системе по сети с другого компьютера.
Для этого необходимо с удаленного хоста выполнить команду:
Ссылки по теме:
IBM x Series346
BMC
FRU
OpenIPMI
man ipmitool
Доступ к данному контроллеру можно получить через последовательный порт, при загрузке сервера до начала процедуры 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