|
Bog BOS: hardware: IPMI |
Последнее изменение файла: 2022.04.29
Скопировано с www.bog.pp.ru: 2024.12.02
Стандарт IPMI (Intelligent Platform Management Interface) определяет архитектуру управления серверным оборудованием, описывает протокол взаимодействия с автономным управляющим контроллером BMC (Baseboard Management Controller), форматы репозиториев описания оборудования и датчиков. Предназначен для локального и удалённого контроля за оборудованием. Позволяет взаимодействовать с системами автономного (независимого от основного процессора системы) мониторинга (температура, напряжение, скорость вращения вентиляторов и др.), удалённо управлять питанием серверов, проводить инвентаризацию оборудования. Подсистема IPMI работает автономно, без участия ЦП сервера (сервер м.б. вообще выключен),
Версия 2.0 принята в 2004 году. DCMI (Data Center Management Interface) основывается на IPMI с отсечением лишнего. Intel AMT (Active Management Technology) является конкурирующей технологией.
Сердцем системы является 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.
Доступ по сети (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 предоставлены:
|
Bog BOS: hardware: IPMI |