Cette page a été importée automatiquement de notre ancien wiki mais n'a pas encore été révisée.
http://www.admin-linux.fr/?p=8535 http://erikimh.com/megacli-cheatsheet/ http://www.ens-lyon.fr/PSMN/doku.php?id=faq:sysadmin:megacli
# megaraidsas-status
# megacli -adpallinfo -aALL
# megacli -pdlist -aALL
# megacli -LDInfo -Lall -aALL
# megacli -AdpEventLog -GetEvents -aALL
Note : -aALL indique d'appliquer la commande sur tout les contrôleur disponibles, souvent on en a qu'un seul, donc c'est pratique, plutôt que de chercher son ID (Même si c'est souvent a0).
Récupérer l'Enclosure Id (E) et le numéro de Slot (S) des disques :
# megacli -PDList -aALL |grep -E 'Enclosure Device|Slot|Inquiry'
On notera alors [E:S] l'emplacement du disque souhaité.
E: est l'enclosure su disque et S est le slot du disque souhaité.
Note : Si E (Enclosure Id) est N/A, on mettra alors [:S]
Infos sur un disque :
# megacli -pdinfo -PhysDrv \[E:S\] -a0
Typiquement après le changement d'un disque défectueux, si le rebuild ne se fait pas automatiquement, l'astuce est de passer le nouveau disque en Hot Spare. Ainsi le contrôleur « prendra » le disque Hot Spare pour faire le rebuild.
megacli -PDHSP -Set -PhysDrv \[65535:2\] -a0
Cela passe le disque d'ID 2, enclosure 65535, en Hot Spare.
Parfois, un disque est disponible en tant que HotSpare, mais le controleur ne l'utilise pas… Une astuce est de dire qu'il n'est plus HS, puis le repasser HS.
megacli -PDHSP -Rmv -PhysDrv [8:4] -a0
megacli -PDHSP -Set -Dedicated -Array0 -PhysDrv [8:4] -a0
Cela remet le disque d'ID 4; enclosure 8, en tant que HS dédié pour l'array 0.
# megacli -pdrbld -showprog -physdrv\[E:S\] -a0
Rebuild Progress on Device at Enclosure E, Slot S Completed 10% in 23 Minutes.
megacli -PDOffline -PhysDrv \[E:S\] -a0
Ça le sort du RAID.
megacli -PDMarkMissing -PhysDrv \[E:S\] -a0
-force
)megacli -PDMakeGood -PhysDrv\[E:S\] -a0
Lister d'abord :
# megacli -PdGetMissing -a0
Adapter 0 - Missing Physical drives
No. Array Row Size Expected
0 0 0 139236 MB
Exit Code: 0x00
Le disque (row 0) de l'array 0 est missing. Pour cet exemple, on va dire au disque physique 64:2 de prendre la place du row 0.
megacli -PdReplaceMissing -PhysDrv \[64:2\] -Array0 -row0 -a0
Le passer online
megacli -PDOnline -PhysDrv \[64:2\] -a0
# megacli -PdLocate -start -physdrv\[E:S\] -a0
Note : cela ne fonctionne pas sur tous les contrôleurs
Vérifier que les disques ne sont pas déjà dans un volume RAID
# megacli -ldpdinfo -a0 |grep -E '(Virtual|Inquiry|Slot)'
Créer le volume
# megacli -CfgLdAdd -r1[E:S1,E:S2] -a0
-r1 indique le type de RAID, E correspond au numéro d'enclosure et S1 et S2 sont les numéros de slot des disques.
Scanner les disques avec une config "étrangère" (attention, les disques doivent être en "GOOD")
# megacli -CfgForeign -Scan -a0
# megacli -PdInfo -PhysDrv '[E:S]' -a0 | grep -i foreign
Supprimer la config "étrangère" des disques :
# megacli -CfgForeign -Clear -a0
Importer la config "étrangère" du ou des disques :
# megacli -CfgForeign -Import -a0
Les disques dur neufs d'entreprises sont parfois activés avec un PI (Protection Information, 8 octets supplémentaire sur les secteurs de 512 octets).
Parfois c'est le contraire PI est activé sur les disques du RAID et le nouveau disque n'est pas PI. Et dans ce cas on est coincé car souvent le disque est PI Eligible = No.
Pour le vérifier :
Télécharger/Installer et utiliser PERCCLI.
# rpm2cpio ./perccli-007.0127.0000.0000-1.noarch.rpm | cpio -idmv
# cd opt/MegaRAID/perccli/
# ./perccli64 /c0 /eall /sall show
Controller = 0
Status = Success
Description = Show Drive Information Succeeded.
Drive Information :
=================
----------------------------------------------------------------------------
EID:Slt DID State DG Size Intf Med SED PI SeSz Model Sp
----------------------------------------------------------------------------
32:0 0 Onln 1 185.75 GB SATA SSD N N 512B INTEL SSDSC2BX200G4R U
32:1 1 Onln 1 185.75 GB SATA SSD N N 512B INTEL SSDSC2BX200G4R U
32:2 2 Onln 0 3.637 TB SAS HDD N Y 512B MG04SCA40EN U
32:3 3 UGood - 3.637 TB SAS HDD N N 512B MG04SCA40EN U
----------------------------------------------------------------------------
On voit ici que le volume DG 0 avec son disque 32:2 est en PI=Y, mais que le disque 32:3 est en PI=N.
./perccli64 /c0/e32/s3 show all
Controller = 0
Status = Success
Description = Show Drive Information Succeeded.
Drive Information :
=================
-----------------------------------------------------------------------
EID:Slt DID State DG Size Intf Med SED PI SeSz Model Sp
-----------------------------------------------------------------------
32:3 3 UGood - 3.637 TB SAS HDD N N 512B MG04SCA40EN U
-----------------------------------------------------------------------
[…]
PI Eligible = No
[…]
PI Eligible = No !!