Podstawowe informacje o IPMI

Z Thomas-Krenn-Wiki
Przejdź do nawigacji Przejdź do wyszukiwania

Ten artykuł opisuje sposób funkcjonowania i rożne zastosowania IPMI (Intelligent Platform Management Interface). IPMI jest rzędem specyfikacji, które udostępniają unormowany interfejs do tak zwanego „Platform Management“. Pojęcie „Platform Management“ używane jest w tym kontekście do monitoringu sprzętu (temperatur systemu, wentylatorów, zasilaczy itd.), jego zarządzania (włączanie/wyłączanie serwera) jak i dokumentację (logging) stanów „out-of-range“. IPMI zostało opracowane przez Intel, Hewlett-Packard, NEC i Dell.

Informacje zostały zaczerpnięte z obszernej specyfikacji IPMI 2.0.[1]

Główne cechy IPMI

Do głównych cech IPMI zaliczane jest:

  • Monitoring (monitorowanie sprzętu)
  • Recovery Control (przywrócenie/restart serwera)
  • Logging (protokołowanie stanów „out-of-range“ sprzętu)
  • Inventory (inwentaryzacja sprzętu)

Te cztery funkcje oferuje IPMI niezależnie od procesora (CPU), BIOS-u i systemu operacyjnego serwera. Funkcje dostępne są również, gdy serwer jest wyłączony (pod warunkiem, że co najmniej jeden zasilacz jest podłączony do prądu).

IPMI jest najlepiej wykorzystywane w połączeniu z oprogramowaniem do zarządzania systemem (System Management Software). IPMI jest specyfikacją interfejsu w warstwie sprzętowej, która została opracowana „management software neutral“.

Komponenty IPMI

IPMI składa się między innymi z następujących komponentów:

Ipmi-schematische-darstellung.png

(vide: Specyfikacja IPMI 2.0 [1], Rozdział 1.7.3, Rys. 1-2)

Baseboard Management Controller (BMC)

Mikrokontroler (BMC) jest sercem architektury IPMI. Zadaniami BMC są:

  • interfejs między system managment software i zarządzanym sprzętem (przez który BMC, za pośrednictwem IPMB i ICMB, połączone jest)
  • niezależny monitoring
  • niezależny Event-Logging
  • recovery control

Intelligent Platform Management Bus (IPMB)

IPMI pozwala na poszerzenie BMC o dodatkowe Management Controllers (MCs) poprzez zastosowanie IPMB.

IPMB jest seryjną magistralą opierającą się o I²C, która umożliwia połączenie różnych układów w zakresie jednej obudowy. Jest wykorzystywany do komunikacji między management controller (MCs). Dodatkowe MCs są często określane jako Satellite Controllers.

Intelligent Chassis Management Bus (ICMB)

ICMB udostępnia standaryzowany interfejs do komunikacji i zarządzania.

Obszar zapisu IPMI

IPMI zapisuje informację w System Event Log (SEL), Sensor Data Record (SDR) Repository jak i do Field Replaceable Units (FRU).

System Event Log (SEL)

BMC posiada centralny, non-volatile, System Event Log (SEL). Ponieważ SEL zarządzane jest przez BMC, to jest on dostępny z sieci, nawet w przypadku np. awarii procesora.

Rząd komend IPMI pozwala na odczyt (read) i opróżnienie (clear) SEL. Pamięć SEL jest ograniczona i dlatego powinna ona być regularnie kontrolowana i opróżniana. Dalsze informacje na ten temat zawarte są w następujących artykułach:

Sensor Data Record (SDR) Repository

Sensor Data Records są rekordami, które zawierają informacje odnośnie typu i ilości sensorów. Jeden rekord opisuje dokładnie jeden określony sensor.

Sensor Data Records przechowywane są w centralnym, non-volatile, obszarze pomięci, która jest zarządzana przez BMC. Obszar ten określany jest jako Sensor Data Record Repository (SDR Repository).

Dalsze informacje o sensorach IPMI znajdują się w artykule Sensory IPMI.

Field Replaceable Unit (FRU) Information

IPMI wspiera zapis informacji Field Replaceable Unit (FRU) różnych modułów systemu. Dane FRU zawierają informacje takiej jak numery seryjne (serial number), numery komponentów (part number), model (model) i Inventarnummern (asset tag).

Interfejsy komunikacyjne

IPMI umożliwia IPMI Messaging poprzez następujące interfejsy:

  • System Interface (lokalny dostęp)
  • Serial/Modem Interface (dostęp poprzez interfejs seryjny lub modem)
  • LAN Interface
  • (ICMB i PCI Management Bus)

Interfejsy systemowy

IPMI definiuje kilka interfejsów systemowych dla dostępu lokalnego, od oprogramowania systemowego po BMC. W celu zapewnienia obsługi szerokiej palety mikrokontrolerów dostępne jest kilka interfejsów systemowych. Komunikacja z interfejsami systemowymi może się odbywać przez I/O lub memory-mapped I/O.

Interfejsami systemowymi IPMI są:

  • Keyboard Controller Style (KCS)
  • System Management Interface Chip (SMIC)
  • Block Transfer (BT)
  • SMBus System Interface (SSIF)

Serial/Modem Interface

Specyfikacja interfejsu serial/modem definiuje w jaki sposób wiadomości IPMI, do i z BMC, mogą być przekazywane przez połączenie seryjne lub zew. modem.

Wspierane są przy tym trzy Connection Modes:

  • Basic Mode
  • PPP Mode
  • Terminal Mode

LAN Interface

Specyfikacja interfejsu LAN definiuje w jaki sposób wiadomości IPMI, do i z BMC, mogą być przekazywane w skompresowanej postaci przez RMCP (Remote Management Control Protocol) (port celu port UDP 623 - asf-rmcp). Ta funkcjonalność określana jest również jako „IPMI over LAN“. IPMI definiuje w tym miejscu również specyficzne dla sieci ustawienia takie jak np. adres IP.

RMCP pochodzi z Distributed Management Task Force (DMTF). Ten format pakietu jest wykorzystywany obok IPMI również do specyfikacji DMTF Alert Standard Forum (ASF).

W IPMI 2.0 zdefiniowany jest zaawansowany format pakietu (RMCP+). RMCP+ oferuje obok różnych rozszerzeń dla identyfikacji również szyfrowanie transmitowanych danych.

Payloads

Payloads jest funkcją, która umożliwia transfer danych w jednej sesji RMCP+ IPMI razem z wiadomościami IPMI . Jednym przykładem danych takiego typu jest Serial over LAN (SOL).

Channel Model

IPMI wykorzystuje channel model do bezpośredniej komunikacji między interfejsem komunikacyjnym i BMC. Każdy kanał cechuje się przy tym własną konfiguracją i właściwościami:

  • jednoznaczny channel number
  • typ interfejsu komunikacyjnego (np. Lan Interface)
  • użytkownicy i hasła (użytkownicy nie są tworzeni globalni dla całego BMC, jednak indywidualnie dla jednego kanału - w ten sposób jeden użytkownik o nazwie admin może na różnych kanałach posiadać różne hasła)
  • indywidualnie obsługiwane typy identyfikacji (np. MD5)
  • indywidualnie konfigurowalny Channel Privilege Limit
  • IPMI Messaging i Alerting może również indywidualnie zostać na każdym kanale włączone lub wyłączone

Channel Numbers

Każdy kanał posiada indywidualny channel number. Jedynie numery kanałów dla primary IPMB (channel number 0) i interfejsu systemowego (channel number Fh lub 15) są na stałe przyporządkowane. Pozostałe numery kanałów są zależne od każdej konkretnej implementacji.

Channel Number Type and protocol Description
0 Primary IPMB Channel 0 has been reserved for communication with the primary IPMB.
1-11 (1-Bh) Specific to the implementation These channels can be used for various types of communications channels. The respectively available channels depend on the specific IPMI implementation for a specific server system. Often, Channel 1 is used as the LAN channel (some servers like the Intel SR2500 also have additional LAN channels).
12-13 (Ch-Dh) - Reserved.
14 (Eh) Current interface This interface is used for identifying the channel currently in use. A program can issue the IPMI Get Channel Info IPMI command on this channel in order to discover the channel through communication is currently being transmitted.
15 (Fh) System interface This channel is used for the system interface.

Sesja

Jeden kanał może być session-based lub session-less. Jedna sesja wypełnia przy tym następujące zadania:

  • sesja oferuje framework do identyfikacji użykownika
  • sesja umożliwia kilka IPMI Messaging streams na jednym kanale

Kanały LAN i serial/modem są przykładami dla session-based, podczas gdy interfejs systemowy i IPMB przykładami dla kanałów session-less.

Channel Privilege Levels

Kanały mogą zostać skonfigurowane tak aby mogły zostać wykorzystane z określonym maks. poziomem uprawnień (Privilege Level). Odróżniane są następujące poziomy uprawnień:

Privilege level Description
Callback This is the lowest privilege level. It permits the initiation of a callback.
User Only IPMI begin commands will be allowed. They are primarily commands for reading and requesting about status information (sensors). Other functions (like changes to the BMC configuration, writing data to the BMC, and executing reset, power-on and power-off procedures) are not possible here.
Operator All BMC commands are allowed except for those for changing the out-of-band interfaces. Deactivating channels or changing user access privileges are not possible at the operator privilege level.
Administrator All BMC commands are allowed.

Uwaga: Jeżeli kanał (np. LAN Channel) ma zasadniczo oferować możliwość konfiguracji z uprawnieniami administratora to pomimo tego poszczególni użytkownicy mogą otrzymać niższe uprawnienia do tego kanału (User Privilege Limit). LAN Channel może zatem zostać skonfigurowany z Administrator jak i Channel Privilege Limit. Wtedy mogą np. dwaj użytkownicy (jeden z Administrator jako User Privilege Limit i drugi z User jako User Privilege Limit) zostać odpowiednio skonfigurowani.

Serial Over LAN (SOL)

Serial Over LAN (SOL) określa przekierowanie transferu danych do portu seryjnego baseboard (mainboard) przez sesję IPMI. Umożliwia to dostęp do interfejsu BIOS-u (jeżeli przekierowanie jest tam skonfigurowane), jak i dostęp do bootloadera takiego jak Grub lub wiersza poleceń w Linuksie (jeśli jest skonfigurowana konsola szeregowa). SOL jest zdefiniowany jako typ Payload w IPMI v2.0 (RMCP+).

Konkretny przykład jak może zostać skonfigurowany i wykorzystywany SOL znajduje się w artykule IPMI Serial over LAN (SOL).

Nowości w IPMI

Specyfikacje IPMI są od wersji 1.0 ciągle rozszerzane. Najważniejsze nowości są poniżej wymienione.

Nowości w IPMI v1.5

W dziale 1.5 specyfikacji IPMI 2.0 [1] wymienione są następujące nowości:

  • Serial/Modem Messaging and Alerting
  • Serial Port Sharing
  • Boot Options
  • LAN Messaging and Alerting
  • Extended BMC Messaging ‘Channel Model’
  • Additional Sensor and Event Types
  • Platform Event Filtering (PEF)
  • Alert Policies

Nowości w IPMI v2.0

W dziale 1.6 specyfikacji IPMI 2.0[1] wymienione są następujące nowości:

  • Enhanced Authentication (dodatkowe opcje dla IPMI over IP: RMCP+)
  • VLAN Support
  • Serial Over LAN (SOL, jest zdefiniowany jako oddzielny typ payload w nowej funkcji payload w RMCP+).
  • Payloads (RMCP+ umożliwia transfer innych typów danych niż wiadomości IPMI w sesji IPMI over IP. Zawiera unormowane typy payload jak SOL lub inne OEM specyficzne „value-added“ typy payload.)
  • Encryption Support (wiadomości IPMI i inne typy payload, które są transmitowane za pomocą RMCP+ mogą zostać szyfrowane).
  • Extended User Login Options
  • Firmware Firewall
  • SMBus System Interface (SSIF, jest nową opcją Hardware Interface, która pozwala na lokalny dostęp do BMC przez SMBus host controller. SSIF ma pomagać w implementacji lower-cost BMC).

Odnośniki

Dalsze informacje

Powiązane artykuły

Aktualizacje bezpieczeństwa Supermicro IPMI lipiec 2014
Konfiguracja IPMI pod Linuksem
Luka bezpieczeństwa USBAnywhere w IPMI na płytach głównych Supermicro