Megacli sas raid management tool сбросить конфигурация

Обновлено: 27.06.2024

Я хочу рассказать вам о том, как я восстанавливал прошивку RAID-контроллера LSI MegaRAID после неудачного обновления.
Когда эта беда случилась со мной, то информации об этом я практически не нашел, хотя, допускаю, что плохо гуглил.

Анамнез

В своей работе я уже достаточно давно использую серверы Supermicro, так как у них есть большой выбор платформ, достаточно демократичная цена и приличная надежность.

Зачастую, особенно в случае с 1U серверами я беру их уже с интегрированным контроллером LSI MegaRAID.

Но проблема с ними заключается в том, что сама Supermicro не очень охотно выкладывает прошивки для встроенных контроллеров, так что я их обычно прошиваю актуальной прошивкой (масло масляное, да) от аналогичного контроллера LSI. Проблем не возникало до этих пор.

Недавно привезли несколько серверов с контроллерами LSI 2208 на борту и достаточно старой прошивкой.
Т.к. дискретные контроллеры на этих чипах я тоже активно использую, то особо не сомневаясь загрузился с флешки с Linux-ом, запустил привычное:
и пошел заниматься дальше своими делами.

Делаю Reset и вижу такую картину:

image

Да, беда. Поиски в интернетах не привели к какому-либо результату. Судя по всему, проблема достаточно редкая.

Лечение

Я попробовал загрузиться с флэшки и прошить контроллер заново, но ни под DOS, ни под Linux утилита MegaCli его уже не определяла вообще. Прошивать, соответственно, тоже отказывалась.

Так что я обратился в саппорт LSI, где добрый человек с индусским именем указал мне на документацию к MegaRAID, а именно на страницу 305, где есть такой достаточно незаметный подраздел, который толком не объясняет зачем же делать то, что в нем написано:

image

Ага, подумали партизаны, наверное это прошивка в режиме восстановления, и взялись за дело.

Под Windows флэшку с FreeDOS сделать проще всего используя утилиту Rufus, буквально в один клик.
Под Linux сделать аналогичное можно подручными средствами (используя syslinux или GRUB), на эту тему есть много статей.

Обращаю внимание, что указывать адаптер (опция -a) не нужно, судя по всему он прошивает все какие найдёт, либо первый попавшийся на PCI шине.

image

Прошивка в этом режиме занимает достаточно долгое время, около 15 минут, так что наберитесь терпения.

Когда он закончит — выключаем сервер по питанию, включаем его обратно и ждем чуда.
Но вместо чуда видим мы такую вот безрадостную картину:

image

Гугление по такой ошибке приводит к единственной ссылке на блог нашего соотечественника, где он на чистом английском советует отключить от контроллера BBU, вынуть контроллер из сервера и потом поставить обратно.

В моем случае вынуть карту из сервера можно только лобзиком, BBU у меня нет, так что не вариант.
Пробую прошить стандартным способом, MegaCli обнаруживает контроллер, но говорит то же самое, мол F/W is in fault state, так что ничего делать не буду.

Обращаемся опять в саппорт, который разводит руками и советует попробовать LSI Pre-Boot USB and CD tool, а если он не поможет, то сдавать железо назад.

Ок, качаем ISO, подключаем его через IPMI к серверу и грузимся.
Выбираем в меню загрузки пункт recovmr, затем нам предлагают написать в командной строке recover и наступит счастье. Но не наступило.
BAT-файл не может найти подключенный диск D:, видимо драйвер CDROM в FreeDOS на этом образе LSI не дружит с виртуальным приводом IPMI.

Хорошо, заглядываем в BAT файл и смотрим, что же он там собирался делать:

Открываем ISO, ищем этот загадочный файл и видим, что он размером аж 16 мегабайт (да, мы уже догадывались из названия), что вдвое больше стандартной прошивки. Видимо, этот образ ROM полностью переписывает микросхему Flash на контроллере.

Пытаемся прошить его так же, как это собирался делать BAT-ник, но получаем знакомое: F/W is in fault state
Да, так себе Recovery-образ подготовила нам LSI.
Ладно, используем наш предыдущий опыт и пытаемся прошить этот файл через Mode0.

На этот раз прошивка заняла минут 30, так как файл вдвое больше обычного. После прошивки обесточиваем сервер, включаем его обратно и видим заветный экран:

image

Салют, шампанское, сервер спасён!

image

Но этот живительный образ содержит не самую свежую версию прошивки, так что я с легким сердцем опять загрузился с FreeDOS-флешки и пошел прошивать его свежей прошивкой от Supermicro… и опять получил зависание на той же стадии, как в самом начале:

Круг замкнулся. Я даже для верности оставил его в таком виде на ночь, но ничего не изменилось.
После перезагрузки имеем опять битую прошивку.

Методом проб и ошибок было выяснено, что после прошивки образа восстановления нужно сделать сброс к заводским настройкам:

и выключить-включить сервер.

image

После этого прошивается уже без зависания, и мы видим свежую версию прошивки:

Всё, на этот раз получилась 100% победа над непокорным железом!

Выписка

Мораль сей басни такова: если не хочется потратить пару дней на восстановление или еще больше на возврат оборудования, то лучше все-таки прошиваться предназначенными производителем железа прошивками (если он их выкладывает, у того же Supermicro я ее нашел только копаясь в дебрях FTP — на странице сервера или материнской платы ссылок нет), либо ничего не трогать и жить с той, которая уже есть.
Хотя я не уверен что проблема была вызвана именно «инородной» прошивкой, а не каким-то случайным глюком, но проверять это еще раз мне не хочется.

Бывают и такие случаи, когда прошивка просто по какой-то причине портится (выключили электричество во время прошивки или еще какой гамма-всплеск случился в ближнем космосе), и тогда придётся прибегнуть к аварийному восстановлению.

Надеюсь, что эта статья поможет тем, кто наткнётся на похожую проблему в будущем.

В данном примере будет рассмотрен вариант с LSI , для других типов будут отдельные статьи, когда под рукой окажется свободный котроллер другой модели.

После определения типа контроллера приступим к установке утилиты для работы с ним.
(ПО обновляется, поэтому актуальную версию проверяйте на официальном сайте LSI.)

Проверяем состояние RAID

Также можно вывести полную информацию по дискам подключенным к контроллеру:

Enclosure Device ID - идентификатор блока;
Slot Number - Номер слота физического диска.

Заменяем проблемный диск

Если диск в состоянии Online (в нашем случае Failed), то переводим в состояние Offline.

Если возникла проблема с подсветкой, то используем лампочку активности в качестве индикации:

Удаляем диск из RAID

После этого выполняем процедуру физической замены диска(-ов).

В случае с новым диском, если он содержит метаданные от старого RAID массива, эти данные необходимо затереть.

Если таковые имеются, то удаляем следующей их командой:
(к счастью у меня такого добра не обнаружилось)

Выполняем замену (нам потребуются значения параметров Array и Row из предыдущего пункта)

Если получаем эту ошибку при выполнении команды, то Rebuild запустился автоматически.

Проверяем статус Rebuild и оставшееся время до окончания:

Бонусы

Включение и выключение звукового оповещения навсегда:

  • Получить ссылку
  • Facebook
  • Twitter
  • Pinterest
  • Электронная почта
  • Другие приложения

Комментарии

Как подключить сетевой диск Windows в Linux

Как подключить сетевой диск Windows в Linux Поддержку сетевых дисков Windows в Linux обеспечивает пакет cifs-utils. Если он у вас еще не установлен, в командной строке от имени суперпользователя введите apt-get install cifs-utils Эта команда проверит, установлен ли указанный пакет и, если нет, установит его. Создайте в /mnt (или любом другом месте) папку, в которую мы будем подключать сетевой диск Windows: mkdir /mnt/winshare И наконец само подключение сетевой папки Windows в Linux выполняется с помощью команды mount.cifs mount.cifs //SERVER_IP/SHARE_NAME /mnt/winshare -o username=WIN_USER_NAME,password=WIN_USER_PASSWORD Такая команда выполнит присоединение к фаловой системе Linux сетевого диска Windows с именем SHARE_NAME, расположенного на сервере с IP-адресом SERVER_IP от имени WIN_USER_NAME с паролем WIN_USER_PASSWORD. Следует понимать, что на стороне Windows уже логичным образом указанная папка должна быть расшарена и права на доступ к ней должны пр

Автоматическое монтирование дисков и разделов в Linux или что такое fstab? Проблема Debian

Подключение USB флешки к Debian

Можно использовать MegaRAID Storage Manager™, но чтобы его поставить….

Проще использовать консольную утилиту MegaCli

Загрузиться с RIPLinuX и подключиться по SSH

Получить статус и конфигурацию всех адаптеров

Cтатус и параметры всех логических дисков

Статус и параметры физических устройств

Статус и параметры диска в 4-м слоте

Создание RAID6 массив MegaCLI

Давайте предположим, что у нас есть сервер с MegaRAID SAS

Получим список физических дисков:

Пример конфигурирования JBOD на LSI 2208 (Supermicro X9DRH-7TF)

При загрузке BIOS эти команды можно выполнить если зайти в preboot CLI по комбинации клавиш Ctrl+Y

Команды megacli и preboot CLI различаются по виду.

Например команда проверки поддержки JBOD для BIOS preboot CLI будет выглядеть так:

А для megacli это используется как набор опций и параметров:

Включить поддержку JBOB

Список доступных физических устройств:

В списке надо найти значения полей Enclosure Device ID (например 252), Slot Number и Firmware state

Нужно отметить каждое из устройств которое надо сделать JBOD, как Good в поле Firmware state .

Или сразу много устройств:

Теперь можно создавать JBOD

Создать виртуальный диск RAID

Перед настройкой массива, возможно, потребуется удалить использованную ранее конфигурацию. Для того чтобы просто удалить логические устройства используйте CfgLdDel

Для того чтобы удалить всё (в том числе политику кэша) используйте «Очистку конфигурации»

Настройка RAID-0, 1 или 5. Вместо «r0» введите соответственно «r1» или «r5» (диски находятся в Enclosure 29, на портах 0 и 1, WriteBack включен, ReadCache адаптивный, Cache также включен без BBU)

Создать RAID10

Получить список дисков


Создать массив из 6 дисков

Показать как диски были определены в RAID-массиве:

Удалить массив с >

Инициализация массива

Начать полную инициализацию для массива с >

Проверить текущий статус инициализации:

Управление CacheCade

Создать и назначить CacheCade для массива 0 (-L0) из зеркала (-r1) в режиме обратной записи (WB) на основе SSD дисков в слотах 6 и 7 (-Physdrv[252:6,252:7])

Замена неисправного диска

Обратите внимание, что это не навсегда отключает сигнализацию, а просто выключает сигнал по текущей аварии.

Просмотреть состояние диска (подставьте нужное значение [E:S]):

Пометить диск требующий замены как потерянный (если контроллер не сделал этого сам)

Получить параметры потерянного диска

Вы должны получить ответ подобный этому:

Подсветить диск который надо менять (подставьте нужное значение [E:S]):

На некоторых шасси могут быть проблемы с индикацией. Это лечится такой командой:

В этом случае для маркировки диска будет использоваться лампочка активности.

Удаляем неисправный и вставляем новый диск.

Прекращаем подсветку и проверяем состояние диска:

Может так случится, что он содержит метаданные от другого массива RAID (Foreign Configuration). Ваш контроллер не позволит использовать такой диск. Для проверки наличия Foreign Configuration

Команда удаления Foreign Configuration (если вы уверены)

Запускаем процесс замены

[32:4] - это параметры диска которым вы меняете неисправный

Проверка процесса ребилда

Использование smartctl

Получить список id

Получить данные смарт по диску с >

для диска с интерфейсом sata

пример срипта для получения данных о всех дисках

Для контроля состояния дисков с помощью демона smartd нужно закомментировать DEVICESCAN в /etc/smartd.conf и добавить:

Значения параметров типа /3/02 - /3/05 определяют время запуска тестов для заданного диска

Синтаксис MegaCli

Всем привет сегодня хочу сделать для себя шпаргалку по синтаксису MegaCli. Напомню MegaCli это утилита командной строки для настройки RAID, на контроллерах LSI/Avago. Конечно большинство вещей можно делать с помощью MSM, но бывает очень полезно выполнить через консоль, особенно когда у вас какой-нибудь CentOS 7.6 или ESXI. Давайте изучать синтаксис утилиты.

Список команд MegaCli

-aN
Параметр -aN - ID адаптера, начинается с 0. Если у вас всего один контроллер вы можете использовать ALL.

-PhysDrv [E:S]
Используется для оперирования одним или несколькими жёсткими дисками. Где E - ID жёсткого диска, S - номер слота (начинается с 0).

-Lx
Параметр -Lx используется для указания виртуального диска (Virtual Drive). Где x номер массива, нумерация с 0.

Получение информации

MegaCli -AdpAllInfo -aALL
MegaCli -CfgDsply -aALL
MegaCli -adpeventlog -getevents -f lsi-events.log -a0 -nolog

MegaCli -PDList -aALL
MegaCli -PDInfo -PhysDrv [E:S] -aALL

Check Battery backup warning on boot. If this is enabled on an MSP, it will require manual intervention every time the system boots

MegaCli -AdpGetProp BatWarnDsbl -a0

Управление контроллером

MegaCli -AdpSetProp AlarmSilence -aALL

MegaCli -AdpSetProp AlarmDsbl -aALL

MegaCli -AdpSetProp AlarmEnbl -aALL

  • Disable battery backup warning on system boot

MegaCli -AdpSetProp BatWarnDsbl -a0

Virtual drive management

MegaCli -CfgSpanAdd -r10 -Array0[E:S,E:S] -Array1[E:S,E:S] -aN

Physical drive management

MegaCli -PDMarkMissing -PhysDrv [E:S] -aN

MegaCli -PdReplaceMissing -PhysDrv [E:S] -ArrayN -rowN -aN

The number N of the array parameter is the Span Reference you get using MegaCli -CfgDsply -aALL and the number N of the row parameter is the Physical Disk in that span or array starting with zero (it’s not the physical disk’s slot!).

  • Rebuild drive - Drive status should be "Firmware state: Rebuild"

MegaCli -PDRbld -Start -PhysDrv [E:S] -aN
MegaCli -PDRbld -Stop -PhysDrv [E:S] -aN
MegaCli -PDRbld -ShowProg -PhysDrv [E:S] -aN
MegaCli -PDRbld -ProgDsply -physdrv [E:S] -aN

MegaCli -PDClear -Start -PhysDrv [E:S] -aN
MegaCli -PDClear -Stop -PhysDrv [E:S] -aN
MegaCli -PDClear -ShowProg -PhysDrv [E:S] -aN

MegaCli -PDHSP -Set -Dedicated -ArrayN,M. -PhysDrv [E:S] -aN

Walkthrough: Rebuild a Drive that is marked 'Foreign' when Inserted:

MegaCli -PDMakeGood -PhysDrv [E:S] -aALL

Set the drive offline, if it is not already offline due to an error

MegaCli -PDMarkMissing -PhysDrv [E:S] -aN

If you’re using hot spares then the replaced drive should become your new hot spare drive

In case you’re not working with hot spares, you must re-add the new drive to your RAID virtual drive and start the rebuilding

MegaCli -PdReplaceMissing -PhysDrv [E:S] -ArrayN -rowN -aN
MegaCli -PDRbld -Start -PhysDrv [E:S] -aN

Gathering Standard logs
On every instance of a hard drive problem with an MSP server, we need to run the following commands to have any information about the problem:

Прежде всего определим тип RAID-контроллера.
В данном примере будет рассмотрен вариант с LSI, для других типов будут отдельные статьи, когда под рукой окажется свободный котроллер другой модели.
После определения типа контроллера приступим к установке утилиты для работы с ним.
(ПО обновляется, поэтому актуальную версию проверяйте на официальном сайте LSI.)

Проверяем состояние RAID

Выводим информацию о состоянии дисков:
Как видно из лога, то проблема с одним из дисков:
Также можно вывести полную информацию по дискам подключенным к контроллеру:
Enclosure Device ID - идентификатор блока;
Slot Number - Номер слота физического диска.

Заменяем проблемный диск

Если диск в состоянии Online (в нашем случае Failed), то переводим в состояние Offline.
Отметим диск, как извлеченный
Получаем информацию об извлеченном(-ых) диске(-ах):
Подсвечиваем диск, который требуется заменить:
Если возникла проблема с подсветкой, то используем лампочку активности в качестве индикации:

Удаляем диск из RAID

После этого выполняем процедуру физической замены диска(-ов).
В случае с новым диском, если он содержит метаданные от старого RAID массива, эти данные необходимо затереть.
Проверяем их наличие:
Если таковые имеются, то удаляем следующей их командой:
(к счастью у меня такого добра не обнаружилось)
Выполняем замену (нам потребуются значения параметров Array и Row из предыдущего пункта)
И запускаем Rebuild нового диска:
Если получаем эту ошибку при выполнении команды, то Rebuild запустился автоматически.
Проверяем статус Rebuild и оставшееся время до окончания:
Ну и не забываем отключить индикацию диска:

Бонусы

Отключение звукового оповещения до перезагрузки
Включение и выключение звукового оповещения навсегда:
Проверка приоритета ребилда:
Изменяем приоритет ребилда в % соотношении:

Читайте также: