Восстановление рейд массива 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