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


Тестовый стенд: контроллер 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

Комментарии

Популярные сообщения из этого блога

Права на папки и файлы (unix/chmod)

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

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