Будем обновлять прошивку IPMI (Redfish, BMC) сервера Supermicro. На этот раз сделаем это не через Web интерфейс, а по сети. Работать будем в Windows 10 с помощью подсистемы Linux, поэтому, инструкция также подходит для Linux-машин.
Причина выбора данного способа прошивки проста. Таким способом мы можем не только установить прошивку, но и снять дамп текущей. Это мне нужно для того, чтобы откатиться обратно на заводские настройки, если после прошивки что-то пойдёт не так.
Ссылки
Сервер Supermicro SYS-1029U-E1CR4
Тестовый стенд
Обновлять будем IPMI у сервера Supermicro SYS-1029U-E1CR4, текущая (заводская) версия прошивки IPMI — 1.69.
Работаю с рабочей станции с ОС Windows 10 (64 bit), соединённой с сервером по сети.
IP адрес сервера 10.25.51.11.
Прошивка
Заходим на страничку сервера:
https://www.supermicro.com/en/products/system/1U/1029/SYS-1029U-E1CR4.cfm
Переходим по ссылке IPMI.
Видим, что появилась новая прошивка R1.71.6. Имеется примечание:
Please update to the latest ASPEED VGA driver in your OS, before updating the IPMI firmware 1.71.6
В сервере Supermicro SYS-1029U-E1CR4 стоит материнская плата X11DPU с чипсетом Aspeed AST2500 BMC. На сайте https://www.aspeedtech.com/support.php имеются драйвера для Windows/Linux/FreeBSD/Solaris. У меня же планируется установка гипервизора ESXi. И на момент работ мне было непонятно, придётся откатываться или нет. Заводской версии IPMI у меня нет, поэтому, перед началом работ снимем дамп текущей заводской прошивки.
Забегая вперед, скажу, что инженер Aspeedtech ответил на мой вопрос по поводу драйверов к ОС ESXi:
"No need to update drier on ESXi 6.5. There is in-box “vesa” driver already."
Действительно, откатывать прошивку не пришлось и ESXi удалось установить без проблем с версией IPMI — R1.71.6.
Инженер Supermicro также не против выслать нужную версию прошивки к серверу, при условии фиксации проблемы и предоставления скриншота.
Скачиваем архив SMT_X11AST2500_171_6.zip, распаковываем.
Внутри нам понадобится файл прошивки SMT_X11AST2500_171_6.bin и скрипт AlUpdate.
Запускаем подсистему Linux на Windows. Windows 10 - включаем bash
Я все операции провожу под рутом.
Переходим в директорию со скриптом AlUpdate:
cd /mnt/c/distrib/Supermicro/SYS-1029U-E1CR4/SMT_X11AST2500_171_6/2.07/linux/x64/
Справка по скрипту:
./AlUpdate
*****************************************************************************
* ATEN Technology, Inc. *
*****************************************************************************
* FUNCTION : IPMI FIRMWARE UPDATE UTILITY *
* VERSION : 2.07 *
* BUILD DATE : Jul 13 2016 *
* USAGE : *
* (1)Update FIRMWARE : AlUpdate -f filename.bin [OPTION] *
* (2)Dump FIRMWARE : AlUpdate -d filename *
* (3)Restore CONFIG : AlUpdate -c -f filename.bin *
* (4)Backup CONFIG : AlUpdate -c -d filename.bin *
*****************************************************************************
* OPTION *
* -i the IPMI channel, currently, kcs and lan are supported *
* LAN channel specific arguments *
* -h remote BMC address and RMCP+ port, (default port is 623) *
* -u IPMI user name *
* -p IPMI password correlated to IPMI user name *
* -r Preserve Configuration (default is Preserve) *
* n:No Preserve, reset to factory default settings *
* y:Preserve, keep all of the settings *
* -c IPMI configuration backup/restore *
* -f [restore.bin] Restore configurations *
* -d [backup.bin] Backup configurations *
*****************************************************************************
* EXAMPLE *
* we like to upgrade firmware through KCS channel *
* AlUpdate -f fwuperade.bin -i kcs -r y *
* AlUpdate -d fwdump.bin -i kcs -r y *
* *
* we like to restore/backup IPMI config through KCS channel *
* AlUpdate -c -f restore.bin -i kcs -r y *
* AlUpdate -c -d backup.bin -i kcs -r y *
* *
* we like to upgrade firmware through LAN channel with *
* - BMC IP address 10.11.12.13 port 623 *
* - IPMI username is usr *
* - Password for alice is pwd *
* - Preserve Configuration *
* AlUpdate -f fw.bin -i lan -h 10.11.12.13 623 -u usr -p pwd -r y *
* AlUpdate -d fwdump.bin -i lan -h 10.11.12.13 623 -u usr -p pwd -r y *
* *
* we like to restore/backup IPMI config through LAN channel with *
* - BMC IP address 10.11.12.13 port 623 *
* - IPMI username is usr *
* - Password for alice is pwd *
* - Preserve Configuration *
* AlUpdate -c -f fw.bin -i lan -h 10.11.12.13 623 -u usr -p pwd *
* AlUpdate -c -d fwdump.bin -i lan -h 10.11.12.13 623 -u usr -p pwd *
*****************************************************************************
Дампим текущую прошивку сервера:
./AlUpdate -d dump.bin -i lan -h 10.25.51.11 623 -u USER -p PASSWORD
Где:
- dump.bin — название файла, в который сохранить дамп.
- 10.25.51.11 — ip адрес сервера
- 623 — BMC и RMCP+ порт (623 по умолчанию)
- USER — пользователь IPMI
- PASSWORD — пароль пользователя IPMI.
Готово.
Можно сделать дамп конфигурации IPMI:
./AlUpdate -c -d dump_config.bin -i lan -h 10.25.51.11 623 -u USER -p PASSWORD
Где:
- dump_config.bin — название файла, в который сохранить дамп конфигурации.
- 10.25.51.11 — ip адрес сервера
- 623 — BMC и RMCP+ порт (623 по умолчанию)
- USER — пользователь IPMI
- PASSWORD — пароль пользователя IPMI.
Готово.
Кладём в папку со скриптом файл новой прошивки.
Подключите питание сервера через ИБП. Накатываем новую прошивку:
./AlUpdate -f SMT_X11AST2500_171_6.bin -i lan -h 10.25.51.11 623 -u USER -p PASSWORD -r y
Где:
- SMT_X11AST2500_171_6.bin — название файла с новой прошивкой.
- 10.25.51.11 — ip адрес сервера
- 623 — BMC и RMCP+ порт (623 по умолчанию)
- USER — пользователь IPMI
- PASSWORD — пароль пользователя IPMI.
- -r — резервировать текущую конфигурацию (по умолчанию)
- y — да.
Процесс не быстрый.
Готово.
IPMI перезагружается.
Проверяем новую версию прошивки.
Версия прошивки IPMI обновилась.
Дополнительно у нас есть дамп заводской, предыдущей прошивки.