Шпаргалки / мини доки


Восстановление рейд массива LSI после неудачного выключения сервера


Как показывает практика, делать бекап конфигарации через cli бесполезно, т.к. при попытке её восстановить - оно только ругнётся (Failed to get config data) и всё. Даже толком не просмотреть конфигурацию.

Но есть вариант восстановить со служебных записей дисков. В терминах LSI это называется "Foreign"

Итак 

1) - очищаем у всех дисков статус "Firmware state: Unconfigured(bad)" командой: -PDMakeGood -PhysDrv[тут список дисков в формате deviceID:slotID, например 48:1,] -Force -a1 (у меня в сервере это второй контроллер был из двух)

теперь можем просмотреть метки всех дисков и какой-то диск скорее всего окажется со сбойной записью Foreign, которую надо удалить:
у меня было 2 конфигурации, на одной 1 диск который записал в себя что все другие диски пропали и дело швах, а вторая рабочая конфигурация, где не было только 1 диска. Соответсвенно смотрим конфигурации по номерам:
2) MegaCli64 -CfgForeign -Dsply 0 -a1
   MegaCli64 -CfgForeign -Dsply 1 -a1

Выбираем "плохую", от который и перекорёжило LSI и удаляем её:
3) MegaCli64 -CfgForeign -Clear 1 -a1

По номеру рабочей конфигурации тоже ничего не импортируется (вот такой багованный у LSI софт), но вариант есть, т.к. осталась только рабочая конфигурация:
4) MegaCli64 -CfgForeign -Import -a1

теперь получаем список отсутствующего харда (нужен номер массива и положение в нём)

5) MegaCli64 -PdGetMissing -a1

(у меня это array 1 row 3)

помещаем очищенный от меток хард назад в массив:
6) MegaCli64 -PdReplaceMissing -PhysDrv[48:11] -array1 -row3 -a1

И только теперь запускаем rebuild рейда:

7) MegaCli64 -PDRbld -Start -PhysDrv[48:11] -a1