Имеем железку Avago SAS 9300-8i HBA. На ней стоит прошивка "IT" от 16 года. Начитался, что если поставить прошивку "IR", то можно контроллер обучить работать с RAID. Проверим. Если не получится — обновим "IT" до последней версии.
- IR — Integrated RAID, есть поддержка RAID.
- IT — Initiator Target, адаптер работает без поддержки RAID как Host Bus Adapter.
Качаем прошивку
Прежде всего, нужно найти прошивку. Ищем здесь:
https://www.broadcom.com/products/storage/host-bus-adapters/sas-9300-8i
На текущий момент нашлась 9300_8i_Package_P16_IR_IT_FW_BIOS_for_MSDOS_Windows, качаем.
Прошивать будем через UEFI, поэтому качаем ещё один файлик - Installer_P14_for_UEFI.
Из всего этого добра нам понадобятся только эти файлы:
Где:
- sas3flash.efi - прошивальщик под UEFI.
- mpt3x64.rom - BIOS контроллера UEFI. Я использовал Unsigned версию.
- mptsas3.rom - BIOS контроллера Legacy.
- SAS9311_8i_IR.bin - прошивка IR.
- SAS9300_8i_IT.bin - прошивка IT.
Число 9311 в названии прошивки IR смущает, возможно, она не пойдёт на нашем контроллере.
Подготовка флешки
- Берём флешку, форматируем её средствами винды в FAT32.
- Копируем на флешку вышеуказанные файлы.
Вставка флешки
Простая операция вставки флешки через KVM вызвала проблемы. Сервер Supermicro.
Решение проблемы здесь: Supermicro - VM Device is not valid, please click "Refresh" button.
Отключаем видимость контроллера в BIOS
При загрузке жмём Ctrl +C и попадаем в утилиту Avago Technologies Config Utility.
Проваливаемся по Enter в контроллер и устанавливаем видимость "OS Only".
Загружаемся в EFI Shell
Поскольку на нашем сервере Supermicro есть Built-in EFI Shell, то будем им пользоваться. При загрузке нажимаем DEL, попадаем в BIOS и выбираем в Boot Device - Built-in EFI Shell:
Сохраняемся, проверяем что флешка вставлена:
Перезагружаем сервер в EFI Shell:
Просмотреть список примонтированных устройств:
map
Мы видим что наша флешка нашлась как blk0 и примонтировалась как hd51a0h0b0b с алиасом fs0.
Переходим внутрь флешки:
fs0:
Смотрим список содержимого с помощью ls или dir:
Файлики доступны. На скрине у меня нет SAS9300_8i_IT.bin, это не страшно. Флешку можно вытащить, скопировать туда файлик и примонтировать обратно без перезагрузки сервера.
Прошивка
Посмотрим текущие настройки контроллера:
sas3flash.efi -list
- Текущая версия контроллера 15.00.00.00 (2016.11.17).
- SAS Address - 500605B-0-0CDA-35A0
- Firmware Product ID - IT
- Версия прошивки (Firmware Version) 15.00.02.00.
- Версия BIOS Legacy (BIOS Version) 08.35.04.00
- Версия BIOS UEFI (UEFI BSD Version) - нет вообще.
Для начала установим UEFI BSD:
sas3flash.efi -c 00CDA35A0 -b mpt3x64.rom
00CDA35A0 - это последние 9 символов SAS Address без дефисов. Символы HEX от 0 до F.
Flash BIOS Image Successful. Это хорошо.
Дальше ставим IR прошивку контроллера:
sas3flash.efi -c 00CDA35A0 -f SAS9311_8i_IR.bin
Firmware Image Validation Failed! Ну вот, а счастье было так возможно... Судя по описанию ошибки наш чип не поддерживает эту прошивку, печаль. Ну тогда хотя бы попытаемся обновить прошивку IT до последней:
sas3flash.efi -c 00CDA35A0 -f SAS9300_8i_IT.bin
Firmware Flash Successful. Отлично. Прошиваем BIOS Legicy:
sas3flash.efi -c 00CDA35A0 -b mptsas3.rom
Flash BIOS Image Successful. Это хорошо. Проверяем версию sas3flash.efi -list:
Все остальные версии тоже обновились. Перезагружаемся:
reset
Не забываем в BIOS установить нужный Boot Device.
И всё же...
Нагуглил в статье https://www.broadcom.com/support/knowledgebase/1211161501344/flashing-firmware-and-bios-on-lsi-sas-hbas информацию:
*When flashing an 12G HBA (SAS 9300 family) with IR mode firmware provided in the same package, named 9311, SAS3Flash returns the following error:
ERROR: NVDATA Image does not match Controller Subsystem ID!
ERROR: No compatible NVDATA Image(s) found!
Firmware Image Validation Failed!
Resolution:
Using DOS or EFI SAS3Flash version 10.00.00.01 or higher with following command string
sas3flsh –o –e -6
sas3flsh –o –f <firmware> -b <bios> -nossid
EFI:
sas3flash –o –f <UEFI BSD firmware> -nossid
Пробую:
sas3flash.efi -o -f SAS9311_8i_IR.bin -nossid
Cannot Flash IR Firmware over IT Firmware!
Вот оно как. Значит, снесём IT Firmware.
Внимание - дальше нельзя перезагружать сервер, чтобы не превратить контроллер в кирпич!
Стираем все прошивки:
sas3flash.efi -o -e 6
Ставим прошивку и BIOS Legacy:
sas3flash.efi -o -f SAS9311_8i_IR.bin -nossid -b mptsas3.rom
Выдыхаем, стираем пот. Ставим BIOS UEFI, также как было выше:
sas3flash.efi -c 00CDA35A0 -b mpt3x64.rom
Смотрим что получилось:
Слева то что было. Спава то что стало.
Firmware Product ID - IR! перезагружаемся.
reset
Первый раз даём перезагрузиться полностью, чтобы определились все устройства. Попадаем в EFI Shell, снова ребутаемся:
reset
При загрузке жмём Ctrl +C и попадаем в утилиту Avago Technologies Config Utility.
Видим, что всё в порядке, смотрим далее:
Появилась опция RAID Properties. План перевыполнен.
Ограничения
Почти все SAS2 и SAS3 HBA от Avago, включая описанный в статье, кроме моделей с внешними портами и 9300-16i поддерживают аппаратный RAID с ограничениями:
- RAID 0, 1, 1E, 10
- Не более 2 массивов на контроллер
- Не более 10 дисков в одном массиве
- Не более 14 дисков могут быть в составе массивов вместе с 1 или 2 hot-spare
- Не поддерживается создание нескольких массивов на одной дисковой группе