22 January 2021
Технология IPMI используются для удаленного управления состоянием серверной платформой. Позволяет существенно упростить жизнь системным администраторам. Ведь теперь не нужно каждый раз бежать к серверу для его перезагрузки, теперь можно управлять сервером с любого места, подключенного к Интернету.
IPMI (Intelligent Platform Management Interface) – интеллектуальный интерфейс управления платформой. Первая версия IPMI появилась в 1998 году. Над этой технологией работали компании HP, Intel, Dell, NEC. В первой версии обнаружились уязвимости, которые были устранены в версиях 1.5 и 2.0.
Основные возможности IPMI:
Представим, что есть обычный удаленный сервер, который администрируется по ssh. Если администратор что-то сделал не так (например, неумышленно активировал правило брандмауэра, закрывающее доступ ssh), он потеряет доступ по ssh. Что делать? Правильно, ехать в офис (или место физической установки сервера) и устранять проблему локально. Как назло, такую оплошность админ допустил по невнимательности, находясь в долгожданном отпуске…
При использовании IPMI можно удаленно подключиться и поменять настройки. Данная технология хорошая тем, что все перечисленные ранее возможности доступны, независимо от работы BIOS, процессора или операционной системы. Администратор может управлять даже выключенным сервером – главное, чтобы он был подключен к сети питания.
Поскольку изначально над IPMI работало несколько компаний, существует несколько реализаций данной технологии от разных вендоров. Таблица 1 содержит названия таких технологий.
Вендор | Название технологии |
HP | iLO (Integrated Lights-Out) |
Cisco | Cisco IMC (Integrated Management Controller) |
IBM/Lenovo | IMM (Integrated Management Module) |
DELL | iDRAC (Integrated Dell Remote Access Card) |
Supermicro | SIM (Supermicro Intelligent Management) |
Решения от разных вендоров отличаются не только ценой, но и функционалом, а именно:
На практике для комфортной работы вполне достаточно удобной панели управления и своевременного оповещения о проблемах, а это базовый функционал IPMI, который вы получите, выбрав технологию любого вендора. Так что основным факторов, влияющим на выбор, является либо предпочтение какого-то бренда, либо цена.
Самым главным в архитектуре IPMI является контроллер управления – BMC (Baseboard Management Controller). Посредством этого контроллера происходит удаленное управление сервером. BMC представляет собой отдельный компьютер со своим ПО и сетевым интерфейсом, который или распаивается на материнской плате или подключается как плата расширения по шине PCI management bus.
Контроллер управления питается от дежурного напряжения материнской платы, другими словами он работает всегда. К нему можно подключить дополнительные контроллеры управления (Management Controller, MC) для расширения возможностей базового управления. Как правило, MC подключаются для мониторинга разных подсистем: резервных источников питания, RAID-накопителей, периферийных устройств.
Дополнительные MC поставляются в виде самостоятельных плат, отдельно от центрального BMC, поэтому их часто называют сателлитами (Satellite Controller). Дополнительных MC может быть несколько, а BMC - только один. Для подключения к BMC сателлиты используют интерфейс IPMB (Intelligent Platform Management Bus – шина интеллектуального управления платформой), который представляет собой шину на основе I2C (Inter-Integrated Circuit), по которой базовый контроллер перенаправляет команды управления к разным частям архитектуры, например, общается с дополнительными контроллерами (MC), получает значения сенсоров, обращается к энергонезависимому хранилищу.
Администратор не имеет прямого доступа к компонентам системы. Например, чтобы считать данные датчиков, администратор посылает команду на BMC, а BMC уже обращается к датчику, считывает его значение и отправляет результат администратору.
Кроме передачи команд на BMC администратор может настроить автоматическое выполнение действий контроллером с помощью следующих механизмов:
Технология IPMI подразумевает сообщение в формате запрос-ответ. Запрос – это команда IPMI. Команды могут запускать определенные действия и устанавливать значения. Сообщения IPMI имеют общий формат (он одинаковый для всех команд):
В ответе всегда возвращается Completion Code, сообщающий результат выполнения команды. В случае возникновения ошибки, будет возвращен ненулевой код, соответствующий событию.
Все каналы, по которым передаются сообщения, можно разделить на три категории:
На BMC можно смотреть, как на коммутатор, связывающий между собой интерфейсы системы:
В первой версии IPMI удаленная консоль подключалась к BMC посредством последовательного интерфейса (Serial Interface). Во второй версии (IPMI v2.0) используется сетевой интерфейс.
Интерфейс LAN предоставляется через выделенный сетевой порт BMC со своим IP-адресом. Этапы прохождения IPMI-сообщений через LAN:
Последовательный интерфейс для подключения удаленной консоли уже не используется, но он все еще нужен для реализации следующих функций.
Serial Port Sharing – предоставляет возможность использовать общий последовательный коннектор между последовательными контроллерами BMC и контролируемой системы. Используется, как правило, для перенаправления BIOS-консоли на модуль BMC
Serial-over-LAN – используется для взаимодействия с компонентами системы, которые понимают только последовательный интерфейс общения. Еще можно из консоли сервера отправлять команды напрямую к устройствам сервера.
Сбои питания – произошло отключение питания BMC. Учитывая, что BMC питается от дежурного напряжения материнской платы, скорее всего, вышел из строя блок питания сервера.
Сбои ПО – зависание модуля BMC также возможно, не забывайте, что это компьютер и он тоже может "глючить". К счастью, такое происходит редко, лечится, как правило, обновлением прошивки модуля.
Сбои на уровне железа – перегрев, выход из строя критических компонентов (память, процессор).
Сбои сети – дефект кабеля, "битые" порты, плохо обжатая витая пара – вот причины сетевого сбоя.
Во всех этих случаях нужно локальное вмешательство и без физического контакта с сервером вряд ли можно чем-то помочь. Сбои самого BMC встречаются редко, чаще выходит из строя "окружение", например, что-то с сетевым кабелем, "сгорел" блок питания или вышел из строя модуль оперативной памяти.
IPMI существенно облегчает жизнь системного администратора и во многих случаях позволяет обойтись без физического контакта с оборудованием. Нужно помнить, что это не панацея - в самой системе IPMI может произойти сбой, поэтому ничто не может гарантировать 100% надежности. Но в любом случае IPMI – это тот самый костыль, который может спасти в критической ситуации.