Представьте себе, что сервер спокойно обходится без аппаратной консоли, а все, что с ним случается, регулируется по сети. Технология удобна, хоть и не нова. Она базируется на Intelligent Platform Management Interface (IPMI) — интеллектуальном интерфейсе управления платформой. Если вы системный администратор или обслуживаете серверную инфраструктуру, такое управление облегчит вам работу и жизнь. Подключив сервер и сконфигурировав BIOS и IPMI, вы можете удаленно настраивать систему, а затем контролировать работу серверов.
Технологию удаленного доступа разработали и внедрили видные изготовители серверных решений: Intel, Dell, Hewlett-Packard и NEC. Цель — выполнять операции на устройствах, расположенных в разных сооружениях и даже в другой части света.
Первая технология появилась в 1998 году. В ней подключались к модулю по RS-232, последовательному интерфейсу. В новых версиях, например, integrated IPMI 2.0, используется стандартный сетевой интерфейс, исправлены недочеты, добавлены новые функции.
Обратите внимание, что тандарт распространяется на интерфейс. Поэтому у разных производителей — свои устройства, оборудование и микроконтроллеры, поддерживающие технологию.
Спецификация не содержит суровых стандартов для оборудования. Допустимы отдельные адаптеры и микроконтроллеры, а также распаянные на самой материнке.
Сейчас используют контроллеры BMC, интегрированные в серверные материнские платы. Они базируются на технологии SoC, которая подразумевает:
Компании создают оборудование на базе спецификаций, варьируя тонкости технологии и выбор сервис-процессоров. Например, у IPMI Dell — это iDRAC, а у Lenovo — IMM. Их функциональные возможности приблизительно равны, а основа — интерфейс IPMI.
Таблица соответствий технологий на основе IPMI и производителей.
Производитель |
Технология на основе IPMI |
DELL |
iDRAC (Integrated Dell Remote Access Controller) |
HP |
iLO (Integrated Lights-Out) |
Supermicro |
SIM (Supermicro Intelligent Management) |
Lenovo |
IMM (Integrated Management Module) |
IBM |
IMM (Integrated Management Module) |
Cisco |
IMC (Integrated Management Controller) |
Технологии могут отличаться:
Замечательная технология, упрощающая взаимодействие с оборудованием серверов, применима к материнкам, оборудованных чипом IPMI BMC. Поговорим, как к ней подключиться и настроить.
Подключиться к локальной сети вы можете через порт RJ-45. Его обозначение — IPMI lan.
На серверах компании SuperMicro, например, IPMI port чаще всего размещен выше портов USB.
Рассмотрим, что нужно сделать с платой, оборудованной чипом bmc, чтобы подключиться к интерфейсу.
Смотрим на заднюю панель вашей IPMI board. Здесь вы увидите несколько портов RJ45, их количество зависит от типа сетевой карты. Вам нужно найти одиноко стоящий порт RJ45 lan, как правило, слева, рядом с com-портом. Когда порт найден, подключаем туда патч-корд. Лампочки загорелись — значит, пакеты пошли.
Если вы выбрали статическую адресацию, то после ввода IP в адресную строку браузера вы попадете на непосредственный вход в IPMI. Браузер должен быть подключен к той же сети, что и материнская плата.
Можно использовать динамический адрес (DHCP), полученный BMC. Тогда вам придется перезагрузиться, чтобы увидеть назначенный IP-адрес.
Вбиваем в браузере тот же IP, что указывали в BIOS, затем вводим логин и пароль. Иногда эти данные указаны непосредственно на оборудовании.
Внимание. Стандартные атрибуты для входа в IPMI — ADMIN и ADMIN, введенные в верхнем регистре. Вы сами понимаете, что оставлять учетные данные в таком виде крайне опасно. Поэтому создайте нового пользователя, а стандартного удалите или поменяйте пароль на надежный.
Вы будете управлять удаленными машинами напрямую, без привлечения ОС, установленной на сервере:
Для отслеживания доступности, производительности и загруженности серверов удобно применять внешнее ПО. Если вам нужна статистика не только по ОС, но и по железу, ее можно получить благодаря содружеству Zabbix с IPMI.
Можно отслеживать перепады температуры, напряжения, наблюдать за скоростью вращения кулеров и за многим другим, если конфигурация сервера поддерживает эту технологию. Хост настраивается на обработку проверок: добавляются интерфейс, IP и номер порта.
Zabbix не генерирует процессы опроса хостов (поллеры) по умолчанию. Чтобы изменить ситуацию, вам понадобится открыть файл конфигурации zabbix_server.conf и откорректировать его.
Для этого войдите с правами Root (учетная запись главного администратора), перейдите на строку StartIPMIPollers, затем проставьте в ней количество поллеров, например:
# StartIPMIPollers=5
После сохранения файла конфигурации перезапустите сервер.
Чтобы настроить узел сети:
Примечание. Чтобы идентифицировать нужный Zabbix датчик, включите сервер с параметром DebugLevel=4. Спустя несколько минут отобразится журнал сервера. В нем вы увидите найденные датчики. Чтобы расшифровать их типы и возможные состояния, вам понадобиться скачать с сайта-производителя описание спецификаций технологии IPMI для нужной версии.
Поговорим об обязательных компонентах и их особенностях на примере утвержденной классификации Intel IPMI.
Controller содержит встроенные процедуры и сетевой интерфейс.
Это основа системы. IPMI module BMC может быть впаян в плату или подсоединен к ней через шину PCI.
BMC — система со своим графическим ядром. Благодаря ему можно обращаться к серверному железу и коммуницировать с ним через удаленный интерфейс.
Этот микроконтроллер регулирует мощность, температуру и прочие показатели всей конфигурации. Он служит таймером, по которому перезапускается центральный процессор, если система сбоит.
Достоинство центрального контроллера — независимость от ОС сервера. Еще один плюс — состояние сервера не влияет на функциональность BMC. Он всегда работоспособен, так как для питания используется дежурное напряжение блока питания. Контроллер заработает, как только на вход блока поступит 220V, и ему все равно — включен сервер или нет.
Обозначение — MCs. Их подключают с целью расширить стандартные средства управления.
Справка. MCs мониторят различные устройства: периферию, запасные источники питания, системы с RAID. Этим они отличаются от BMC, который контролирует всю систему.
Дополнительные контроллеры идут как несколько отдельных плат, а центральный модуль BMC — всего один.
MCs взаимодействуют с центральным контроллером через интерфейс IPMB. С помощью этой шины BMC переадресует:
Чтобы получить доступ к сенсорным данным, удаленный администратор сначала посылает команду центральному контроллеру, а тот потом взаимодействует с сенсорами.
Механизмы, позволяющие контроллеру выполнять автоматические действия:
Содержит:
При сбое центрального процессора на удаленном сервере такое хранилище может продолжать работать через локальную IPMI network.
Совет. Если пользователи жалуются на неустойчивую работу сервера, а логи утверждают, что все хорошо — проанализируйте SEL. Когда сбоит какая-то из планок, событие отражается в журнале. В нем указывается слот, поэтому вам будет понятно, что нужно заменить.
Требования к журналу
Важно. Память журнала не бесконечна, поэтому его необходимо периодически очищать. Автоматическая очистка проставляется в настройках центрального контроллера.
Записи SDR
Состоят:
Записи FRU
Состоят из инвентарных данных: серийников, марок процессоров, контроллеров, линеек памяти и устройств ввода-вывода.
Эти данные предоставляют команды интерфейса IPMI, а также команды низкого уровня, с помощью которых взаимодействуют контроллеры и модули, не поддерживающие IPMI.
Система функционирует в режиме запрос-ответ. Запрос — это сообщение, отправленное с целью получить реакцию. Запросы состоят из команд, которые запускают заданные действия и присваивают значения атрибутам. Режим допускает, чтобы несколько контроллеров одновременно взаимодействовали по одной шине.
У всех команд — единообразный синтаксис, его описывает спецификация интерфейса v2.0. Обязательные поля и опции следуют строго по порядку.
Рассмотрим структуру команд.
NetFn (Network Function) |
Классифицирует группы команд по типам. Младшие 6 битов идентифицируют функции, старшие 2 — поле, отвечающее за адресацию в рамках платформы. Функция распределяет команды по кластерам, с которыми они связаны: хранилища, события, шасси. |
Cmd |
Управляющая команда, уникальная в пределах сетевой функции. |
Subcmd |
Необязательное поле, расширяющее Cmd. |
Request Data |
Необязательные поля, которых может быть от 0 до цепочки полей. Их структура обусловлена содержимым Cmd и Subcmd; |
Data |
Дополнительные параметры. К ним относятся данные, возвращаемые командой. |
Request/Response Identifier |
Поле служит для идентификации: запрос это или ответ. |
Requester’s ID |
Указывает на источник сообщения, может содержать номер логического блока. |
Response Data |
Результат. |
Обратите внимание. Ответ обязательно содержит Completion Code, оповещающий с каким результатом была завершен запрос. Если при выполнении команды что-то пошло не так, система вернет код ошибки.
Рассмотрим пример трехбайтового формата команд для платформы SuperMicro X11SCL-F.
30 45 00
Функция 030 рядом с командой 045 относятся к системам охлаждения. Параметр 00 в поле data0 запрашивает режим вентилятора.
Ели из 4 возможных значений контроллер вернул 03, это значит, что режим оптимальный.
Сетевой интерфейс используется в спецификации IPMI 2. Он доступен через выделенный сетевой порт центрального контроллера с собственным IP.
Справка. Инкапсуляция — методология, соединяющая данные и обрабатывающий код. Она защищает их от стороннего вмешательства или недопустимого использования. Благодаря инкапсуляции закрытые коды и данные становятся недосягаемыми для частей программы, функционирующих вне объекта.
Сообщения, которые пересылаются через сеть, инкапсулируются поэтапно: пакеты IPMI Session, протокол RMCP, UDP datagrams, фреймы Ethernet.
Хотя последовательный интерфейс не участвует в процессе подключения удаленной консоли к центральному микроконтроллеру, он задействован в двух вспомогательных функциях, которые взаимодействуют между собой.
Перед тем, как сообщения IPMI начнут передаваться, устанавливается IPMI Session — сеанс формирования пакетов данных. Установить сеанс ― то же самое, что аутентифицировать пользователя.
Рассмотрим, что происходит, когда сеанс активируется.
Сеансы будут завершены автоматически, если за время, установленное в настройках, не будет никаких операций, а также если соединение разорвется.
Рекомендация. Если одновременно запросить множество активаций, доступ к центральному контроллеру будет заблокирован, ведь все его ресурсы будут задействованы в обработке сессий. Чтобы предотвратить это, применяйте методологию LRU (Last Recently Used). Согласно этому алгоритму будет утвержден ID для самого раннего запроса.
Из-за сбоев нарушается не только работоспособность интеллектуального интерфейса, но и функциональность сервера. Рассмотрим, по каким причинам система удаленного управления может сбоить.
IPMI сервер управляется с помощью:
Визуально web-интерфейс различен для каждой из реализаций интерфейса, но алгоритм доступа к удаленным объектам одинаков: сначала в адресную строку вбивается IP-адрес порта центрального контроллера, затем вводятся данные для аутентификации.
Справка. KVM — это узел, позволяющий удаленно подключиться к серверу по IP-адресу. С помощью консоли вы сможете перезагрузить сервер, протестировать правильность функционирования ОС, а также зайти в BIOS, когда нет доступа по внешнему IP.
Консоль запускается с помощью панели управления. Окно открывается в браузере и адаптируется под параметры экрана.
После запуска Java KVM-консоли вы увидите страницу, на которой отображены данные о системе:
Здесь же, пользуясь IPMI-интерфейсом, можно включить удаленный сервер.
Потом должно появиться окно, которое предоставит доступ к материнской плате на сервере. После ввода пароля серверной винды, вы получите полный доступ и сможете:
Консоль оснащена встроенной клавиатурой. Ее можно вызывать, выбирая Virtual Keyboard в меню Virtual Media.
Вкладка Event Log позволяет нам получить лог событий, который ведется автоматически и запоминает все, что происходит с сервером. Проанализировав логи, вы можете понять причины неполадки.
Вкладка Virtual Media позволяет создать виртуальный сидером. Мы подключаем виртуальный образ (ISO), и он появляется на материнской плате. Происходит подгрузка данных по сети, и не нужно вставлять никаких флешек. Вы выбираете бут с флешки на материнской плате, и все загружается и работает.
Вы можете обновить прошивку материнской платы при помощи утилиты AFUDOS, без флешек, просто зайдя в IPMI, и запустив прошивку.
Remote ControL — это секция удаленного управления. В ней есть меню, которое позволит осуществить сброс, а также немедленно или постепенно отключить питание.
Для управления используются web-интерфейс либо графическая утилита IPMIView, в которой присутствуют функции web-интерфейса.
Первичная настройка: зайдите в BIOS, затем в раздел Adnanced, и перейдите на IPMI Configuration.
Рассмотрим возможности настройки, доступной через меню BIOS.
Основные функции управления и мониторинга состояния платформы реализованы через веб-интерфейс. Для подключения введите адрес IPMI и авторизуйтесь.
Справка. Адрес и реквизиты содержатся в личном кабинете или в письме о доступе к вашему серверу.
После ввода IP и авторизации вы попадете на главное окно управления платформой с активной вкладкой “System Information”:
Переходя по другим вкладкам, вы сможете:
Управлять удаленно платформами по интеллектуальному интерфейсу вы можете с помощью ПО, которое разрабатывают производители оборудования.
Утилита с графическим интерфейсом от Супермикро поддерживает стандартные команды IPMI и KVM и выполняет те же задачи, например: поиск, диагностика и настройка, управление пользователями, а также функции BMC. Также вы сумеете перезагрузить, включить или выключить ваш удаленный сервер.
Скачать программу можно на официальном сайте, после того, как вы укажете свои данные.
Мы рассказали, что это за технология — IPMI и каковы ее возможности. Вы узнали про ее основные компоненты, настройки и структуру команд. Если заинтересовало управление удаленными серверами — заходите, ответим на все ваши вопросы.
Платформа хороша тем, что на ее работу не влияют состояние BIOS, ОС и оборудования. Вы сможете удаленно мониторить и конфигурировать выделенные серверы timeweb.cloud с помощью IPMI server, а также сократите расходы компании на программные и аппаратные средства.