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 это не формальность: там планирование мощности на стойку — ежедневная работа, а не разовый расчёт при проектировании.
Связанные термины
- ЦОД — объект, которым управляет DCIM
- Инженерия ЦОД (Tier, фрикулинг) — питание и холод, чью ёмкость и считают
- UEFI и BIOS — то, что видно в консоли KVM-over-IP
- VLAN и коммутация — как изолируют сеть управления
- Zabbix — куда обычно стекаются датчики BMC
- SNMP — протокол, которым их забирают
Готовы запустить GPU-задачу?
Запустить GPU-сервер