Что такое ipmi в сервере
База знаний
FirstDedic
IPMI: что такое, как подключиться и основные операции в интерфейсе
IPMI (Intelligent Platform Management Interface) — интеллектуальный интерфейс для управления и администрирования серверов. Он реализован с помощью отдельного контроллера управления на материнской плате. Вы сможете удаленно выполнять действия с сервером, как если бы физически находились около него, а именно: подключаться напрямую к серверу для его управления, изменять настройки в bios, просматривать и контролировать состояние температуры компонентов сервера и т.д.
Как подключиться к серверу через IPMI
Откроется новая вкладка. Для авторизации установите курсор в поле ввода логина (Username), после нажмите Login в верхней левой части экрана. Для пароля (Password) действия аналогичные. После нажмите кнопку login в середине окна.
И вы окажетесь в меню управления IPMI.
Основные операции
Рассмотрим, как можно использовать IPMI, на примере платформы производителя Supermicro. Для других платформ действия будут аналогичными, только интерфейс может немного отличаться от представленного ниже.
Системная информация
В данном разделе показаны характеристики подключенных компонентов к серверу: модель процессора, версия биос, тип и спецификации оперативной памяти и другие.
Проверка температуры компонентов сервера
Один из важнейших разделов, в котором вы можете отслеживать информацию о состоянии компонентов сервера, например, критическом перегреве.
При возникновении каких-либо проблем с оборудованием вместо зелёных «квадратов» вы увидите красные — это будет означать, что в работе сервера могут возникнуть проблемы. В этом случае рекомендуем сразу обращаться в поддержку, наши специалисты восстановят корректную работоспособность сервера.
Проверка ошибок в логе
Еще один немаловажный раздел — в нем фиксируются проблемы, выявленные в работе сервера, и прочие системные уведомления, как, например, на скриншоте ниже.
В данном случае алгоритм действий такой же, как и при проблемах с температурой — сразу обращайтесь в поддержку.
Управление питанием сервера
Консоль удаленного сервера
Откроется окно с изображением экрана сервера.
Через него вы сможете изменять параметры BIOS, устанавливать различные ОС из собственных iso-образов (необходимо написать нам в поддержку чтобы подключили сам iso-образ к серверу), редактировать настройки т.д..
Основные инструменты
В верхней части экрана указаны основные элементы управления, расскажем о них подробнее.
Виртуальная клавиатура
Эмулирует нажатие кнопок клавиатуры, удобно использовать при проблемах ввода с физической (которая у вас под рукой) клавиатуры или и вовсе при ее отсутствии.
Эмуляция нажатия сервисных комбинаций клавиш
Необходимы, чтобы системные комбинации отрабатывались не на вашем компьютере, а на удалённом сервере, например, если нажмете Alt+F4 на вашей клавиатуре, то активное окно закроется на вашем компьютере, а чтобы эта команда сработала на сервере, как раз и необходимо данное подменю.
Управление питанием сервера
Ранее уже рассматривали, как перезагрузить сервер, но из данного подменю делать это гораздо удобнее. Так не придётся не возвращаться назад и потом открывать консоль заново.
Основные операции при работе в консоли удаленного сервера
Рассмотрим основные операции, которые сложно выполнить без удаленной консоли.
Настройка BIOS
Установка ОС из iso-образа
Сперва необходимо написать нам в поддержку для подключения iso-образа к серверу. После ответа, что образ подключен, приступите к установке ОС. Необходимо загрузиться с только что подключенного образа, есть 2 варианта:
1 вариант. Через BIOS, установив устройство с iso-образом в начало загрузки.
После этого сервер перезагрузится и будет загружен с iso-образа.
2 вариант. Через меню загрузки (boot menu).
IPMI ― обзор технологии
Чтобы удаленно управлять состоянием серверной платформы, системные администраторы и инженеры пользуются технологией IPMI, которая значительно упрощает им жизнь. Теперь не надо каждый раз бежать к серверу, чтобы нажать на кнопку перезагрузки ― своевременно реагировать на критические неполадки можно сидя дома в уютном кресле. В этой статье рассмотрим основные компоненты IPMI и детали работы технологии.
Что такое IPMI
Аббревиатура IPMI расшифровывается как Intelligent Platform Management Interface (интеллектуальный интерфейс управления платформой). Через IPMI можно удаленно подключиться к серверу и управлять его работой:
Допустим, инженер перенастраивает сеть на сервере, допускает ошибку в конфигурации и теряет доступ по SSH. Как теперь «достучаться» до сервера? Можно подключиться по IPMI и поменять настройки.
IPMI хорош тем, что перечисленные выше функции доступны вне зависимости от работы процессора, BIOS или операционной системы (ОС) управляемой платформы. Например, можно удаленно перезагрузить сервер, если зависла ОС, или поискать причину выхода из строя CPU в журнале системных событий. Управлять можно даже выключенным сервером ― достаточно того, что сервер подключен к электрической сети.
После того как сервер смонтировали и подключили к сети, инженеры Selectel настраивают BIOS и IPMI. Дальше можно выйти из шумной серверной и продолжить настраивать оборудование удаленно. Как только первоначальная настройка закончена, клиенты Selectel могут управлять работой выделенных серверов и серверов произвольной конфигурации через IPMI.
Историческая справка
Первую версию спецификации IPMI v1.0 разработали совместно компании Intel, Dell, NEC и Hewlett-Packard в 1998 году. На практике обнаружились уязвимости и недостатки, которые исправили в последующих версиях IPMI v1.5 и v2.0.
Спецификация IPMI стандартизирует интерфейс общения, а не конкретную реализацию в «железе», поэтому IPMI не требует использования специальных запатентованных устройств и определенных микроконтроллеров. Производители, придерживаясь спецификаций, разрабатывают собственное оборудование IPMI, встроенное в серверные платформы:
Производитель | Технология на основе IPMI |
---|---|
DELL | iDRAC (Integrated Dell Remote Access Card) |
HP | iLO (Integrated Lights-Out) |
Supermicro | SIM (Supermicro Intelligent Management) |
Lenovo | IMM (Integrated Management Module) |
IBM | IMM (Integrated Management Module) |
Cisco | Cisco IMC (Integrated Management Controller) |
Компании устанавливают свои цены на предоставляемую технологию. Если стоимость реализации IPMI увеличивается, цена аренды сервера растет, так как напрямую зависит от стоимости расходников.
Решения производителей отличаются между собой:
На деле для комфортной работы с удаленной консолью и своевременного оповещения о проблемах достаточно базового функционала IPMI.
Хотя производители предоставляют измененный и доработанный IPMI, реализация его архитектуры остается схожей. Разберемся, из чего состоит технология, опираясь на официальную спецификацию компании Intel.
Базовые компоненты любого IPMI
Контроллеры управления
В центре архитектуры — «мозг» IPMI, микроконтроллер BMC (Baseboard Management Controller). Через него как раз и происходит удаленное управление сервером. По сути, BMC ― это отдельный компьютер со своим программным обеспечением и сетевым интерфейсом, который распаивают на материнской плате или подключают как плату расширения по шине PCI management bus.
BMC питается от дежурного напряжения материнской платы, то есть работает всегда, вне зависимости от состояния сервера.
К BMC можно подключить дополнительные контроллеры управления (Management Controllers, MCs), чтобы расширить возможности базового управления. Например, в то время как основная система управляется функциями BMC, MCs подключаются для мониторинга различных подсистем: резервных источников питания, RAID-накопителей, периферийных устройств.
MCs поставляются самостоятельными платами, отдельными от центрального BMC, поэтому их также называют Satellite Controllers. Дополнительных контроллеров может быть несколько, а вот центральный BMC — один.
К BMC контроллеры подключаются через интерфейс IPMB (Intelligent Platform Management Bus ― шина интеллектуального управления платформой). IPMB ― это шина на основе I2C (Inter-Integrated Circuit), по которой BMC перенаправляет команды управления к различным частям архитектуры:
Архитектура IPMI реализована так, что удаленный администратор не имеет прямого доступа к компонентам системы. Например, чтобы получить данные с сенсоров, удаленный администратор посылает команду на BMC, а BMC в свою очередь обращается к сенсорам.
Кроме передачи команд на BMC можно настроить автоматическое выполнение действий контроллером с помощью следующих механизмов:
PEF (Platform Event Filtering) | BMC хранит таблицу событий с информацией о том, на какие события реагировать и какие действия предпринять. Когда BMC получает сообщение о событии, он сравнивает данные с таблицей и выбирает, как реагировать на событие. Реакция включает такие действия, как выключение, перезагрузка системы, формирование оповещения |
Watchdog Timer | Таймер настраивается на выполнение действия по истечении заданного промежутка времени. Действия включают в себя выключение, перезагрузку сервера, прерывание процессов. Если в качестве таймаута задать значение 0, действие будет выполнено сразу же. В зависимости от реализации Watchdog может опрашивать систему о состоянии раз в заданный временной интервал. Если система не отвечает (например, при зависании), инициируется действие |
Firmware Firewall | Некоторые действия BMC, реализуемые в отдельно стоящем сервере, могут нарушить работу модульных платформ (например, блейд-сервера). Чтобы предотвратить возможные проблемы, файрвол позволяет BMC блокировать настройки, команды IPMI и операции записи, поступающие через системный интерфейс. Файервол также содержит набор команд, через которые можно узнать, какие команды и функции управления доступны для конкретной платформы |
Энергонезависимое хранилище
Энергонезависимое хранилище остается доступным даже при сбое CPU сервера, например, через локальную сеть; состоит из трех областей:
Модули системы генерируют (Event Generator) или получают (Event receiver) события. MCs выступают в качестве генераторов событий, а BMC в архитектуре может выполнять обе роли. BMC получает сообщения о событиях по системному интерфейсу и IPMB, затем регистрирует их в System Event Log (SEL).
К реализации SEL есть обязательные требования:
Команды IPMI допускают чтение и удаление SEL. Поскольку память SEL ограничена, периодически журнал надо проверять и очищать, чтобы записывались новые события. В настройках BMC можно сконфигурировать автоочистку SEL. Автоочистка на различных платформах происходит по-разному — стирая старые записи, чтобы заполнить новые, или очищая всю историю.
Сообщение о событии несет в себе информацию из областей SDR Repository и FRU Info.
Записи SDR — это данные о типах и количестве сенсоров, их возможности генерировать события, типы показаний. SDR также содержат записи о количестве и типах устройств, подключенных к IPMB. Записи SDR хранятся в области памяти, которая называется SDR Repository (Sensor Data Records Repository).
Записи FRU содержат информацию о серийных номерах и моделях деталей различных модулей системы — процессора, платы памяти, платы ввода-вывода, контроллерах управления.
Информация FRU может предоставляться через MC (командами IPMI) либо через доступ к чипам энергонезависимой памяти SEEPROM (Serial Electrically Erasable Programmable Read Only Memory), подключенным по шине Private Management Bus. По этой шине контроллеры общаются через низкоуровневые I2C-команды с устройствами, которые не поддерживают IPMI-команды.
Практическое применение
Допустим, клиент жалуется на зависания сервера, но в логах операционной системы всё в порядке. Смотрим SEL ― видим ошибки по одной из планок оперативной памяти с указанием информации о слоте, в котором она находится. Меняем ― сервер начинает работать как часы.
Выше мы разобрали основные модули архитектуры IPMI. Теперь обратимся к структуре передаваемых команд и посмотрим, по каким интерфейсам происходит удаленное подключение.
Структура IPMI-команд
IPMI передает сообщения в формате запрос-ответ. Запросы — это команды. Команды инициируют действия и устанавливают значения. Формат запрос-ответ делает возможным одновременное общение нескольких контроллеров по одной шине.
Сообщения IPMI содержат базовый набор полей, единый для всех команд:
Кроме того, в ответе всегда передается Completion Code, который сообщает результат выполнения команды. Если в ходе выполнения запроса произошла ошибка, будет отправлен ненулевой код, соответствующий событию.
Каналы, по которым передаются сообщения, можно разделить на три категории с соответствующими интерфейсами:
В этой модели BMC можно воспринимать как коммутатор, который связывает между собой интерфейсы системы (в терминологии спецификации ― Bridging):
При доставке через разные интерфейсы архитектуры базовый набор полей дополняется номерами каналов и фреймами. Например, протокол IPMB добавляет адресные поля и поля для проверки целостности передаваемых данных, а LAN инкапсулирует команды IPMI в UDP/IP пакеты.
Интерфейсы удаленного доступа
В начальной версии IPMI удаленная консоль подключалась к модулю BMC через последовательный интерфейс (Serial Interface). Спецификация IPMI v2.0 базируется на использовании сетевого интерфейса (LAN Interface).
Интерфейс LAN предоставляется через выделенный сетевой порт BMC со своим IP-адресом. При передаче через LAN сообщения IPMI проходят несколько этапов инкапсуляции:
Последовательный интерфейс для подключения удаленной консоли к BMC уже не используется, однако он нужен для реализации двух функций:
Serial Port Sharing ― это возможность использовать общий последовательный коннектор между последовательными контроллерами BMC и управляемой системы. Обычно Serial Port Sharing используется для реализации BIOS Console Redirection, то есть перенаправления BIOS-консоли на модуль BMC.
Serial-over-LAN нужен для взаимодействия с компонентами системы, которые понимают только последовательный интерфейс общения. Еще можно из консоли сервера посылать команды напрямую к устройствам сервера (чипам, картам, дискам и так далее). SoL реализован так, чтобы работать совместно с функцией Serial Port Sharing.
Сеанс и аутентификация
Для LAN и последовательного интерфейса началу передачи IPMI-сообщений предшествует установление сеанса, в ходе которого формируются пакеты данных IPMI Session.
Установление сеанса ― это аутентификация конкретного пользователя. Сеанс должен быть активирован перед началом передачи IPMI-сообщений по следующему алгоритму:
Сеансы автоматически прерываются, если в течение заданного интервала не выполняется никаких действий или если соединение разорвано.
Доступ к BMC можно заблокировать, отправив одновременно множество запросов об активации сеанса, тогда все ресурсы будут использоваться для отслеживания сессий, требующих активации. Чтобы предотвратить возможную атаку, в реализации BMC рекомендуется применять алгоритм LRU (Last Recently Used). Алгоритм утверждает ID сеанса для наиболее раннего запроса активации сеанса. Например, удаленная консоль запускается через браузер в noVNC-сессии. Если открыть несколько вкладок с запущенными сессиями, текстовый ввод будет доступен в наиболее ранней открытой вкладке.
Когда IPMI становится недоступен
IPMI помогает восстановить работоспособность сервера при его сбое. Однако может случиться так, что становится недоступна система удаленного управления. Сбои в работе IPMI можно разделить на четыре категории:
Перечисленные факторы влияют как на работу IPMI, так и на сам сервер. Модуль BMC ― это независимый от сервера чип, и отказ данного микроконтроллера говорит об отказе сервера в 90% случаев.
IPMI на практике
Управлять сервером по IPMI можно через веб-браузер, утилиты, предоставляемые производителями, и утилиты с открытым исходным кодом.
Веб-интерфейс у каждой реализации IPMI свой, но принцип доступа остается одинаковым:
В Selectel мы работаем с IPMI-модулями компаний Intel, Asus и Supermicro. В качестве примера посмотрим на веб-интерфейс Supermicro:
Возможности веб-интерфейса также реализованы в графической утилите Supermicro IPMIView:
Чтобы управлять оборудованием через Linux-консоль, устанавливается соответствующая утилита (например, Ipmitool для локального и удаленного управления или IPMICFG для локального). Далее при помощи консольных команд добавляется IPMI-устройство и конфигурируется BMC.
Клиентам Selectel доступен IPMI для выделенных серверов и серверов произвольной конфигурации. IPMI реализован в виде KVM-консоли, которая запускается в noVNC-сессии через панель управления. Для этого в карточке с информацией о сервере надо нажать на значок консоли в правом верхнем углу:
Консоль открывается в браузере и подстраивается под размер экрана. При желании консоль можно использовать даже через телефон или планшет.
Сессия прерывается, если выйти из панели.
Заключение
IPMI ― это полностью автономный компонент серверной платформы, который не зависит ни от операционной системы, ни от BIOS, ни от CPU сервера.
Благодаря IPMI, затраты на обслуживание серверных систем сокращаются, а жизнь системных администраторов становится проще. Нет необходимости постоянного присутствия рядом с оборудованием ― его работа контролируется удаленно по сети.
В этой статье мы рассмотрели основные компоненты IPMI. Однако детали технологии обширны. Талантливые разработчики, опираясь на спецификацию, могут создавать свое IPMI-оборудование и open-source инструменты, попутно устраняя недостатки текущей спецификации и открывая новые возможности удаленного управления.
Что такое ipmi в сервере
Всем привет сегодня расскажу что такое IPMI порт управления, как его системный инженер может использовать у себя на работе в повседневные будни, упрощая себе жизнь просто до безобразия.
Возможности IPMI
Как работает контроллер BMC
Давайте посмотрим схему работы BMC контроллера. И так Baseboard Management Controller это интерфейс для удаленного управления и мониторинга состояния сервера. По сути Baseboard Management Controller это однокристальная система, как ее правильно называть System-on-a-Chip, SoC. У BMC есть встроенное графическое ядро, которое обращается и взаимодействует с основными компонентами материнской платы серверного железа, через всевозможные интерфейсы, нужные для работы стандарта IPMI. Чем хорош IPMI, так это, то что он не зависит от операционной системы хостового сервера. Лично я использую IPMI, для прошивки BIOS у серверов и установки серверной операционной системы.
Так же IPMI может работать за NAT, например в цодах, людям дают возможность управлять так своим сервером, полезно если он завис. Для NAT потребуется открыть вот такие порты:
Как выглядит на серверах IPMI-порт
Приведу пример того, как на физическом сервере SuperMicro выглядит данный порт управления. Я выделил его стрелкой, чаще всего он располагается над портами USB.
Далее вам необходимо все сконфигурировать, как настроить IPMI на серверах Supermicro в BIOS или через утилиту ipmicfg, я уже рассказывал, на этом я не останавливаюсь.
Пароль по умолчанию на IPMI
Стандартным логином и паролем для IPMI будет ADMIN / ADMIN, именно большими буквами.
Перед вами появится страница со сводной информации о системе, которую вы можете себе лицезреть на картинке, она дает вам обзор системы, IP-адреса, номера версии прошивки, версии BIOS, а также предварительного просмотра удаленной консоли. Тут же вы вообще можете включить сервер, если он не работает. Я много раз пользовался IPMI интерфейсом, чтобы включить сервер, после того, как его случайно погасили.
На экране информации об оборудовании вы можете просмотреть различные компоненты оборудования, чтобы увидеть спецификации и т. д.
С помощью раздела Configuration вы можете выполнить целый ряд задач, включая оповещения, аутентификацию RADIUS, сетевую конфигурацию (для самого IPMI), настройку SMTP для предупреждений, контроль доступа по IP, системные журналы и т. д.
Раздел удаленного управления (Remote ControL) является одной из наиболее интересных вещей, так как, скорее всего, вам будет интересно иметь удаленный доступ к серверу, если вы в первую очередь заходите на IPMI.
В разделе дистанционного управления (Remote Control ), меню управления питанием позволяет:
Меню Launch SOL позволяет запустить консоль SOL.
Для запуска консоли удаленного управления в IPMI (Remote Console), кликните по превью изображению, у вас должен скачаться java файл. Браузер может на него ругаться, нажмите «Keep», чтобы подтвердить загрузку.
Во всплывающем окне нажмите «Continue»
далее для запуска консоли управления нажмите «Run». Может выскочить несколько разновидностей ошибок: