Управление LSI MegaRAID при помощи MegaCLI

03-июл-2017, 18:40
T.A.W.
117
MegaCLI - программа предназначена для управления RAID контроллерами LSI MegaRAID.

Управление LSI MegaRAID при помощи MegaCLI
Ссылка на скачивание:
Скачать:
[ 2,73 Mb ] ( - 3 )


Расшифровка значений выделенных жирным в командах:
E - Enclosure Device ID;
S - Slot Number.
N - номер виртуального диска, например если у нужного нам массива Virtual Drive 0 - указываем 0. Если массив всего один, можно указывать all
DID - Device Id диска.

Получение информации об RAID массиве:

Проверить состояние RAID можно при помощи команды:
megacli -LDInfo -Lall -Aall
Вывод будет примерно таков:
Adapter 0 -- Virtual Drive Information:
Virtual Drive: 0 (Target Id: 0)
Name :
RAID Level : Primary-1, Secondary-0, RAID Level Qualifier-0
Size : 930.5 GB
Mirror Data : 930.5 GB
State : Optimal
Strip Size : 16 KB
Number Of Drives per span:2
Span Depth : 2
Default Cache Policy: WriteThrough, ReadAdaptive, Direct, No Write Cache if Bad BBU
Current Cache Policy: WriteThrough, ReadAdaptive, Direct, No Write Cache if Bad BBU
Default Access Policy: Read/Write
Current Access Policy: Read/Write
Disk Cache Policy : Disk's Default
Encryption Type : None
Is VD Cached: No

Exit Code: 0x00

Получить состояния всех дисков можно при помощи команды:
megacli -PDList -Aall
Вывод команды по каждому диску будет примерно таков:
Enclosure Device ID: 252
Slot Number: 3
Drive's postion: DiskGroup: 0, Span: 1, Arm: 1
Enclosure position: 0
Device Id: 7
WWN: 5000C5009206B30F
Sequence Number: 2
Media Error Count: 0
Other Error Count: 0
Predictive Failure Count: 0
Last Predictive Failure Event Seq Number: 0
PD Type: SATA
Raw Size: 465.761 GB [0x3a386030 Sectors]
Non Coerced Size: 465.261 GB [0x3a286030 Sectors]
Coerced Size: 465.25 GB [0x3a280000 Sectors]
Firmware state: Online, Spun Up
Device Firmware Level: CC46
Shield Counter: 0
Successful diagnostics completion on : N/A
SAS Address(0): 0x4433221100000000
Connected Port Number: 0(path0) 
Inquiry dаta: Z4X0TM8SST500DM002-1ER14C CC46 
FDE Enable: Disable
Secured: Unsecured
Locked: Unlocked
Needs EKM Attention: No
Foreign State: None 
Device Speed: 6.0Gb/s 
Link Speed: 6.0Gb/s 
Media Type: Hard Disk Device
Drive Temperature : N/A
PI Eligibility: No 
Drive is formatted for PI information: No
PI: No PI
Drive's write cache : Disabled
Drive's NCQ setting : Disabled
Port-0 :
Port status: Active
Port's Linkspeed: 6.0Gb/s 
Drive has flagged a S.M.A.R.T alert : No


Exit Code: 0x00
Это не совсем удобно для быстрой проверки состояния диска, по этому можно вывести только необходимую информацию:
megacli -PDlist -aALL | egrep 'Enclosure\ Device\ ID|Slot\ Number|Device\ Id|Inquiry\ Data|Raw|Firmware\ state' | sed 's/Enclosure\ Device\ ID/\nEnclosure\ Device\ ID/g'
При этом вывод будет значительно удобнее:
Enclosure Device ID: 252
Slot Number: 0
Device Id: 6
Raw Size: 465.761 GB [0x3a386030 Sectors]
Firmware state: Online, Spun Up
Inquiry dаta: Z6ETARMCST500DM002-1BD142 KC48 

Enclosure Device ID: 252
Slot Number: 1
Device Id: 5
Raw Size: 465.761 GB [0x3a386030 Sectors]
Firmware state: Online, Spun Up
Inquiry dаta: Z2AKQ4WRST500DM002-1BD142 KC45 

Enclosure Device ID: 252
Slot Number: 2
Device Id: 4
Raw Size: 465.761 GB [0x3a386030 Sectors]
Firmware state: Online, Spun Up
Inquiry dаta: W2AF805AST500DM002-1BD142 KC45 

Enclosure Device ID: 252
Slot Number: 3
Device Id: 7
Raw Size: 465.761 GB [0x3a386030 Sectors]
Firmware state: Online, Spun Up
Inquiry dаta: Z4X0TM8SST500DM002-1ER14C CC46 
Получить всю информацию по конкретному диску можно при помощи команды:
megacli -PDInfo -PhysDrv [E:S] -aN
Получить доступ к SMART дисков можно следующим образом:
smartctl -d sat+megaraid,DID -a /dev/sda

Замена диска в массиве:

Проверяем состояние RAID массива, должен быть Degraded - это означает что один или несколько дисков вылетели.
megacli -LDInfo -Lall -aALL | grep State
Ищем диск который вылетел:
megacli -PDlist -aALL | egrep 'Enclosure\ Device\ ID|Slot\ Number|Device\ Id|Inquiry\ Data|Raw|Firmware\ state' | sed 's/Enclosure\ Device\ ID/\nEnclosure\ Device\ ID/g'
Ищем в выводе диск с статусом "Failed":
Enclosure Device ID: 252
Slot Number: 0
Device Id: 6
Raw Size: 465.761 GB [0x3a386030 Sectors]
Firmware state: Online, Spun Up
Inquiry dаta: Z6ETARMCST500DM002-1BD142 KC48 

Enclosure Device ID: 252
Slot Number: 1
Device Id: 5
Raw Size: 465.761 GB [0x3a386030 Sectors]
Firmware state: Failed
Inquiry dаta: Z2AKQ4WRST500DM002-1BD142 KC45 

Enclosure Device ID: 252
Slot Number: 2
Device Id: 4
Raw Size: 465.761 GB [0x3a386030 Sectors]
Firmware state: Online, Spun Up
Inquiry dаta: W2AF805AST500DM002-1BD142 KC45 

Enclosure Device ID: 252
Slot Number: 3
Device Id: 7
Raw Size: 465.761 GB [0x3a386030 Sectors]
Firmware state: Online, Spun Up
Inquiry dаta: Z4X0TM8SST500DM002-1ER14C CC46 
В моем случае это 252:1, что бы его заменить необходимо перевести диск в состояние Offline, и удалить из массива, комманды выполняем строго по порядку, вместо E и S указываем Enclosure Device ID и Slot Number соответственно.
megacli -PDOffline -PhysDrv [E:S] -aN
megacli -PDMarkMissing -PhysDrv [E:S] -aN
megacli -PDPrpRmv -PhysDrv [E:S] -aN
После этого можно менять диск, если есть хот-свап сервер выключать не обязательно. Далее проверяем состояние нового диска, если статус у него не "Unconfigured (good)" значит его нужно сделать таковым, делаем следующее:
megacli -PDMakeGood -PhysDrv [E:S] -aN
После этого проверяем вновь состояние диска, если статус "Unconfigured (good)" смотрим на его конфигурацию в строке Foreign State, если указано Foreign - означает что диск находится в неродной конфигурации и эту конфигурацию необходимо очистить, иначе с ним ничего не сможем сделать:
megacli -CfgForeign -Clear -aN
Теперь, когда диск в стандартной конфигурации и в статусе good заменяем отсутствующий диск в массиве, сделать это можно при помощи команды:
megacli -PdReplaceMissing -PhysDrv [E:S] -ArrayA -rowS -aN
Запускаем ребилд диска:
megacli -PDRbld -Start -PhysDrv[E:S] -aN
А так можно посмотреть статус ребилда:
megacli -PDRbld -ShowProg -PhysDrv [E:S] -aAll
На случай если определить диск не удается (например у нас хотсвап и выключать сервер нельзя), можно его подсветить зелёным светом:
megacli -PdLocate -start -PhysDrv [E:S] -aN
Отключить подсветку:
megacli -PdLocate -stop -PhysDrv [E:S] -aN

Оставить комментарий
Мы в социальных сетях: