Прошивка Dell SAS PERC H200 (H216J) (SAS2008) в IT режим (JBOD)

На руках сервер Dell R710, служащий верой и правдой более 10 лет. Пришло время сменить SAS диски и избавиться от аппаратного RAID. В сервере 4 корзины. Каким то чудом контроллер позволял работать с двумя дисками в режиме RAID1 и ещё двумя дисками без RAID. Но когда захотелось иметь доступ ко всем 4 дискам без RAID, то вылезла проблема, контроллер H200 (SAS2008) выдавал системе только первые два диска, остальные были недоступны ни в BIOS контроллера, ни в системе. Естественно в интернете много инструкций по прошивке контроллера из IR (Integrated RAID) режима в IT (Initiator Target), но в них не указаны некоторые нюансы, а именно:

  • После прошивки сменится Product ID контроллера и он перестанет работать в специальном слоте Dell R710, можно будет его, конечно, переставить в любой другой доступный PCI-e слот, но тогда нужно будет менять SAS кабель на более длинный. Это не мой вариант, буду менять Product ID на походящий.
  • В инструкциях уничтожают содержимое памяти контроллера полностью, потом прошивают только Firmware, а BIOS нет, в следствии чего с данного контроллера не загрузишься.
  • Прошивать лучше на другой машине, сервер уйдёт в System Halted с сообщением, что установлено неопознанное устройство в слот контроллера дисков.

Начнём с того как вернуть всё «взад». Нужна флешка с FreeDOS (инструкция по созданию https://www.poweriso.com/tutorials/create-freedos-bootable-usb-drive.htm ). На неё распаковать содержимое с последней доступной официальной прошивкой от Dell: DELL_PERC-H200-ADAPTER_A04_R294620

Делаем следующее:

sas2flsh.exe -o -e 7

reboot

sas2flsh.exe -o -f H200A.FW

sas2flsh.exe -o -b mptsas2.rom

reboot

Здесь не будет SAS Address, нужно будет его прописать с помощью s2fp19.exe -o -sasadd 5B8CA3A0F7FCD400

Чтобы прошить в режим IT, перейти на Avago BIOS и самую свежую прошивку от LSI (Broadcom) делаем следующее:

sas2flsh.exe -o -e 7

reboot

sas2flsh.exe -o -f 6GBPSAS.fw

reboot

sas2flsh.exe -o -f 2118it.bin

sas2flsh.exe -o -b mptsas2.rom

s2fp19.exe -o -sasadd 5B8CA3A0F7FCD400

reboot

Убедиться что BIOS контроллера появляется в POST, в управление можно попасть через Ctrl+C, но без дисков он прожуёт и не зайдёт.

Dell R710 ожидает в специализированном PCI-e слоте определённые VID и PID. PID сменится после прошивки и нужно будет его вернуть на приемлемый, иначе брендовый сервер не захочет стартовать.

Тут нам помогут две утилиты lsirec и скрипт на Python для конвертации sbr записей.

Всё это можно найти на странице https://github.com/marcan/lsirec

Качаем репозиторий, распаковываем, ставим компилятор, в Ubuntu это apt install build-essential. Компилируем lsirec: make -f Makefile . Ставим права на выполнение chmod 770 ./lsirec

Смотрим текущие VID «Dell [1028]» PID [1f1c] и запоминаем адрес устройства (например 0000:01:00.0).

lspci -Dmmnn | grep 2008

./lsirec 0000:01:00.0 readsbr sbr_backup.bin

python3 sbrtool.py parse sbr_backup.bin sbr.cfg

nano ./sbr.cfg

Меняем PID на 1f1e (PERC H200 Integrated)

Строка SubsysPID = 0x1f1e

Убираем строку SASAddr (мы адрес уже приписали)

python3 sbrtool.py build sbr.cfg sbr_new.bin

./lsirec 0000:01:00.0 writesbr sbr_new.bin

# ./lsirec 0000:01:00.0 reset

# ./lsirec 0000:01:00.0 rescan

Проверяем, что PID изменился на нужный

lspci -Dmmnn | grep 2008

Вставляем в сервер, подключаем SAS кабель — радуемся что видно все диски. Также говорят в что в IT режиме контроллер имеет более высокое ограничение на IOPs.

Ссылки:

https://github.com/marcan/lsirec

https://servomarket.ru/blog/polezno-znat/raid-lsi-9211-4i-8i-izmenenie-rezhima-raboty-na-it-mode/

https://github.com/marcan/lsirec

https://ikus-soft.com/en_CA/blog/techies-10/how-to-flash-an-lsi-sas2008-controller-for-zfs-62

https://docs.broadcom.com/docs/12350530

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Яндекс.Метрика