Ipmitool
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
Для обработки последовательного порта со стороны ОС следует:
- установить пакет agetty;
- добавить что-то вроде S1:12345:respawn:/sbin/agetty ttyS1 115200 в /etc/inittab;
- сказать init q;
- добавить 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