29 июл. 2011 г.

LSI 9211-4/8i: шьем в IT-стек

LSI 9211-4i и 9211-8i - это контроллеры 6Гбит SAS HBA на четыре и восемь портов соответственно, подробнее - тут.
Пользуются популярностью за неприхотливость и хорошую производительность в сочетании с программным RAID (да, все правильно, RAID средствами mdadm или ZFS может быть быстрее аппаратного LSI 9260 в случае использования SSD, т.к. возможности чипа LSI 2108 небезграничны - лимит по IOPS составляет порядка 150000 IOPS при использовании SSD и Fastpath, а у 9211  - 290000 IOPS). Естественно, в случае программного RAID, нам нужен обычный HBA и никакие интегрированные возможности прошивки не нужны.
Контроллеры LSI 9211 поставляются с прошивкой iR, т.е. "Integrated RAID" стеком. IR-стек позволяет создавать массивы RAID 0, 1, 1E, 10 средствами контроллера - аппаратный RAID, но с существенными ограничениями: максимум два массива, максимум 10 дисков в одном массиве, но не больше 14 (12 + 2 hot-spare) всего. С подобными характеристиками напрашивается обычно только одно применение - в недорогих серверах с 4-8 дисками, но возможно и прямо наоборот - производительный NAS или узел SAN под управлением Nexenta или FreeNAS (который в 8-й версии уже не ориентирован на домашнее использование) с несколькими десятками дисков, с SSD в качестве кэша. Создавать RAID средствами контроллера совсем необязательно, но накладные расходы в виде небольшого снижения производительности (порядка 3-5% на чтение и запись малыми блоками) останутся

Все, что нужно сделать для избавления от IR-стека - сменить прошивку на IT-стек (Initiator-Target, т.е. обычный HBA). Итак, порядок действий:

  1. Качаем свежий firmware пакет с сайта LSI. Для 9211-4i - тут. Прошивать можно из под Windows, Linux, Solaris, VMware ESX и даже EFI оболочки, но самый простой путь - под чистым DOS'ом. Текущая версия firmware-пакета - 10, внутри архива будут: sas2flsh.exe - утилита для работы с контроллерами LSI, образы BIOS и firmware (в контроллерах на базе LSI 2008 bios и fw шьются отдельно
    Изначальные версии bios и fw. Обратите внимание на "SAS2004-IR" в колонке "Product Identifier" - контроллер работает с IR-прошивкой
  2. Делаем флешку с DOS'ом, копируем все что нужно и грузимся с нее
  3. Готовим ручку с блокнотом и запускаем sas2flsh -o -listsasadd
    Данная команда выводит SAS-адрес контроллера - запишите его слитно, на дефисы не обращайте внимания.
  4. Дальше нужно затереть весь флэш контроллера: sas2flsh -o -e 7
  5. Шьем новый firmware: sas2flsh -o -f 2114it.bin
  6. Шьем bios: sas2flsh -b mptsas2.rom
  7. Так как мы предварительно затерли все, включая MPB блок, то контроллер "забыл" свой SAS WWN. Берем блокнот с записанным SAS адресом и вводим его после команды: sas2flsh -o -sasadd
  8. Перезагружаемся
Проверяем версии BIOS и firmware:
Вышеописанная процедура справедлива для SAS контроллеров Supermicro на базе чипа LSI 2008, как отдельных (AOC-USAS2-L8i - поставляется с IR стеком, AOC-USAS2-L8iR - стек iMR, AOC-USAS2-L8E - стек IT), так и интегрированных (поставляются с iR стеком, можно прошить в iMR при наличии аппаратного ключа iButton или в IT стек).
Пакет с firmware лежит на ftp-сервере Supermicro, все вышеописанные процедуры уже прописаны в bat-файлах, единственное отличие: для контроллеров, на которых прошит iMR стек, сначала нужно запустить файл wir.bat для прошивки SBR-блока и перезагрузиться.