Hosting & Servers

IPMI / DCIM

IPMI — удалённое управление сервером в обход его ОС через контроллер BMC; DCIM — софт для учёта стоек, питания и ёмкости всего ЦОД.

Что такое IPMI / DCIM

Два инструмента эксплуатации железа, которые часто оказываются в одном разговоре, хотя решают разные задачи: IPMI управляет одним сервером, DCIM управляет всем ЦОД как хозяйством.

IPMI и BMC

IPMI расшифровывается как Intelligent Platform Management Interface — стандарт удалённого управления сервером независимо от того, что происходит с его операционной системой. Реализует его BMC (Baseboard Management Controller) — отдельный микроконтроллер на материнской плате со своим процессором, прошивкой, сетевым интерфейсом и IP-адресом. BMC питается от дежурного напряжения: сервер выключен, а BMC работает.

В этом вся идея управления «out-of-band». SSH требует, чтобы ОС загрузилась и сеть поднялась. IPMI работает, когда ОС нет вообще: вы сломали fstab, снесли ядро, ошиблись в правилах файрвола и отрезали себя от машины, или сервер просто не проходит POST.

Вендоры называют свои реализации по-своему, суть одна: Dell — iDRAC, HPE — iLO, Lenovo — XCC, Supermicro — IPMI, Fujitsu — iRMC, Huawei — iBMC. Существует и открытая прошивка OpenBMC.

Что даёт IPMI

  • Питание — включить, выключить, передёрнуть жёстко, как кнопкой на корпусе.
  • KVM-over-IP — удалённая консоль с картинкой BIOS/UEFI и клавиатурой: видно загрузку с самого начала.
  • Virtual media — примонтировать ISO по сети и переустановить ОС, не приезжая в ЦОД.
  • Датчики и SEL — температуры, вентиляторы, напряжения, блоки питания плюс журнал аппаратных событий. Здесь видно, что сыпется память, а не «сервер иногда сам перезагружается».
  • SOL (Serial over LAN) — последовательная консоль поверх сети.

Именно наличие IPMI отличает аренду выделенного сервера от схемы «напишите в поддержку, они нажмут кнопку»: с ним вы сами себе руки в ЦОД.

ipmitool

IPMI="ipmitool -I lanplus -H 10.10.0.5 -U admin -P secret"

$IPMI chassis power status
$IPMI chassis power cycle        # жёсткий перезапуск
$IPMI sdr list                   # все датчики разом
$IPMI sel list                   # журнал аппаратных событий
$IPMI chassis bootdev pxe        # загрузиться в PXE один раз
$IPMI sol activate               # консоль по сети

ipmitool lan print 1             # настройки BMC, локально с самого сервера

Ключ -I lanplus — это IPMI 2.0 с шифрованием сессии. Устаревший интерфейс lan (IPMI 1.5) использовать не стоит.

Безопасность: одно правило

BMC никогда не должен смотреть в интернет. Причины конкретные: IPMI over LAN живёт на UDP-порту 623 и проектировался для доверенной сети; в его схеме аутентификации (RAKP) сервер отдаёт хеш пароля до успешной авторизации, что позволяет подбирать пароль офлайн, без попыток входа; а прошивки BMC обновляются редко и несут собственный веб-сервер со своей историей уязвимостей.

Правильно: вынести BMC в отдельный management-VLAN, пускать туда только через VPN или бастион, сменить заводские пароли в первую очередь (ADMIN/ADMIN ищут сканерами) и обновлять прошивки вместе с остальным парком. IPMI, торчащий наружу, — это несанкционированный доступ не к данным, а сразу к железу: злоумышленник с доступом к BMC может смонтировать свой образ и загрузиться с него.

Redfish

Redfish (стандарт DMTF) — современная замена IPMI: REST/JSON поверх HTTPS вместо бинарного протокола, нормальная аутентификация, описываемая схема данных. Новое железо поддерживает оба варианта; автоматизацию сегодня пишут на Redfish, а IPMI держат ради совместимости и старых машин.

DCIM

DCIM расшифровывается как Data Center Infrastructure Management — класс софта, который управляет не сервером, а ЦОД как хозяйством. Он отвечает на вопросы, недоступные IPMI: в какой стойке и каком юните стоит эта машина, куда воткнут её второй блок питания, сколько киловатт свободно в ряду, куда физически влезет новая стойка, каким патч-кордом сервер связан с коммутатором и кто его туда поставил.

Типичные функции: инвентаризация оборудования и юнитов, планы залов и стоек, документирование кабельной инфраструктуры, учёт питания по PDU, планирование ёмкости (место, мощность, холод), привязка ИТ-активов к инженерным системам.

Инструменты: NetBox (open source, де-факто стандарт как source of truth по стойкам и сети), openDCIM, RackTables; из коммерческих — Device42, Sunbird, Nlyte.

IPMI и DCIM: не путать

IPMI DCIM
Объект один сервер весь ЦОД
Уровень железо, out-of-band инвентарь, ёмкость, питание
Отвечает на вопрос что с этой машиной и как её перезагрузить где она стоит и хватит ли на неё мощности
Кто пользуется админ, инженер эксплуатация ЦОД, планирование
Примеры iDRAC, iLO, ipmitool NetBox, openDCIM

Связывает их мониторинг: BMC отдаёт показания датчиков по SNMP или Redfish, их собирает Zabbix или Prometheus, а DCIM подсказывает, в какой именно стойке греется. Для залов с датацентровыми GPU это не формальность: там планирование мощности на стойку — ежедневная работа, а не разовый расчёт при проектировании.

Связанные термины

Готовы запустить GPU-задачу?

Запустить GPU-сервер