Обновление прошивки RAID-контроллера LSI (Broadcom) на серверах Supermicro
RAID-контроллеры LSI (Avago/Broadcom) — основа систем хранения данных в серверах Supermicro. Производитель регулярно выпускает обновления прошивки (firmware), которые устраняют критические уязвимости, исправляют ошибки и добавляют поддержку новых устройств. Актуальная прошивка критически важна для стабильности и безопасности сервера. В этом руководстве мы подробно разберём все этапы обновления прошивки для контроллеров LSI MegaRAID и HBA с использованием официальной утилиты StorCLI в трёх основных средах: DOS, UEFI и Linux.
1. Подготовка к обновлению
1.1 Определение модели контроллера и текущей версии прошивки
Перед скачиванием прошивки необходимо точно определить модель контроллера и текущую версию firmware. Самый простой способ — использовать утилиту StorCLI из работающей ОС или загрузиться в WebBIOS (нажатие Ctrl+H или Ctrl+R во время POST).
# Просмотр списка контроллеров и их текущих прошивок
storcli64 show
# Детальная информация о контроллере 0
storcli64 /c0 show
Вывод команды покажет модель контроллера (например, MegaRAID 9361-8i) и версию прошивки (например, FW Version: 24.21.0-0076). Запишите эту информацию — она понадобится для поиска правильного файла обновления.
1.2 Скачивание необходимых файлов
Все необходимые файлы (прошивка и утилита StorCLI) распространяются через официальный сайт Broadcom и входят в один пакет. Лучше всего установить полный пакет управления Broadcom, который включает как утилиты, так и последние версии прошивок.
Универсальный алгоритм скачивания:
- Перейдите на официальный сайт Broadcom: Broadcom Support Search.
- В строке поиска введите название контроллера, например,
MegaRAID 9361-8i. - В результатах выберите вашу модель контроллера.
- На странице контроллера перейдите на вкладку «Downloads». В открывшемся перечне файлов вам будут доступны несколько категорий: Firmware, Management Software and Tools, Documentation и т.д.
- Для обновления прошивки скачайте последний файл из категории «Firmware» (обычно в названии присутствует слово «Firmware» и версия).
- Утилита StorCLI находится в категории «Management Software and Tools» — скачайте последнюю версию StorCLI.
- Распакуйте скачанные ZIP-архивы. В папке с прошивкой вы найдёте файл с расширением
.rom(например,FW_9361.rom). В папке со StorCLI — исполняемые файлы для различных ОС.
Утилита StorCLI входит в состав пакета прошивки и также доступна для скачивания отдельно на странице контроллера в категории «Management Software and Tools».
2. Общие этапы обновления (для всех сред)
Процесс обновления прошивки с помощью StorCLI состоит из нескольких стандартных этапов, общих для всех операционных систем.
- Подготовка файлов: скопируйте файл прошивки (
.rom) и исполняемый файл StorCLI на USB-накопитель или в директорию на сервере. - Загрузка в нужную среду: загрузитесь в DOS, UEFI Shell или вашу операционную систему (Linux).
- Выполнение команды обновления: запустите StorCLI и выполните команду обновления прошивки.
- Перезагрузка и верификация: после успешного обновления перезагрузите сервер и проверьте новую версию прошивки.
Основная команда для обновления прошивки контроллера:
storcli /c0 download file=firmware.rom
Если вы обновляете прошивку на более старую версию (даунгрейд), необходимо добавить параметр noverchk:
storcli /c0 download file=firmware.rom noverchk
После выполнения команды контроллер перейдёт в режим обновления. Категорически запрещено прерывать питание сервера в этот момент.
3. Обновление прошивки в среде DOS
Среда DOS — классический, но постепенно устаревающий метод. Он подходит для старых серверов (примерно до 2015 года) и требует создания загрузочного носителя.
3.1 Создание загрузочного USB-накопителя с FreeDOS
- Скачайте образ FreeDOS (например,
FD13LIVE.img) с официального сайта. - Используйте Rufus (в Windows) для записи образа на USB-накопитель. В Rufus выберите устройство, укажите образ FreeDOS и нажмите «Старт».
- После создания загрузочной флешки скопируйте на неё файл прошивки (
.rom) и исполняемый файл StorCLI для DOS (storcli.exe).
3.2 Процесс обновления в DOS
- Загрузитесь с созданной флешки (изменив приоритет загрузки в BIOS).
- Запустите FreeDOS; после загрузки вы окажетесь в командной строке.
- Перейдите на диск с флешкой (обычно это
C:илиD:): - Выполните команду обновления прошивки:
- Дождитесь завершения процесса. На экране появится сообщение об успешном обновлении.
- Выключите сервер (в DOS —
shutdownили просто выключите питание). - Удалите загрузочную флешку и включите сервер.
C:
storcli /c0 download file=firmware.rom
4. Обновление прошивки в среде UEFI Shell
Среда UEFI Shell — наиболее современный и рекомендуемый метод для серверов с поддержкой UEFI (примерно с 2012–2014 годов). Он удобен, безопасен и не требует установленной ОС.
4.1 Подготовка UEFI Shell
Большинство современных серверов Supermicro имеют встроенную UEFI Shell. В противном случае можно использовать внешнюю загрузку.
- Скопируйте исполняемый файл StorCLI для UEFI (
storcli.efi) и файл прошивки (.rom) на USB-накопитель, отформатированный в FAT32. - Вставьте USB-накопитель в сервер.
- Перезагрузите сервер и войдите в загрузочное меню (обычно клавиша F11 для Supermicro).
- Выберите пункт «UEFI: USB Drive» (или аналогичный).
- В открывшейся UEFI Shell может потребоваться ввести команду
map -r, чтобы обновить список доступных файловых систем. - Найдите букву вашего USB-накопителя — она выглядит как
FS0:,FS1:и т.д. Переключитесь на неё, набрав, например,FS1:, и нажмите Enter. - Перейдите в директорию с файлами с помощью команды
ls. Если вы скопировали файлы в корень флешки, они будут видны сразу.
4.2 Процесс обновления в UEFI Shell
- В командной строке UEFI Shell выполните команду обновления прошивки:
- Дождитесь сообщения об успешном завершении операции.
- Выключите сервер командой
resetили через кнопку питания. - Удалите USB-накопитель и включите сервер.
storcli.efi /c0 download file=firmware.rom
stor и нажав Tab, система сама дополнит имя файла.
5. Обновление прошивки в среде Linux
Это самый удобный способ, если на сервере уже установлена операционная система Linux. Он позволяет выполнить обновление без перезагрузки в другую среду.
5.1 Установка StorCLI в Linux
StorCLI распространяется в виде RPM-пакета (для RHEL/CentOS/AlmaLinux) или DEB-пакета (для Debian/Ubuntu).
# Установка RPM-пакета (RHEL/CentOS/AlmaLinux/Rocky Linux)
sudo rpm -ivh storcli-7.2812.00-1.noarch.rpm
# Установка DEB-пакета (Debian/Ubuntu)
sudo dpkg -i storcli_7.2812.00-1_amd64.deb
После установки исполняемый файл storcli64 будет доступен в системе по пути /opt/MegaRAID/storcli/storcli64. Для удобства можно создать символическую ссылку:
sudo ln -s /opt/MegaRAID/storcli/storcli64 /usr/local/bin/storcli
5.2 Процесс обновления в Linux
- Скопируйте файл прошивки (
.rom) на сервер, например, в директорию/tmp. - Перейдите в директорию со StorCLI и выполните команду обновления:
- Дождитесь завершения процесса и появления сообщения об успешном обновлении.
- Перезагрузите сервер командой
sudo reboot. - После перезагрузки проверьте версию прошивки:
cd /opt/MegaRAID/storcli
sudo ./storcli64 /c0 download file=/tmp/firmware.rom
sudo storcli64 /c0 show | grep "Firmware Version"
6. Обновление прошивки CacheVault-модуля
На многих контроллерах LSI установлен модуль CacheVault (суперконденсатор с флэш-памятью), обеспечивающий защиту кэша при отключении питания. После обновления основной прошивки контроллера настоятельно рекомендуется также обновить прошивку модуля CacheVault до версии, совместимой с новой прошивкой. Обычно файл прошивки CacheVault поставляется в том же пакете, что и прошивка контроллера.
# Обновление прошивки CacheVault-модуля (CV)
storcli /c0 download file=cachevault.rom
Команда выполняет обновление подключённого CacheVault-модуля. После завершения также требуется перезагрузка сервера.
7. Возможные проблемы и их решение
+-------------------------------------+--------------------------------------------------+
| Ошибка | Решение |
+-------------------------------------+--------------------------------------------------+
| "Failed to open device" | Убедитесь, что утилита запущена с правами |
| | администратора/root (используйте `sudo`). |
+-------------------------------------+--------------------------------------------------+
| "Firmware image not compatible" | Скачана не та прошивка. Проверьте модель |
| | контроллера и версию прошивки. |
+-------------------------------------+--------------------------------------------------+
| "A newer firmware is already | Используйте параметр `noverchk` для прину- |
| installed. Downgrade not allowed" | тельного даунгрейда (только если вы уверены |
| | в необходимости старой версии). |
+-------------------------------------+--------------------------------------------------+
| "Controller not found" | Проверьте, что контроллер корректно опре- |
| | деляется в системе. Выполните `storcli show` |
| | и убедитесь, что он отображается. |
+-------------------------------------+--------------------------------------------------+
| Прерывание питания во время | Выключите сервер, извлеките все блоки питания, |
| обновления (контроллер не виден) | подождите 30 секунд и включите снова. В редких |
| | случаях потребуется восстановление через |
| | программатор SPI Flash. |
+-------------------------------------+--------------------------------------------------+
8. Чек-лист для безопасного обновления
- Создайте резервную копию данных — RAID не является заменой бэкапа.
- Подключите сервер к ИБП — прерывание питания в процессе фатально.
- Запишите текущую версию прошивки — это поможет при откате на предыдущую.
- Сохраните конфигурацию RAID — при необходимости её можно будет восстановить вручную.
- Остановите все процессы ввода-вывода на сервере (например, переведите базы данных в режим read-only).
- Проверьте целостность файлов прошивки — убедитесь, что файл `.rom` не повреждён.
- Обновите прошивку CacheVault (если применимо) после обновления контроллера.
- После обновления выполните холодную перезагрузку (полное выключение и включение питания).
9. Заключение
Обновление прошивки RAID-контроллера LSI — ответственная, но необходимая процедура. Используя утилиту StorCLI в одной из трёх описанных сред (DOS, UEFI Shell, Linux), можно безопасно выполнить апгрейд, минимизируя риск ошибок. Наиболее современным и рекомендуемым методом является обновление через UEFI Shell, который поддерживается на большинстве серверов Supermicro последних поколений. Перед началом работ обязательно убедитесь, что у вас есть резервные копии данных, а сервер защищён от внезапного отключения питания.
Регулярное обновление прошивок контроллеров и дисков — один из ключевых факторов стабильной работы серверного хранилища. Не пренебрегайте этим, и ваша инфраструктура будет работать надёжно и безопасно.

