164 lines
3.8 KiB
Markdown
164 lines
3.8 KiB
Markdown
**Cette page a été importée automatiquement de notre ancien wiki mais n'a pas encore été révisée.**
|
|
|
|
# Infos MegaCLI
|
|
|
|
<http://www.admin-linux.fr/?p=8535>
|
|
<http://erikimh.com/megacli-cheatsheet/>
|
|
<http://www.ens-lyon.fr/PSMN/doku.php?id=faq:sysadmin:megacli>
|
|
|
|
## Commandes de base
|
|
|
|
~~~
|
|
# 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
|
|
~~~
|
|
|
|
|
|
|
|
|
|
## Passer un disque en HotSpare
|
|
|
|
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.
|
|
|
|
## Utiliser un disque HotSpare
|
|
|
|
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.
|
|
|
|
## Contrôler le rebuild d'un disque
|
|
|
|
~~~
|
|
# megacli -pdrbld -showprog -physdrv\[E:S\] -a0
|
|
|
|
Rebuild Progress on Device at Enclosure E, Slot S Completed 10% in 23 Minutes.
|
|
~~~
|
|
|
|
## Passer un disque en offline
|
|
|
|
~~~
|
|
megacli -PDOffline -PhysDrv \[E:S\] -a0
|
|
~~~
|
|
|
|
## Passer un disque en missing
|
|
|
|
Ça le sort du RAID.
|
|
|
|
~~~
|
|
megacli -PDMarkMissing -PhysDrv \[E:S\] -a0
|
|
~~~
|
|
|
|
## Passer un disque de bad à good (on peut utiliser l'option `-force`)
|
|
|
|
~~~
|
|
megacli -PDMakeGood -PhysDrv\[E:S\] -a0
|
|
~~~
|
|
|
|
## Remplacer un disque missing
|
|
|
|
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
|
|
~~~
|
|
|
|
## Faire clignoter un disque
|
|
|
|
~~~
|
|
# megacli -PdLocate -start -physdrv\[E:S\] -a0
|
|
~~~
|
|
|
|
Note : cela ne fonctionne pas sur tous les contrôleurs
|
|
|
|
## Configurer un volume RAID à partir de nouveaux disques
|
|
|
|
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
|
|
~~~
|
|
|
|
|