Обновление микрокода RAID контроллера Broadcom/LSI MegaRAID SAS 9361-8i (MegaRAID SAS-3 3108) на сервере YADRO Vegman R120 с VMware ESXi 8.0 U3

Updating the firmware for the Broadcom/LSI MegaRAID SAS 9361-8i (MegaRAID SAS-3 3108) RAID controller on a YADRO Vegman R120 server running VMware ESXi 8.0 U3Рассмотрим процедуру обновления микрокода RAID контроллера Broadcom/LSI MegaRAID SAS 9361-8i (MegaRAID SAS-3 3108 "Invader"), работающего на аппаратной серверной платформе YADRO Vegman R120 с ОС VMware ESXi 8.0 U3. Хотя то, какая операционная система выполняется на сервере, в контексте процедуры обновления микрокода на самом деле не принципиально, так как обновление будет выполняться в офлайн режиме средствами UEFI Shell.

Определить текущую версию Firmware для RAID-контроллера можно по информации, выводимой в процессе загрузки сервера. В нашем примере здесь фигурирует версия 4.680.00-8274.

Broadcom/LSI MegaRAID SAS 9361-8i RAID controller firmware version during server boot

Однако стоит учесть, что в ходе загрузки сервера без включенной в BIOS поддержки Legacy ROM данное сообщение может не отображаться, и, как следствие, нет возможности войти в ROM утилиту для управления RAID контроллером с помощью сочетания клавиш "Ctrl" + "R". В этом случае при необходимости можно временно активировать режим поддержки Legacy ROM в BIOS CSM (Compatibility Support Module) в разделе "Advanced" > "SCM Configuration". В ходе экспериментов были перепробованы разные комбинации режимов ROM Execution и минимально необходимой и, при этом, не самой медленной, оказалась комбинация указанная на скриншоте:

Legacy ROM in BIOS CSM (Compatibility Support Module) under "Advanced" > "SCM Configuration" on the YADRO Vegman R120 server

Обратите внимание на то, что включение поддержки Legacy ROM может существенно увеличивать время загрузки системы (в зависимости от состава вашего оборудования), поэтому более оптимальным вариантом для сокращения времени загрузки может отказаться конфигурация, когда все опциональные ROM переведены в режим UEFI.


Ещё один вариант определить текущую версию Firmware для RAID-контроллера - войти в BIOS
в "Advanced" > "AVAGO MegaRAID" ... > "Main menu" > "Controller management"

How to determine the firmware version for a RAID controller in the BIOS in "Advanced" > "AVAGO MegaRAID" ... > "Main menu" > "Controller management" on a YADRO Vegman R120 server

Со стороны хостовой ОС, в случае, если используется VMware ESXi 8, также можем получить информацию о версии микрокода RAID-контроллера. Для этого сначала получим полное имя инстанса, связного с нашим контроллером (грепаем по имени драйвера):

[root@ESXi:~] /usr/lib/vmware/vmkmgmt_keyval/vmkmgmt_keyval -d | grep lsi

Key Value Instance:  lsi_mr3-500605b010452130/LSI Incorporation

Получим информацию по инстансу по его имени с выборкой данных о версиях:

[root@ESXi:~] /usr/lib/vmware/vmkmgmt_keyval/vmkmgmt_keyval -l -i 'lsi_mr3-500605b010452130/LSI Incorporation' | grep -iE 'Name|Value'

Name:   MR-DriverVersion
value:  7.728.02.00
Name:   MR-HBAModel
value:  MegaRAID 1000:5d:1000:9361
Name:   MR-FWVersion
value:  Pkg 24.21.0-0017 FW 4.680.00-82
Name:   MR-ChipRevision
value:  Chip Rev. C0
Name:   MR-CtrlStatus
value:  FwState c0000000

Как видим, в нашем случае используется пакет микрокода версии 24.21.0-0017 с Firmware 4.680.00-82

Идём на сайт сервисной службы YADRO и в разделе загрузок "Прошивки": Сервисный портал YADRO - Прошивки - Vegman R120. Ищем здесь последний пакет обновлений. На момент написания этой заметки это версия ADAPFW05082024 Update 2 (20.11.2024).

How to download the firmware package for the YADRO Vegman R120 server

Скачаем архив ADAPFW05082024_upd2.zip и посмотрим, что у него внутри.

Contents of the ADAPFW05082024_upd2.zip firmware package for the YADRO Vegman R120 server

Во вложенном в архив файле ADAPFW05082024_upd2_list.txt находим нашу модель и видим что в пакете доступна версия прошивки "Broadcom - 9361-8i_24.21.0-0159_FW_IMAGE". Попробуем подробней узнать об этой версии и о истории предыдущих релизов.

Заглянем внутрь образа (например с помощью 7zip) ADAPFW05082024_upd2.img. В структуре файлов этого образа есть подкаталог, соответствующий модели нашего контроллера – "RAID_9361-8i".
В этом подкаталоге можно найти текстовый файл "24.21.0-0159_SAS_MR_FW_IMAGE_APP_4.680.00-8577.txt" с описанием истории внесённых изменений между релизами микрокода. Из этого файла становится понятно, что наша текущая версия пакета микрокода 24.21.0-0017 довольно старая и была выпущена где-то между релизами 24.21.0-0012 (MR 6.14) 2017 года и  24.21.0-0025 (MR 6.14 Point Release) 2018 года.
Перечень исправлений после этих релизов внушительный, поэтому будем обновлять наш контроллер.

Целевой версией будет пакет прошивки 24.21.0-0159 (MR 6.14 Point Release) с Firmware 4.680.00-8577 от 2022 года. Порядок прошивки изложен в файле "UEFI_update_guide.txt"

Монтируем образ ADAPFW05082024_upd2.img в качестве Virtual media в веб-интерфейсе BMC сервера.

Mount the ADAPFW05082024_upd2.img image as virtual media in the YADRO Vegman R120 BMC server web interface

Теперь нам потребуется загрузить сервер в UEFI Shell. Для этого в ходе загрузки сервера жмём "DEL" и попадаем в настройки BIOS. Здесь в предпоследнем разделе "Boot" меняем порядок загрузки таким образом, чтобы первым был пункт "UEFI: Built-in EFI Shell".

Enabling UEFI boot: Built-in EFI Shell on the YADRO Vegman R120 serverОбратите внимание ещё на один важный момент. Так как мы готовимся к процессу обновления микрокода контроллера через UEFI Shell, в упомянутом ранее разделе BIOS CSM (Compatibility Support Module) в настройках "Advanced" > "SCM Configuration" для категории "Storage" должен быть включен режим "UEFI". Если этого не сделать, то используемый в дальнейшем скрипт обновления будет выдавать ошибку обнаружения контроллера.

Configuring the BIOS CSM (Compatibility Support Module) on the YADRO Vegman R120 server

Выходим из BIOS с сохранением настроек ("F4"). При следующей загрузке сервера автоматически загрузится UEFI Shell, где нам сразу будет выведен список доступных устройств

UEFI Shell, which displays a list of available devices on the YADRO Vegman R120 server

В нашем случае примонтированный через BMC образ ассоциирован с первым пунктом (определяем это по по вхождению "USB"), поэтому для перехода к его файловой системе набираем команду "FS0:"

Далее, командой "dir" можем получить листинг файлов на устройстве. Если список файлов/каталогов большой может быть выведено несколько экранов. Для перемещения между экранами пользуемся клавишами "Page Up" / "Page Down". Здесь видим, что в структуре каталогов есть каталог с интересующей нас моделью контроллера.

Finding a directory in UEFI Shell

Командой "cd RAID_9361-8i" перейдём в этот каталог и снова командой "dir" получим листинг файлов внутри каталога. В этом каталоге мы видим исполняемый скрипт upd_raid_9361-8i.nsh. Запустим этот скрипт, написав его имя и нажав "Enter".

Running the upd_raid_9361-8i.nsh script in the UEFI Shell

Скрипт выведет таблицу обнаруженных контроллеров и предложит нажать любую клавишу для начала процесса обновления, либо "q" для завершения работы скрипта. Нажимаем "Enter".

Updating the LSI 9361-8i RAID controller in the UEFI Shell

Скрипт проведёт процесс обновления микрокода и задаст вопрос хотим ли мы обновить следующий контроллер. Так как контроллер у нас один, жмём "q" и скрипт завершает свою работу.

Updating the LSI 9361-8i RAID controller in the UEFI Shell

Если в вашем сервере несколько контроллеров MegaRAID разных моделей, то выполнять их обновление нужно отдельными этапами запуская по отдельности скрипты из соответствующих каталогов.

Последней командой "exit" выходим из оболочки UEFI Shell, перезагружаем систему, снова возвращаемся в BIOS и меняем обратно порядок загрузки так, чтобы первой стартовала хостовая ОС. И не забываем отмонтировать img образ с контроллера BMC.

Версию микрокода можно проверить уже в ходе следующей загрузки сервера…

Determining the firmware version of the Broadcom/LSI MegaRAID SAS 9361-8i (MegaRAID SAS-3 3108) RAID controller on the YADRO Vegman R120 server

… либо когда VMware успешно загружена переходим в консоль и проверяем версию микрокода

[root@ESXi:~] /usr/lib/vmware/vmkmgmt_keyval/vmkmgmt_keyval -l -i 'lsi_mr3-500605b010452130/LSI Incorporation' | grep -iE 'Name|Value'

Name:   MR-DriverVersion
value:  7.728.02.00
Name:   MR-HBAModel
value:  MegaRAID 1000:5d:1000:9361
Name:   MR-FWVersion
value:  Pkg 24.21.0-0159 FW 4.680.00-85
Name:   MR-ChipRevision
value:  Chip Rev. C0
Name:   MR-CtrlStatus
value:  FwState c0000000

На этом процесс обновления микрокода RAID контроллера Broadcom/LSI MegaRAID SAS 9361-8i можно считать законченным.

Если по какой-то причине нет доступа к загрузке микрокода с сайта YADRO, то можно взять туже самую прошивку непосредственно с сайта Broadcom.

Добавить комментарий