Проверка состояния RAID-массива на аппаратном LSI
Установка MegaCLI:
Код: Выделить всё
wget http://www.lsi.com/downloads/Public/RAID%20Controllers/RAID%20Controllers%20Common%20Files/.zip
unzip 8.07.07_MegaCLI.zip
cd 8.07.07_MegaCLI/
chmod +x MegaCliПолучить статус и конфигурацию всех адаптеров
Код: Выделить всё
megacli -AdpAllInfo -aAllКод: Выделить всё
megacli -LDInfo -LAll -aAllКод: Выделить всё
megacli -PDList -a0Код: Выделить всё
megacli -pdInfo -PhysDrv[252:4] -a0Давайте предположим, что у нас есть сервер с MegaRAID SAS
Получим список физических дисков:
Код: Выделить всё
megacli -PDlist -a0 | grep -e '^Enclosure Device ID:' -e '^Slot Number:'
Enclosure Device ID: 29
Slot Number: 0
Enclosure Device ID: 29
Slot Number: 1
Enclosure Device ID: 29
Slot Number: 2
Enclosure Device ID: 29
Slot Number: 3
Enclosure Device ID: 29
Slot Number: 4
Enclosure Device ID: 29
Slot Number: 5
Enclosure Device ID: 29
Slot Number: 6
Enclosure Device ID: 29
Slot Number: 7
Enclosure Device ID: 29
Slot Number: 8
Enclosure Device ID: 245
Slot Number: 12Команды megacli и preboot CLI различаются по виду.
Например команда проверки поддержки JBOD для BIOS preboot CLI будет выглядеть так:
Код: Выделить всё
AdpGetProp enablejbod -aALLКод: Выделить всё
megacli -AdpGetProp enablejbod -aALLКод: Выделить всё
megacli -AdpSetProp EnableJBOD 1 -aALLКод: Выделить всё
megacli -PDList -aALL -page24Нужно отметить каждое из устройств которое надо сделать JBOD, как Good в поле Firmware state .
Код: Выделить всё
megacli -PDMakeGood -PhysDrv[252:0] -Force -a0Код: Выделить всё
megacli -PDMakeGood -PhysDrv[252:1,252:2,252:3,252:4,252:5,252:6,252:7] -Force -a0Код: Выделить всё
megacli -PDMakeJBOD -PhysDrv[252:0] -a0
megacli -PDMakeJBOD -PhysDrv[252:1,252:2,252:3,252:4,252:5,252:6,252:7] -a0Перед настройкой массива, возможно, потребуется удалить использованную ранее конфигурацию. Для того чтобы просто удалить логические устройства используйте CfgLdDel
Код: Выделить всё
megacli -CfgLdDel -Lall -aAllКод: Выделить всё
megacli -CfgClr -aAllКод: Выделить всё
megacli -CfgLdAdd -r0 [29:0,29:1] WB ADRA Cached CachedBadBBU -sz196GB -a0Код: Выделить всё
megacli -PDList -aAll | egrep «Enclosure Device ID:|Slot Number:|Inquiry Data:|Error Count:|state»Код: Выделить всё
megacli -CfgSpanAdd -r10 -Array0[252:0,252:1] -Array1[252:2,252:4] [-Array2[252:5,252:6] -a0Код: Выделить всё
megacli -CfgDsply -a0Код: Выделить всё
MegaCli –CfgLDDel -L2 -a0Код: Выделить всё
MegaCli -LDInit -Start -full -L0 -a0Проверить текущий статус инициализации:
Код: Выделить всё
MegaCli -LDInit -ShowProg -L0 -a0Создать и назначить CacheCade для массива 0 (-L0) из зеркала (-r1) в режиме обратной записи (WB) на основе SSD дисков в слотах 6 и 7 (-Physdrv[252:6,252:7])
Код: Выделить всё
megacli -CfgCacheCadeAdd -r1 -Physdrv[252:6,252:7] WB -assign -L0 -a0Код: Выделить всё
megacli -Cachecade -assign -L0 -a0Код: Выделить всё
megacli -Cachecade -remove -L0 -a0
Successfully removed VD from CacheКод: Выделить всё
megacli -CfgCacheCadeDsply -a0
megacli -LDInfo -LAll -a0Замена неисправного диска
Отключить писк:
Код: Выделить всё
megacli -AdpSetProp -AlarmSilence -a0Просмотреть состояние диска (подставьте нужное значение [E:S]):
Код: Выделить всё
megacli -pdInfo -PhysDrv [29:8] -a0Код: Выделить всё
megacli -PDMarkMissing -PhysDrv [E:S] -aNКод: Выделить всё
megacli -Pdgetmissing -a0Код: Выделить всё
Adapter 0 - Missing Physical drives
No. Array Row Size Expected
0 0 4 1907200 MBКод: Выделить всё
megacli -PdLocate -start -PhysDrv [29:8] -a0Код: Выделить всё
megacli -AdpSetProp \{UseDiskActivityforLocate -1\} -aALLУдаляем неисправный и вставляем новый диск.
Прекращаем подсветку и проверяем состояние диска:
Код: Выделить всё
megacli -PdLocate -stop -PhysDrv [29:8] -a0
megacli -pdInfo -PhysDrv [29:8] -a0Код: Выделить всё
megacli -CfgForeign -Scan -aALLКод: Выделить всё
megacli -CfgForeign -Сlear -aALL<code>Код: Выделить всё
megacli -PdReplaceMissing -PhysDrv [32:4] -Array0 -row4 -a0Rebuild drive
Код: Выделить всё
megacli -PDRbld -Start -PhysDrv [32:4] -a0Код: Выделить всё
megacli -PDRbld -ShowProg -PhysDrv [32:4] -a0Получить список id
Код: Выделить всё
megacli -PDlist -a0 | grep '^Device Id:'| awk '{print $3}'Код: Выделить всё
smartctl /dev/sda -d megaraid,9 -aКод: Выделить всё
smartctl /dev/sda -d sat+megaraid,9 -aКод: Выделить всё
#!/bin/sh
for arg in `megacli -PDlist -a0 | grep '^Device Id:'| awk '{print $3}'`
do
smartctl /dev/sda -d sat+megaraid,${arg} -l devstat
#smartctl /dev/sda -d sat+megaraid,${arg} -a
doneКод: Выделить всё
/dev/sda -d sat+megaraid,0 -a -s L/../../3/02
/dev/sda -d sat+megaraid,1 -a -s L/../../3/03
/dev/sda -d sat+megaraid,2 -a -s L/../../3/04
/dev/sda -d sat+megaraid,3 -a -s L/../../3/05