@ Карта сайта News Автора!

Bog BOS: hardware:  IPMI

Последнее изменение файла: 2022.04.29
Скопировано с www.bog.pp.ru: 2024.12.02

Bog BOS: hardware: IPMI

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

Версия 2.0 принята в 2004 году. DCMI (Data Center Management Interface) основывается на IPMI с отсечением лишнего. Intel AMT (Active Management Technology) является конкурирующей технологией.

Архитектура IPMI

Сердцем системы является BMC, который имеет собственный процессор, память, прошивку и сетевой интерфейс:

BMC вычислительных узлов могут обмениваться информацией друг с другом, со вспомогательными контроллерами (со своими сенсорами и SEEPROM для FRU) по IPMB (например, шасси или БП). BMC также м.б. соединён по LPC Bus и USB с южным мостом (Super IO) для имитации клавиатуры и мыши, OEM сигналами с индикаторами и переключателями.

BMC хранит информацию о FRU (Field Replaceable Unit, заменяемые составные части устройства), SDR (Sensor Data Record, репозиторий информации о сенсорах и пороговых границах их значений) и SEL (System Event Log, системный журнал о превышении порогов) в энергонезависимой памяти.

BMC, видеоконтроллер и сервисный процессор могут быть объединены в одной SoC с выходом в локальную сеть через независимый или системный порт Ethernet для реализации удалённого KVM (KVM over IP). Пакеты данных клавиатуры, мыши и видео пакуются и шифруются с помощью протокола RMCP+ (сессия IPMI). Возможна реализация виртуального USB устройства. Также дополнительно часто реализуют веб-интерфейс (http, https) и командный интерфейс (ssh, telnet).

Пользователи и привилегии, аутентификация и конфиденциальность. Пользователи нумеруются, пользователи 1 и 2 могут иметь фиксированные имена (пустое имя и root). Каждому активному пользователю присваивается пароль и набор привилегий доступа (). Распределение каналов задаётся поставщиком BMC. Каналы сетевого доступа (их может быть несколько) необходимо предварительно настроить:

ipmitool channel info 1 # а сеть ли это?

ipmitool lan set 1 ipsrc static
ipmitool lan set 1 ipaddr адрес
ipmitool lan set 1 netmask 255.255.252.0
ipmitool lan set 1 defgw ipaddr адрес
ipmitool lan set 1 vlan id {номер|off}
ipmitool lan set 1 access on # ?
  или
ipmitool lan set 1 ipsrc dhcp

ipmitool lan print номер-канала # информация о MAC и текущих сетевых настройках

ipmitool lan set номер-канала snmp комьюнити
ipmitool lan set номер-канала cipher_privs шаблон # для каждого набора алгоритмов из 15 задаются права доступа (X - никаких, u - пользователь, o - оператор, a - администратор)

Типы привилегий пользователей:

Каждому каналу доступа можно задать свой список привилигий:

ipmitool channel getaccess 1 # список пользователей и прав доступа

ipmitool user list номер-канала # список пользователей для указанного канала (01h - LAN)

ipmitool user set name номер-пользователя имя-пользователя

ipmitool user enable номер-пользователя # разрешить доступ

ipmitool user set password номер-пользователя

ipmitool channel setaccess номер-канала номер-пользователя ipmi=on
ipmitool channel setaccess номер-канала номер-пользователя link=on
ipmitool channel setaccess номер-канала омер-пользователя privilege=2

Репозиторий SDR содержит информацию о сенсорах и их пороговых значениях: индекс, имя, тип, тип события/чтения (event/reading type, например дискретное значение), единица измерения и смещение(?), нижний порог, нижний критический порог, нижний разрушительный порог, верхний порог, верхний критический порог, верхний разрушительный порог, тип генерируемого события: установка или сброс, тип перезарядки сенсора (автоматическая, ручная, по инициализации), гистерезис, доступность в режиме ожидания. Датчики вентиляторов сообщают о наличии, работоспособности и скорости вращения. Вентиляторы могут группироваться по областям (domain), которые позволяют управлять группами вентиляторов или задавать политики управления. Типы сенсоров: .

BMC обеспечивает централизованный репозиторий для хранения записей о системных событиях - SEL (System Event Log).

Репозиторий FRU (Field Replaceable Unit) содержит информацию о составных частях устройства (изготовитель, модель, серийный номер, инвентарный номер). Может наполняться автоматически и/или редактироваться вручную.

Сторожевой таймер (watchdog) позволяет выполнить указанное действие (перезагрузка) при отсутствии ответа от ОС в течении указанного времени.

PEF (Platform Event Filtering) позволяет настроить реакцию на системные события: оповещение, выключение, запись в журнал, перезагрузка.

Управление платформой: включение и выключение питания, сброс, прерывания.

Извещения.

SMASH CLP (Systems Management Architecture for Server Hardware command line protocol ои DMTF) позволяет в режиме командной строки управлять питанием, смотреть значения датчиков, смотреть журнал. Доступ по протоколу SSH в интерактивном режиме (команда может быть послана через stdin: "echo reset system1|ssh адрес"). Примеры команд:

help
show [объект]
cd объект # target
exit
reset system1
stop system1
start system1
show system1
show system1/pwrsupply1
show system1/pwrsupply1/currentsensor89 # текущая загрузка БП
show system1/pwrsupply1/pwrsupply81
show system1/pwrsupply1/tempsensor93
show system1/sp1/logs1 # это SEL

Примеры: HP iLO2, Intel RMM4, DELL DRAC, MegaRAC, SuperMicro Nuvoton.

Надо учитывать, что BMC имеет доступ к данным с клавиатуры и экрана, общается с ME внтури процессоров Intel, имеет сетевой интерфейс и может разделять системный сетевой интерфейс, а также выполняет программы, которые вы не можете контроллировать!

PMBus (Power Management Bus) - протокол на основе транспорта SMBus 2.0 для получения информации и управления БП и прочими энергетическими устройствами.

Модули ядра

Загрузить модули ipmi_msghandler, ipmi_devintf и ipmi_si. В RHEL 6.4 модули ipmi_msghandler и ipmi_devintf встроены в ядро (наблюдаются проблемы с загрузкой прошивки с помощью утилит Intel).

Пакет ipmitool

Пакет ipmitool.

Доступ по сети (UDP/623):
ipmitool -I lanplus -H имя-хоста -U имя-пользователя -L уровень-доступа команда

Грязные трюки

Прямой доступ для S2600JF и S2600TPR (результат в шестнадцатеричном виде):

ipmitool  raw 0x30 0xe2 0 0 0
00 74 00 # 3 и 2 байты - это количество Ватт текущего потребления вычислительного узла (не всего корпуса!)

ipmitool  raw 0x30 0xe2 0x10 0 0
10 0a 00 # 3 и 2 байты - это температура на входе (градусов Цельсия) 

ipmitool  -b 0x6 -t 0x2c raw 0x2e 0xc8 0x57 1 0 1 0 0 # статистика потребления, формат?

ipmitool  -b 0x6 -t 0x2c raw 0x2e 0xd1 0x57 1 0 0 # текущее общее ограничение потребления

ipmitool  -b 0x6 -t 0x2c raw 0x2c 0x2 0xdc 1 0 0 # статистика потребления от DCGRP (можно задавать лимит)

Прямой доступ для SuperMicro

# для PMBus 1.2 (PWS REV 1.1, не работает для новых)
ipmitool raw 0x06 0x52 0x07 0x78 0x01 0x78 # наличие питания БП1
ipmitool raw 0x06 0x52 0x07 0x7a 0x01 0x78 # наличие питания БП2

# для PMBus 1.2 (PWS REV 1.1 (не работает для старых) и 1.2)
ipmitool raw 0x06 0x52 0x07 0x78 0x01 0x8d # температура1 БП1
ipmitool raw 0x06 0x52 0x07 0x78 0x01 0x8e # температура2 БП1
ipmitool raw 0x06 0x52 0x07 0x7a 0x01 0x8d # температура1 БП2
ipmitool raw 0x06 0x52 0x07 0x7a 0x01 0x8e # температура2 БП2

ipmitool raw 0x06 0x52 0x07 0x70 0x01 0xF5 # БП1, AC Input Power, младший байт
ipmitool raw 0x06 0x52 0x07 0x70 0x01 0xF6 # БП1, AC Input Power, старший байт
ipmitool raw 0x06 0x52 0x07 0x72 0x01 0xF5 # БП2, AC Input Power, младший байт
ipmitool raw 0x06 0x52 0x07 0x72 0x01 0xF6 # БП2, AC Input Power, старший байт

ipmitool raw 0x06 0x52 0x07 0x78 0x01 0x90 # БП1, частота вращения вентилятора
ipmitool raw 0x06 0x52 0x07 0x7a 0x01 0x90 # БП2, частота вращения вентилятора
  49 - 1168
  4a - 1184
  4d - 
  4e - 1248-1264
  53 - 1328
  5a - 2880

Другие инструменты

Одновременно с ipmitool в RHEL/CentOS предоставлены:

Ссылки

@ Карта сайта News Автора!

Bog BOS: hardware:  IPMI



Copyright © 1996-2024 Sergey E. Bogomolov; www.bog.pp.ru