Использование инструмента IPMI от Romulus
Как запустить инструмент IPMI из образа openBMC romulus. Мне удалось запустить программу Hello World в соответствии с инструкциями. Я хочу запустить команду инструмента IPMI с romulus на BMC другого сервера. Есть ли способ сделать это? Поскольку команда ipmitool не включена. Есть ли способ включить его в изображение Ромула?
2 ответа
Ipmitool действительно предназначен для использования вне BMC для управления им. Поэтому в большинстве случаев вы устанавливаете пакет ipmitool на свой компьютер (sudo apt install ipmitool), а затем используете его для связи с сервером.
то есть:
ipmitool -I lanplus -U root -H <server> -P <password> chassis power status
Если вы используете QEMU, то я считаю, что вам нужен порт 623 hostfwd, чтобы это работало. Лично у меня раньше не было ipmitool для разговора с сеансом QEMU.
Если вам действительно нужен ipmitool в образе BMC, вы можете добавить его как RDEPENDS в файл packagegroup, аналогично тому, что делает facebook в https://github.com/openbmc/meta-facebook/blob/master/meta-tiogapass/recipes-fbtp/packagegroups/packagegroup-fb-apps.bb
У Romulus нет ipmitool в образе прошивки OpenBMC, как и на некоторых других платформах OpenBMC; не все платформы имеют пространство SPI FLASH, обеспечивающее множество утилит. Вы можете использовать ipmitool с удаленной машины на Romulus, как показано ниже.
ipmitool -I lanplus -C 17 -p 623 -U root -H <server> -P <password> bmc info
или же
ipmitool -I lanplus -C 17 -p 623 -U root -H <server> -P <password> raw 0x06 0x01
Я решил использовать -C 17 для набора шифров 17, поскольку ipmitool по умолчанию использует набор шифров 3, а современные платформы не рекомендуют набор шифров 3 по соображениям безопасности. Наборы шифров 3 и 17 были последними двумя наборами, которые имели хоть какую-то степень защиты, а 17 - более сильным (не считайте это сильным), и теперь набор 3 считается слабым.
а вот команды ipmitool:
usage: ipmitool [options...] <command>
-h This help
-V Show version information
-v Verbose (can use multiple times)
-c Display output in comma separated format
-d N Specify a /dev/ipmiN device to use (default=0)
-I intf Interface to use
-H hostname Remote host name for LAN interface
-p port Remote RMCP port [default=623]
-U username Remote session username
-f file Read remote session password from file
-z size Change Size of Communication Channel (OEM)
-S sdr Use local file for remote SDR cache
-D tty:b[:s] Specify the serial device, baud rate to use
and, optionally, specify that interface is the system one
-4 Use only IPv4
-6 Use only IPv6
-a Prompt for remote password
-Y Prompt for the Kg key for IPMIv2 authentication
-e char Set SOL escape character
-C ciphersuite Cipher suite to be used by lanplus interface
-k key Use Kg key for IPMIv2 authentication
-y hex_key Use hexadecimal-encoded Kg key for IPMIv2 authentication
-L level Remote session privilege level [default=ADMINISTRATOR]
Append a '+' to use name/privilege lookup in RAKP1
-A authtype Force use of auth type NONE, PASSWORD, MD2, MD5 or OEM
-P password Remote session password
-E Read password from IPMI_PASSWORD environment variable
-K Read kgkey from IPMI_KGKEY environment variable
-m address Set local IPMB address
-b channel Set destination channel for bridged request
-t address Bridge request to remote target address
-B channel Set transit channel for bridged request (dual bridge)
-T address Set transit address for bridge request (dual bridge)
-l lun Set destination lun for raw commands
-o oemtype Setup for OEM (use 'list' to see available OEM types)
-O seloem Use file for OEM SEL event descriptions
-N seconds Specify timeout for lan [default=2] / lanplus [default=1] interface
-R retry Set the number of retries for lan/lanplus interface [default=4]
Interfaces:
open Linux OpenIPMI Interface [default]
lan IPMI v1.5 LAN Interface
lanplus IPMI v2.0 RMCP+ LAN Interface
serial-terminal Serial Interface, Terminal Mode
serial-basic Serial Interface, Basic Mode
Commands:
raw Send a RAW IPMI request and print response
i2c Send an I2C Master Write-Read command and print response
spd Print SPD info from remote I2C device
lan Configure LAN Channels
chassis Get chassis status and set power state
power Shortcut to chassis power commands
event Send pre-defined events to MC
mc Management Controller status and global enables
sdr Print Sensor Data Repository entries and readings
sensor Print detailed sensor information
fru Print built-in FRU and scan SDR for FRU locators
gendev Read/Write Device associated with Generic Device locators sdr
sel Print System Event Log (SEL)
pef Configure Platform Event Filtering (PEF)
sol Configure and connect IPMIv2.0 Serial-over-LAN
tsol Configure and connect with Tyan IPMIv1.5 Serial-over-LAN
isol Configure IPMIv1.5 Serial-over-LAN
user Configure Management Controller users
channel Configure Management Controller channels
session Print session information
dcmi Data Center Management Interface
nm Node Manager Interface
sunoem OEM Commands for Sun servers
kontronoem OEM Commands for Kontron devices
picmg Run a PICMG/ATCA extended cmd
fwum Update IPMC using Kontron OEM Firmware Update Manager
firewall Configure Firmware Firewall
delloem OEM Commands for Dell systems
shell Launch interactive IPMI shell
exec Run list of commands from file
set Set runtime variable for shell and exec
hpm Update HPM components using PICMG HPM.1 file
ekanalyzer run FRU-Ekeying analyzer using FRU files
ime Update Intel Manageability Engine Firmware
vita Run a VITA 46.11 extended cmd
lan6 Configure IPv6 LAN Channels