NODE
Состояние RAID можно получить следующей командой (отобразить все логические устройства всех контроллеров)
megacli -LDInfo -Lall -Aall
Вывод более краткой информации состояния дисков:
megacli -PDList -aAll | egrep "Enclosure Device ID:|Slot Number:|Inquiry Data:|Error Count:|state"
Enclosure Device ID: N/A
Slot Number: 0
Media Error Count: 0
Other Error Count: 0
Firmware state: Online, Spun Up
Inquiry Data: SEAGATE ST3300657SS 000B6SJ81PKF
Enclosure Device ID: N/A
Slot Number: 1
Media Error Count: 0
Other Error Count: 0
Firmware state: Online, Spun Up
Inquiry Data: SEAGATE ST3300657SS 000B6SJ85JKR
Enclosure Device ID: N/A
Slot Number: 2
Media Error Count: 0
Other Error Count: 0
Firmware state: Online, Spun Up
Inquiry Data: SEAGATE ST3300657SS 000B6SJ85MBY
Enclosure Device ID: N/A
Slot Number: 4
Media Error Count: 0
Other Error Count: 0
Firmware state: Online, Spun Up
Inquiry Data: SEAGATE ST3300657SS 000B6SJ81PJE
Enclosure Device ID: N/A
Slot Number: 5
Media Error Count: 0
Other Error Count: 0
Firmware state: Online, Spun Up
Inquiry Data: SEAGATE ST3300657SS 000B6SJ81PH6
Enclosure Device ID: N/A
Slot Number: 6
Media Error Count: 0
Other Error Count: 0
Firmware state: Online, Spun Up
Inquiry Data: SEAGATE ST3300657SS 000B6SJ81PJQ
Все хорошо если все диски Firmware state: Online .
Заменяем сбойный диск в массиве
Вытягиваем сбойный (номер слота сбойного диска можно определить командой
megacli -PDList -aAll | egrep "Enclosure Device ID:|Slot Number:|Inquiry Data:|Error Count:|state"), вставляем новый.
Статус нового диска должен быть "Unconfigured (good)".
megacli -PDList -aAll | egrep "Enclosure Device ID:|Slot Number:|Inquiry Data:|Error Count:|state"
Enclosure Device ID: N/A
Slot Number: 0
Media Error Count: 0
Other Error Count: 0
Firmware state: Online, Spun Up
Inquiry Data: SEAGATE ST3300657SS 000B6SJ81PKF
Enclosure Device ID: N/A
Slot Number: 1
Media Error Count: 0
Other Error Count: 0
Firmware state: Online, Spun Up
Inquiry Data: SEAGATE ST3300657SS 000B6SJ85JKR
Enclosure Device ID: N/A
Slot Number: 2
Media Error Count: 0
Other Error Count: 0
Firmware state: Online, Spun Up
Inquiry Data: SEAGATE ST3300657SS 000B6SJ85MBY
Enclosure Device ID: N/A
Slot Number: 4
Media Error Count: 0
Other Error Count: 0
Firmware state: Unconfigured(bad)
Inquiry Data: SEAGATE ST3300657SS 000B6SJ81PJE
Enclosure Device ID: N/A
Slot Number: 5
Media Error Count: 0
Other Error Count: 0
Firmware state: Online, Spun Up
Inquiry Data: SEAGATE ST3300657SS 000B6SJ81PH6
Enclosure Device ID: N/A
Slot Number: 6
Media Error Count: 0
Other Error Count: 0
Firmware state: Online, Spun Up
Inquiry Data: SEAGATE ST3300657SS 000B6SJ81PJQ
Если нет, как в нашем случае, статус диска "Unconfigured (bad)", то его надо сначала сделать пригодным для использования.
Проверяем метаинформацию другого, чужого RAID-массива (если диск раньше использовался) и удаляем ее.
megacli -CfgForeign -Scan -a0
где -a0 идентификатор рейд-железки.
megacli -CfgForeign -Clear -a0
Помечаем диск как "good":
megacli -PDMakeGood -PhysDrv [:4] -a0
где PhysDrv [E:S]:
E - Enclosure Device ID(можно посмотреть командой MegaCli -PDList -aAll | egrep "Enclosure Device ID:|Slot Number:|Inquiry Data:|Error Count:|state"). В моем случае он "N/A", значение пустое;
S - Slot Number, увидеть можно той же командой что и Enclosure Device ID;
Проверяем статус диска командой:
megacli -PDList -aAll | egrep "Enclosure Device ID:|Slot Number:|Inquiry Data:|Error Count:|state"
Статус должен измениться на Unconfigured(good), Spun Up
Теперь очищаем диск:
megacli -PDClear -Start -PhysDrv [:4] -a0
Смотрим статус очистки, ждем завершения:
watch megacli -PDClear -ShowProg -PhysDrv [:4] -a0
Clear Progress on Device at Enclosure N/A, Slot 4 Completed 17% in 4 Minutes.
Теперь даем команду замены диска в массиве:
megacli -PdReplaceMissing -PhysDrv[:4] -array1 -row1 -a0
где -array1 -row1 рейд массив №1(нумерация с нуля) и место №1(нумерация с нуля) которые можно узнать командой:
megacli -CfgDsply -a0 | more
Если диск отсутствует в массиве, запись "Physical Disk:" будет показана, но без дополнительно информации:
...
DISK GROUP: 1
...
(пустая строка)
Physical Disk: 1
(пустая строка)
...
И запускаем rebilding:
megacli -PDRbld -Start -PhysDrv [:4] -a0
Started rebuild progress on device(Encl-N/A Slot-4)
Exit Code: 0x00
Ждем окончания, смотря прогресс командой:
watch megacli -PDRbld -ShowProg -PhysDrv [:4] -a0
Rebuild Progress on Device at Enclosure N/A, Slot 4 Completed 9% in 2 Minutes.
Exit Code: 0x00
И еще немного о megacli...
И бонусом команда отключения писка:
megacli -AdpSetProp AlarmSilence -a0 #выключение пищалки до перезагрузки
Включение и выключение навсегда:
megacli -AdpSetProp AlarmEnbl -a0
megacli -AdpSetProp AlarmDsbl -a0
И приоритет ребилдинга рейда (от 30 до 100):
Посмотреть:
megacli -AdpGetProp RebuildRate -a0
Adapter 0: Rebuild Rate = 30%
Exit Code: 0x00
Изменить:
megacli -AdpSetProp RebuildRate 75 -a0
Adapter 0: Set rebuild rate to 75% success.
Exit Code: 0x00
Популярные команды megacli
# flash bios megacli -adpfwflash -f /scripts/firmware/lsi_imr_fw.rom -aALL megacli -adpfwflash -f imr_fw.rom -NoVerChk -aAll megacli -adpfacdefset -aALL # reset to factory default # controller info megacli -AdpAllinfo -aALL megacli -PDGetNum -a0 # nubmer of discs megacli -PDInfo -PhysDrv [64:0] -aALL megacli -PDMakeJBOD -PhysDrv[64:4] # clear controller config to defaults megacli -CfgClr -aALL # delete all megacli -CfgLdDel -LALL -aALL # create raid megacli -CfgLdAdd -r5 [64:0, 64:1, 64:2, 64:3] -a0 megacli -CfgLdAdd -r0 [64:4,64:5,64:6,64:7] -a0 # get free devices megacli -PDList -a0 | grep -e '^Enclosure Device ID:' -e '^Slot Number:' # get raid info megacli -LDInfo -Lall -aALL megacli -PDMakeGood -PhysDrv[64:4] -force -aALL > /dev/null megacli -PDMakeGood -PhysDrv[64:5] -force -aALL > /dev/null megacli -PDMakeGood -PhysDrv[64:6] -force -aALL > /dev/null megacli -PDMakeGood -PhysDrv[64:7] -force -aALL > /dev/null megacli -PDMakeJBOD -PhysDrv[64:4,64:5,64:6,64:7] -a0 megacli -CfgLdAdd -r0 [64:4,64:5,64:6,64:7] -a0 megacli -AdpEventLog -GetEvents -f logfile -aALL # Dump all events from the adapters event log to a file named logfile megacli -PDList -aAll # Dump information about all Phsyical Disks megacli -LDInfo -LAll -aAll # Dump information about all Logical Disks on all adapters megacli -LdPdInfo -aAll # Dump information of all logical and physical disks on all known adapters megacli -AdpSetProp -EnableJBOD 1 -aALL megacli -CfgDsply -aAll # adapter diagnostic megacli -AdpDiag -a0 Controller information megacli -AdpAllInfo -aALL megacli -CfgDsply -aALL megacli -AdpEventLog -GetEvents -f events.log -aALL && cat events.log Enclosure information megacli -EncInfo -aALL Virtual drive information megacli -LDInfo -Lall -aALL Physical drive information megacli -PDList -aALL megacli -PDInfo -PhysDrv [E:S] -aALL Battery backup information megacli -AdpBbuCmd -aALL Controller management Silence active alarm megacli -AdpSetProp AlarmSilence -aALL Disable alarm megacli -AdpSetProp AlarmDsbl -aALL Enable alarm megacli -AdpSetProp AlarmEnbl -aALL Physical drive management Set state to offline megacli -PDOffline -PhysDrv [E:S] -aN Set state to online megacli -PDOnline -PhysDrv [E:S] -aN Mark as missing megacli -PDMarkMissing -PhysDrv [E:S] -aN Prepare for removal megacli -PdPrpRmv -PhysDrv [E:S] -aN Replace missing drive megacli -PdReplaceMissing -PhysDrv [E:S] -ArrayN -rowN -aN Rebuild drive megacli -PDRbld -Start -PhysDrv [E:S] -aN megacli -PDRbld -Stop -PhysDrv [E:S] -aN megacli -PDRbld -ShowProg -PhysDrv [E:S] -aN Clear drive megacli -PDClear -Start -PhysDrv [E:S] -aN megacli -PDClear -Stop -PhysDrv [E:S] -aN megacli -PDClear -ShowProg -PhysDrv [E:S] -aN megacli -PDMakeGood -PhysDrv[E:S] -aN This changes drive in state Unconfigured-Bad to Unconfigured-Good. Set the drive offline, if it is not already offline due to an error megacli -PDOffline -PhysDrv [E:S] -aN Mark the drive as missing megacli -PDMarkMissing -PhysDrv [E:S] -aN Prepare drive for removal megacli -PDPrpRmv -PhysDrv [E:S] -aN If you’re using hot spares then the replaced drive should become your new hot spare drive: megacli -PDHSP -Set -PhysDrv [E:S] -aN 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 megacli -CfgLdAdd -r0 [0:1, 0:1] -a0 megacli -LDInfo -Lall -aALL # View all controleler informations megacli -AdpAllInfo -aAll megacli -LDSetProp CachedBadBBU -LALL -aALL Delete all devices megacli -CfgLdDel -LALL -aALL megacli -CfgLdAdd -r1 [252:0,252:1] -a0 megacli -CfgLdAdd -r10 [252:0,252:1,252:2,252:3] -a0 # create RAID5 megacli -CfgLdAdd -r5 [64:0,64:1,64:2,64:3] -a0 # create RAID10 megacli -CfgSpanAdd -r10 -Array0[64:0,64:1] -Array1[64:2,64:3] -a0 # create RAID10 megacli -AdpSetProp -EnableJBOD 1 # Enable disks cache megacli -LDSetProp EnDskCache -LAll -aAll # Force flash megacli -adpfwflash -f ./12.12.0-0111.rom -NoVerChk -a0 # load controller defauts megacli -adpfacdefset -aALL
управление raid lsi megaraid с помощью megacli
Применимость: Linux
Слова для поиска:
Задача:
управление raid lsi megaraid
Решение:
Можно использовать MegaRAID Storage Manager™, но чтобы его поставить….
Проще использовать консольную утилиту MegaCli
Загрузиться с RIPLinuX и подключиться по SSH
ifconfig eth0 77.72.128.140 netmask 255.255.255.192 ip r add default via 77.72.128.129 chmod +x /etc/rc.d/rc.sshd echo "" > /etc/hosts.deny passwd /etc/rc.d/rc.sshd start
Получить статус и конфигурацию всех адаптеров
megacli -AdpAllInfo -aAll
Cтатус и параметры всех логических дисков
megacli -LDInfo -LAll -aAll
Статус и параметры физических устройств
megacli -PDList -a0
Статус и параметры диска в 4-м слоте
megacli -pdInfo -PhysDrv[252:4] -a0
Создание RAID6 массив MegaCLI
Давайте предположим, что у нас есть сервер с 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
Пример конфигурирования JBOD на LSI 2208 (Supermicro X9DRH-7TF)
При загрузке BIOS эти команды можно выполнить если зайти в preboot CLI по комбинации клавиш Ctrl+Y
Команды megacli и preboot CLI различаются по виду.
Например команда проверки поддержки JBOD для BIOS preboot CLI будет выглядеть так:
AdpGetProp enablejbod -aALL
А для megacli это используется как набор опций и параметров:
megacli -AdpGetProp enablejbod -aALL
Включить поддержку JBOB
megacli -AdpSetProp EnableJBOD 1 -aALL
Список доступных физических устройств:
megacli -PDList -aALL -page24
В списке надо найти значения полей Enclosure Device ID (например 252), Slot Number и Firmware state
Нужно отметить каждое из устройств которое надо сделать 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
Теперь можно создавать JBOD
megacli -PDMakeJBOD -PhysDrv[252:0] -a0 megacli -PDMakeJBOD -PhysDrv[252:1,252:2,252:3,252:4,252:5,252:6,252:7] -a0
Создать виртуальный диск RAID
Перед настройкой массива, возможно, потребуется удалить использованную ранее конфигурацию. Для того чтобы просто удалить логические устройства используйте CfgLdDel
megacli -CfgLdDel -Lall -aAll
Для того чтобы удалить всё (в том числе политику кэша) используйте «Очистку конфигурации»
megacli -CfgClr -aAll
Настройка RAID-0, 1 или 5. Вместо «r0» введите соответственно «r1» или «r5» (диски находятся в Enclosure 29, на портах 0 и 1, WriteBack включен, ReadCache адаптивный, Cache также включен без BBU)
megacli -CfgLdAdd -r0 [29:0,29:1] WB ADRA Cached CachedBadBBU -sz196GB -a0
Создать RAID10
Получить список дисков
megacli -PDList -aAll | egrep "Enclosure Device ID:|Slot Number:|Inquiry Data:|Error Count:|state"
Создать массив из 6 дисков
megacli -CfgSpanAdd -r10 -Array0[252:0,252:1] -Array1[252:2,252:4] [-Array2[252:5,252:6] -a0
Показать как диски были определены в RAID-массиве:
megacli -CfgDsply -a0
Удалить массив с ID=2
MegaCli –CfgLDDel -L2 -a0
Инициализация массива
Начать полную инициализацию для массива с ID=0
MegaCli -LDInit -Start -full -L0 -a0
Проверить текущий статус инициализации:
MegaCli -LDInit -ShowProg -L0 -a0
Управление CacheCade
Создать и назначить 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
Подсветить диск который надо менять (подставьте нужное значение [E:S]):
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
Может так случится, что он содержит метаданные от другого массива RAID (Foreign Configuration). Ваш контроллер не позволит использовать такой диск. Для проверки наличия Foreign Configuration
megacli -CfgForeign -Scan -aALL
Команда удаления Foreign Configuration (если вы уверены)
megacli -CfgForeign -Сlear -aALL
Запускаем процесс замены
megacli -PdReplaceMissing -PhysDrv [32:4] -Array0 -row4 -a0
[32:4] - это параметры диска которым вы меняете неисправный
Rebuild drive
megacli -PDRbld -Start -PhysDrv [32:4] -a0
Проверка процесса ребилда
megacli -PDRbld -ShowProg -PhysDrv [32:4] -a0
Использование smartctl
Получить список id
megacli -PDlist -a0 | grep '^Device Id:'| awk '{print $3}'
Получить данные смарт по диску с ID=9
smartctl /dev/sda -d megaraid,9 -a
для диска с интерфейсом sata
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
Для контроля состояния дисков с помощью демона smartd нужно закомментировать DEVICESCAN в /etc/smartd.conf и добавить:
/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
Значения параметров типа /3/02 - /3/05 определяют время запуска тестов для заданного диска
Замена диска в MegaCli
Данная утилита от LSI так же позволяет оперировать рейд-контроллерами от Dell. Но замена дисков через такую утилиту — целый hardcore, только для настоящих Tru-админов )).
Тестовый стенд: контроллер PERC 6/i, RAID-1, Linux MegaCli64, выпал 1 диск.
Смотрим состояние RAID’a:
# /usr/local/bin/MegaCli -LDInfo -Lall -aALL | grep State
State : Degraded
Какой диск стал причиной этому:
# MegaCli -PDList -aAll | egrep "Enclosure Device ID:|Slot Number:|Inquiry Data:|Error Count:|state"
Enclosure Device ID: 32
Slot Number: 0
Media Error Count: 0
Other Error Count: 0
Firmware state: Online, Spun Up
Inquiry Data: FUJITSU MBC2073RC D506BV03P9605GU7
Enclosure Device ID: 32
Slot Number: 1
Media Error Count: 16655
Other Error Count: 15
Firmware state: Failed
Inquiry Data: SEAGATE ST973452SS 00076TA0EDKH
Enclosure Device ID: 32
Slot Number: 2
Media Error Count: 0
Other Error Count: 0
Firmware state: Online, Spun Up
Inquiry Data: SEAGATE ST973451SS SM043PD1WB4Z
Enclosure Device ID: 32
Slot Number: 3
Media Error Count: 0
Other Error Count: 0
Firmware state: Online, Spun Up
Inquiry Data: SEAGATE ST973451SS SM043PD1WBN7
Enclosure Device ID: 32
Slot Number: 4
Media Error Count: 0
Other Error Count: 0
Firmware state: Online, Spun Up
Inquiry Data: SEAGATE ST973451SS SM043PD1T7EG
Enclosure Device ID: 32
Slot Number: 5
Media Error Count: 0
Other Error Count: 0
Firmware state: Online, Spun Up
Inquiry Data: FUJITSU MBC2073RC D506BV03P9605GF0
Как видим, это диск [32:1]. Именно так к нему в дальнейшем нужно обращаться. Что бы заменить диск, нужно его перевести в offline, пометить как «пропавший» и удалить:
общий вид команд:
# MegaCli -PDOffline -PhysDrv [E:S] -aN
# MegaCli -PDMarkMissing -PhysDrv [E:S] -aN
# MegaCli -PDPrpRmv -PhysDrv [E:S] -aN
в нашем случае это будет так:
# MegaCli -PDOffline -PhysDrv [32:1] -a0
# MegaCli -PDMarkMissing -PhysDrv [32:1] -a0
# MegaCli -PDPrpRmv -PhysDrv [32:1] -a0
Да! Но и это ещё не всё. Потом нужно задать команду замены диска (эту команду выполнить уже после замены диска).:
общий вид:
# MegaCli -PdReplaceMissing -PhysDrv [E:S] -ArrayN -rowN -aN
в нашем случае это будет так:
# MegaCli -PdReplaceMissing -PhysDrv [32:1] -Array0 -row1 -a0
Если нужно подсветить диск (что бы было видно, какой нужно менять) делаем так (при этом диск будет непрерывно гореть зелёным светом):
# MegaCli -PdLocate -start -PhysDrv [32:1] -a0
Что бы прекратить:
# MegaCli -PdLocate -stop -PhysDrv [32:1] -a0
Но в моём случае мне повезло, так как в опциях рейда стояло autorebuild:
# MegaCli -adpallinfo -a0 | grep 'Auto Rebuild'
Auto Rebuild : Enabled
и поэтому, после замены диска не пришлось выполнять команду замены диска — он сам начал процесс перестройки рейда:
# MegaCli -PDRbld -ShowProg -PhysDrv [32:1] -a0
Rebuild Progress on Device at Enclosure 32, Slot 1 Completed 1% in 0 Minutes.
При этом Firmware state тоже в состоянии Rebuild:
# MegaCli -PDInfo -PhysDrv [32:1] -a0 | grep 'Firmware state'
Firmware state: Rebuilding
Как заменить диск в массиве, если rebuild не начался автоматически (пример взят из http://wiki.hetzner.de)?
Статус нового диска должен быть «Unconfigured (good)«. Это можно проверить с помощью PDList. Если статус диска «Unconfigured (bad)«, то его надо сначала сделать пригодным для использования как показано ниже:
root@rescue ~ # megacli -PDList -a0 | grep Firmware
Firmware state: Online, Spun Up
Device Firmware Level: CC45
Firmware state: Online, Spun Up
Device Firmware Level: CC45
Firmware state: Unconfigured(bad), Spun Up
Device Firmware Level: CC45
Firmware state: Online, Spun Up
Device Firmware Level: CC45
root@rescue ~ # megacli -PDMakeGood -PhysDrv [245:3] -a0
Ещё один момент. Иногда, после того, как вы перевели диск из bad в good, он может оказаться в «не родной» конфигурации:
Foreign State: Foreign
и при попытке что-то с ним сделать получаем ошибку:
# MegaCli -CfgLdAdd -r0[80:17] -a0
The specified physical disk does not have the appropriate attributes to complete
the requested command.
Exit Code: 0x26
Обнаружить сколько дисков в такой конфигурации можно так:
# MegaCli -CfgForeign -Scan -a0
There are 1 foreign configuration(s) on controller 0.
Exit Code: 0x00
Очистить «не родную» конфигурацию:
# MegaCli -CfgForeign -Clear -a0
Foreign configuration 0 is cleared on controller 0.
Exit Code: 0x00
Если диск «good«, то им можно заменить отсутствующий диск. Для этого надо указать массив и позицию, где надо произвести замену. Эти значения можно получить, например, из megacli -CfgDsply -a0. Если диск отсутствует в массиве, запись «Physical Disk:» будет показана, но без дополнительно информации. В следующем примере четвёртый диск первого массива (Array0) заменяется диком из Enclosure 245 Slot 3 («PhysDrv[245:3]«):
root@rescue ~ # megacli -PdReplaceMissing -PhysDrv[245:3] -array0 -row4 -a0
Adapter: 0: Missing PD at Array 0, Row 4 is replaced.
Exit Code: 0x00
root@rescue ~ # megacli -PDRbld -Start -PhysDrv[245:3] -a0
Started rebuild progress on device(Encl-245 Slot-3)
Exit Code: 0x00
root@rescue ~ # megacli -PDRbld -ShowProg -PhysDrv [245:3] -aAll
Rebuild Progress on Device at Enclosure 245, Slot 3 Completed 1% in 0 Minutes.
А что если, у вас массив построен на JBOD дисках и нужно заменить диск в zpool’e? Тогда делаем так:
— после физической замены диска он становится:
Firmware state: Unconfigured(good), Spun Up
Foreign State: None
Если не выходит его просто сделать JBOD’ом:
# MegaCli -PDMakeJBOD -PhysDrv[68:16] -a0
тогда делаем его просто RAID0:
# MegaCli -CfgLdAdd -r0[68:16] -a0