В наследство досталось несколько физических hp proliant dl180 g6 с RAID контроллерами HP P410.
Из необходимого мне — сразу был поставлен Esxi 5.5 с ISO HPE. В комплект уже входит замечательная утилита «hpacucli», о которой я уже писал в обзоре Linux: Работа с RAID контроллером от HP (на esxi утилита живет по другому пути «/opt/hp/hpssacli/bin/hpssacli»).
Все хорошо, но у сервера отсутствует управление по IPMI, точнее удаленное управление питанием.
Это мы и попытаемся исправить.
Несколько определений, которые потребуются нам в дальнейшем:
IPMI (Intelligent Platform Management Interface) — это интерфейс управления платформой (железом). Его назначение — мониторинг и управление железом сервера, независимо от операционной системы, даже в тех случаях, когда сервер выключен, но подключен к источнику питания.
BMC (Baseboard management controller) — это микросхема-контроллер.
IPMI является стандартом, которого придерживаются вендоры при разработке оборудования. IPMI определяет какие функции должны присутствовать, по каким интерфейсам взаимодействовать в сети и с операционной системой. Аппаратная составляющая системы IPMI выполняется в виде одной или нескольких микросхем и носит название BMC (Baseboard management controller) или сервисный процессор («сервер внутри сервера»). Сервисный процессор работает независимо от центрального процессора, BIOS и операционной системы. Ошибки, возникающие в любом из этих элементов, не способны повлиять на его работу. Микроконтроллер имеет собственный процессор, память, сетевой интерфейс, поэтому доступен, даже если сам сервер выключен.
HP Lights-Out 100 (LO100) Remote Management — механизм управления серверами в условиях отсутствия физического доступа к ним. Основное отличие от IPMI: графический веб-интерфейс (GUI) — доступ к iLO через стандартный браузер.
С учетом проведенного времени и не совсем достигнутых результатов хочется согласиться с автором:
«С некоторыми бюджетными HP-шными серверами в комплекте идёт средство удалённого управления aka BMC под названием «LO100». От «нормального» iLo2 оно отличается кастрированным функционалом, глючностью и работой через интерфейс IPMI. А ещё эта падла частенько конкретно зависает….»
(c) http://klink0v.livejournal.com/225709.html
В моих условиях мне не удалось обеспечить нормальную и стабильную работу данной технологии, а настройка и эксплуатация относительно сложна, к тому же требует специфичных знаний и навыков.
Начнем по порядку.
Для работу с ipmi нам понадобиться ipmitool.
В CentOS она ставится через «yum»:
yum install ipmitool-1.8.15-2.el6.x86_64 # не забываем подключить модули ядра modprobe ipmi_devintf modprobe ipmi_si
С VMWare сложнее.
Я честно пытался скомпилить утилиту так:
https://coderwall.com/p/5cqj0g/esxi-ipmitool-works-on-any-linux-system-as-well
Но проблемы при компиляции или непосредственно на esxi не давали продвинуться дальше:
./configure CFLAGS=-m32 LDFLAGS=-static checking for C compiler default output file name... configure: error: C compiler cannot create executables /vmfs/volumes/Datastore4 # ./ipmitool ./ipmitool: error while loading shared libraries: libcrypto.so.1.0.0: cannot open shared object file: No such file or directory
Кому интересно «тема ошибки» живет по ссылке http://serverfault.com/questions/580489/configure-error-c-compiler-cannot-create-executables-while-build-ruby-from-sou
В итоге воспользовался данным мануалом http://mmurayama.blogspot.ru/2016/01/ipmitool-on-vmware-esxi.html
Для ленивых или на случай если ссылка исчезнет, локальная ссылка на пакет ipmitool.
Пакет ставится стандартно:
Проверяем что пакет не установлен:
esxcli software vib list | grep ipmitool
Переходим в папку с пакетом, прописываем полный путь до пакета и получаем ошибку:
esxcli software vib install -v /vmfs/volumes/57b32811-c14788be-c5fa-9c8e9919cfce/ipmitool-1.8.15 -1.vib [DependencyError] VIB IPMItool_bootbank_ipmitool_1.8.15-1's acceptance level is community, which is not compliant with the ImageProfile acceptance level partner To change the host acceptance level, use the 'esxcli software acceptance set' command. Please refer to the log file for more details.
Ошибка намекает, на то что не стоит ставить «левые» пакеты на сертифицированную сборку ESXi.
Если мы понимаем, что делаем, то меняем режим работы ESXi:
/vmfs/volumes/57b32811-c14788be-c5fa-9c8e9919cfce # esxcli software acceptance set --level=CommunitySupported Host acceptance level changed to 'CommunitySupported'.
И ставим еще раз:
# esxcli software vib install -v /vmfs/volumes/57b32811-c14788be-c5fa-9c8e9919cfce/ipmitool-1.8.15 -1.vib Installation Result Message: Operation finished successfully. Reboot Required: false VIBs Installed: IPMItool_bootbank_ipmitool_1.8.15-1 VIBs Removed: VIBs Skipped:
Проверяем, что установка прошла:
# esxcli software vib list |grep ipmitool ipmitool 1.8.15-1 IPMItool CommunitySupported 2016-08-17
Запускаем утилиту:
# /opt/ipmitool/bin/ipmitool mc info Device ID : 18 Device Revision : 1 Firmware Revision : 4.22 IPMI Version : 2.0 Manufacturer ID : 11 Manufacturer Name : Hewlett-Packard Product ID : 0 (0x0000) Product Name : Unknown (0x0) Device Available : yes Provides Device SDRs : no Additional Device Support : Sensor Device SDR Repository Device SEL Device FRU Inventory Device IPMB Event Receiver Bridge Chassis Device Aux Firmware Rev Info : 0x03 0x01 0x00 0x00
Дальше настраиваем сетевой интерфейс и пользователя:
cd /opt/ipmitool/bin/ ./ipmitool lan set 2 ipsrc static ./ipmitool lan set 2 ipaddr 192.168.0.6 ./ipmitool lan set 2 defgw ipaddr 192.168.0.1 ./ipmitool lan set 2 netmask 255.255.255.0 ./ipmitool lan set 2 vlan id 10 ./ipmitool lan set 2 access on ./ipmitool user set name 2 root ./ipmitool user set password 2 Password ./ipmitool user enable 2 ./ipmitool lan print 2
Делаем перезагрузку ipmi:
ipmitool mc reset cold
Во всех мануалах написано, что после этого ipmi должен запинговаться — к сожалению это не так.
Для того, чтобы заработало в BIOS необходимо сменить у «BMC NIC Allocation» режим работы с «Dedicated» на «Shared»:
Как это сделать через ipmitool для серверов HP, я не нашел, хотя и предполагал, что делается это через правильную подачу параметров «ipmitool raw», параметры от supermicro, естественно не подошли:
# ipmitool raw 0x30 0x24 0 Unable to send RAW command (channel=0x0 netfn=0x30 lun=0x0 cmd=0x24 rsp=0xc7): Request data length invalid
Относительно быстрый и прямой вариант, сделать это без перезагрузки — это задать параметры через «LO100», утилита также не входит в стандартный комплект установки, но замечательно ставится путем копирования бинарника с linux сервера:
#cat ip.xml
<nic mode="dhcp" type="shared">
<ipv4 address="10.10.10.18" mask="255.255.252.0" gateway="10.10.10.1" />
<firewall http_active="yes" ping_active="yes" telnet_active="yes" />
</nic>
#./lo100cfg –i ip.xml
В качестве итога могу процитировать мои слова в начале еще раз.
Вполне возможно, что я не до конца разобрался в данной технологии, как вариант сервера, на которых проводились тесты относительно устаревшие (старые Bios и т.п.), но я морально не был готов, что часть моих изменений, тестов и т.п. потребует моего присутствия в ДЦ рядом с серверами для донастройки, а другая часть будет работать только после передергивания сервера по питанию.
Полезные ссылки:
Мониторинг серверного железа через IPMI
iLO, iLO2, iLO3 and iLO4 Advanced License Activation Keys
По материалам:
http://www.etegro.ru/articles/ipmi-bmc