Ipmitool: различия между версиями

Материал из ALT Linux Wiki
м (→‎пример настройки для S5000: вынес про agetty отдельно, добавил про securetty)
 
(не показаны 2 промежуточные версии 2 участников)
Строка 35: Строка 35:
* проверить состояние питания локально: {{cmd|ipmitool power status}}
* проверить состояние питания локально: {{cmd|ipmitool power status}}
* выключить питание удалённо: {{cmd|$IPMI -H $HOST power off}}
* выключить питание удалённо: {{cmd|$IPMI -H $HOST power off}}
* включить питание удалённо: {{cmd|$IPMI -H $HOST power status}}
* включить питание удалённо: {{cmd|$IPMI -H $HOST power on}}
* выключить-включить удалённо: {{cmd|$IPMI -H $HOST power cycle}}
* выключить-включить удалённо: {{cmd|$IPMI -H $HOST power cycle}}
* отресетить: {{cmd|$IPMI -H $HOST power reset}}
* отресетить: {{cmd|$IPMI -H $HOST power reset}}
Строка 44: Строка 44:
* поставить IP: {{cmd|ipmitool lan set 1 ipaddr 192.168.10.112}}
* поставить IP: {{cmd|ipmitool lan set 1 ipaddr 192.168.10.112}}
* поставить маску: {{cmd|ipmitool lan set 1 netmask 255.255.255.0}}
* поставить маску: {{cmd|ipmitool lan set 1 netmask 255.255.255.0}}
* поставить шлюз: {{cmd|ipmitool lan set 1 defgw ipaddr 192.168.10.254}}
* выставить vlan: {{cmd|ipmitool lan set 1 vlan id 333}}


== user management ==
== user management ==

Текущая версия от 19:17, 12 февраля 2024

ipmitool howto

ipmitool -- утилита для out-of-band управления хостами по протоколу IPMI.

Внимание! при задействовании думаем, что делаем, и только потом жмём энтер
-- можно промахнуться и уложить важный хост вместо нужного!


Здесь только основные случаи. Обязательно прочитать ман на основные ключи, случаи использования.

указание пароля

Пароль может указываться в команде, через окружение или через файл. Прямо в команде -- очень вредно. Рекомендуется или через окружение, или через файл.

Первый вариант:

export IPMI_PASSWORD=TopSecret
IPMI='ipmitool -U ADMIN -E'

Второй вариант:

touch ~/.ipmi_password
chmod 0600 ~/.ipmi_password
echo TopSecret >~/.ipmi_password
IPMI="ipmitool -U ADMIN -f $HOME/.ipmi_password"

Прямо в команде (не рекомендуется, т.к. ps покажет):

IPMI="ipmitool -U ADMIN -P TopSecret"

дальше будем считать, что $IPMI (без кавычек) -- начало команды.

частые команды

  • посмотреть состояние датчиков локально: ipmitool sdr
  • посмотреть известные датчики с границами: ipmitool sensor
  • проверить состояние питания локально: ipmitool power status
  • выключить питание удалённо: $IPMI -H $HOST power off
  • включить питание удалённо: $IPMI -H $HOST power on
  • выключить-включить удалённо: $IPMI -H $HOST power cycle
  • отресетить: $IPMI -H $HOST power reset

network settings

  • посмотреть локально: ipmitool lan print N (N -- номер канала, 1 и выше)
  • поставить IP: ipmitool lan set 1 ipaddr 192.168.10.112
  • поставить маску: ipmitool lan set 1 netmask 255.255.255.0
  • поставить шлюз: ipmitool lan set 1 defgw ipaddr 192.168.10.254
  • выставить vlan: ipmitool lan set 1 vlan id 333

user management

  • посмотреть: ipmitool user list 1
  • задать имя аккаунта: ipmitool user set name 1 ADMIN
  • задать пароль аккакунта: ipmitool user set password 1 ADMIN

Serial-over-LAN

  • проверить: $IPMI -I lanplus -H 10.1.0.201 sol info
  • задействовать: $IPMI -I lanplus -H 10.1.0.201 sol activate
  • разорвать: $IPMI -I lanplus -H 10.1.0.201 sol deactivate

Ко всем этим командам добавить -o intelplus для ряда платформ (например, Intel S5000). Обратите внимание: на многих платформах эта опция не работает с характерным сообщением "Error: Unable to establish IPMI v2 / RMCP+ session".

пример настройки для S5000

agetty

Для обработки последовательного порта со стороны ОС следует:

  1. установить пакет agetty;
  2. добавить что-то вроде S1:12345:respawn:/sbin/agetty ttyS1 115200 в /etc/inittab;
  3. сказать init q;
  4. добавить ttyS1 в /etc/securetty для возможности входа рутом.

Если SoL окажется заведено на /dev/ttyS0 или устойчиво заработает на 57600, поправьте соответственно.

ipmitool

Первая часть изнутри хоста:

# предполагаем ipmi_si и ipmi_devintf уже загруженными
ipmitool user list 1
# видим админа с номером 3
ipmitool user set password 3 ADMIN
ipmitool user priv 3 4 1 ## админу - админово

# сеть: убираем лишнее и ставим нужное:
ipmitool lan set 2 access off
ipmitool lan set 2 ipsrc none
ipmitool lan set 2 ipaddr 0.0.0.0
ipmitool lan set 3 access off
ipmitool lan set 3 ipsrc none
ipmitool lan set 3 ipaddr 0.0.0.0
ipmitool lan set 1 access on
ipmitool lan set 1 ipsrc static
ipmitool lan set 1 ipaddr 10.0.0.229
ipmitool lan set 1 netmask 255.255.255.0
ipmitool lan set 1 arp respond on
ipmitool lan set 1 arp generate on
ipmitool lan set 1 arp interval 30

На этом этапе IPMI-карточка должна начать пинговаться.

ipmitool lan set 1 auth admin password

с этого момента должны работать обычные команды снаружи, например, так:

export IPMI_PASSWORD=ADMIN
ipmitool -U ADMIN -E -H 10.0.0.229 power status

Теперь строим SOL (настройка работает только снаружи):

SOLCTL='ipmitool -U ADMIN -E -H 10.0.0.229 -I lanplus -o intelplus sol'
$SOLCTL set enabled true
$SOLCTL set force-authentication true
$SOLCTL set non-volatile-bit-rate 115.2
$SOLCTL payload enable 14 3
$SOLCTL activate

и уже есть шанс получить консоль.

Для получения вывода ядра следует добавить в его параметры что-то вроде console=ttyS1,57600 console=tty0 (при нескольких значениях /dev/console будет на последнем по порядку).

BIOS

Server Management > Console Redirection; настройки:

  • (redir) Serial Port B
  • (flow) RTC/CTS
  • (rate) 38.4k
  • (term) VT100
  • (legacy) Enabled