Blog

RTFM ! - MegaCli (carte RAID LSI)

Écrit le 14 08 2013 par Kévin MET _

Aujourd’hui, on se fait un petit RTFM! sur l'utilitaire MegaCli. Cet utilitaire s'utilise sur certaines cartes RAID qui ont un chipset LSI. Autant dire que MegaCli est utilisé sur beaucoup de serveurs. Malheureusement ce petit soft a une syntaxe immonde et en plus il est chiant à installer.

Installation

Si vous êtes sur une Debian ou Ubuntu, c'est en fait l'exception à ce que je viens de dire car c'est plutôt simple. Il existe un dépôt qui regroupe tous un tas de soft dédiés au RAID dont fait partie MegaCli. Il s'agit de http://hwraid.le-vert.net/wiki/DebianPackages

Il suffit donc d'ajouter ce dépôt dans votre /etc/apt/sources.list, la clé GPG du dépôt et procéder à l'installation :


# echo "deb http://hwraid.le-vert.net/debian wheezy main" >> /etc/apt/sources.list
# wget -O - http://hwraid.le-vert.net/debian/hwraid.le-vert.net.gpg.key | sudo apt-key add -
# apt-get update
# apt-get install megacli

Pour les autres distributions, en allant sur le site de LSI et en tapant megacli dans la recherche vous devriez trouver un zip contenant un .rpm de la dernière version du soft.

Utilisation

Maintenant qu'on réussi à installer megacli on va pouvoir l'utiliser. Et vous allez voir que les options sont juste impossible à retenir. Je vous conseille donc de bookmarker cette page 😉

Pour lister les capacités de la carte, la version et un tas d'autres infos sur votre carte RAID :


Megacli -AdpAllInfo -aAll

l'option -aAll indique que l'on veut appliquer l'option -AdpAllInfo sut toutes les cartes. Si on voulait avoir les infos seulement sur la première carte, il faudrait utilisé -a0, pour la deuxième -a1, etc.

Pour avoir des infos sur la batterie de votre carte :


Megacli -AdpBbuCmd -aAll

Pour avoir les infos sur les grappes RAID créées :


Megacli -LDInfo -Lall -aALL

Pour avoir des infos sur les disques physiques attachés à votre carte :


Megacli -PDList -aALL

La fonction de Patrol Read permet de détecter les disques défectueux avant qu'il y ait une perte de données. Le test est, par défaut, lancé tous les 168 heures et peu prendre jusqu'à 30% d'I/O. Pour voir l'état du Patrol Read et du délai entre chaque test :


Megacli -AdpPR -Info -aALL

Pour voir combien le Patrol Read peut consommer d'I/O :


Megacli -AdpGetProp PatrolReadRate -aALL

Pour limiter le Patrol Read a un taux de 5% d'utilisation d'I/O :


Megacli -AdpSetProp PatrolReadRate 5 -aALL

Pour désactiver le Patrol Read :


Megacli -AdpPR -Dsbl -aALL

Pour lancer un scan manuel de Patrol Read :


Megacli -AdpPR -Start -aALL

Pour arrêter un scan Patrol Read qui est en train de vous foutre votre serveur par terre 😉


Megacli -AdpPR -Stop -aALL

Pour créer un RAID 5, il faut commencer par lister les disques rattachés à votre carte RAID :


Megacli -PDList -aALL | egrep 'Adapter|Enclosure|Slot|Inquiry'

Une fois qu'on a la liste, on peut créer une grappe RAID en utilisant l' Enclosure Device ID et le Slot Number comme ceci :


Megacli -CfgLdAdd -r5'[252:5,252:6,252:7]' -a0

Pour vérifier la progression de la (re)construction d'une grappe RAID :


Megacli -LDRecon ShowProg L0 -a0

Il faut remplacer L0 par L1 pour voir la seconde grappe RAID, etc.

Pour activer l'autorebuild des grappes RAID :


Megacli -AdpAutoRbld -Dsply -a0

Pour désactiver l'autorebuild des grappes RAID :


Megacli -AdpAutoRbld -Dsbl -a0

Pour vérifier le pourcentage d'I/o utilisé lors d'un rebuild :


Megacli -AdpGetProp RebuildRate -a0

Pour modifier le pourcentage d'I/O utilisé lors d'un rebuild à 50% :


Megacli -AdpSetProp RebuildRate 60 -a0

Pour activer l'utilisation du cache des disques :


Megacli -LDSetProp EnDskCache -LAll -aAll

Pour activer le Read cache :


Megacli -LDSetProp -Cached -LAll -aAll

Pour activer readahead en version adaptive :


Megacli -LDSetProp ADRA -LALL -aALL

Pour désactiver le write-cache en cas de problème avec la batterie :


Megacli -LDSetProp NoCachedBadBBU -LALL -aALL

Pour activer le write-cache sur toutes les grappes RAID :


Megacli -LDSetProp WB -LALL -aALL

Les points vitaux à surveiller

Pour finir, voici les points essentiels à intégrer à votre supervision :

  • L'état de la batterie
  • L'état de vos grappes RAID
  • La politique de cache de votre carte RAID (WB ou WT)

Pour l'état de la batterie, la commande suivante permet de savoir si la batterie est bien chargée et sa capacité :


Megacli -AdpBbuCmd -GetBbuStatus -a0 | grep -e '^isSOHGood' -e '^Charger Status' -e '^Remaining Capacity'

Si la batterie n'est pas chargée à fond ou que vous êtes en write through et que vous pensez que cela peut venir de la batterie, vous pouvez lancer un relearn (décharge complète et recharge complète). Lors de ce relearn la carte passera en write through ce qui ralentira très fortement votre RAID. A lancer lors des périodes creuses donc.


Megacli -AdpBbuCmd -BbuLearn -aALL -NoLog

En ce qui concerne l'état de vos grappes RAID, vous pouvez vous en remettre à cette commande :


Megacli -LDPDInfo -aAll | grep -v "Foreign State: " | grep "State:"

Il faut que cela vous renvoie Optimal pour chacune de vos grappes RAID

Pour la politique de cache, il faut utiliser la commande suivante :


Megacli -LDInfo -LAll -aAll | grep "Current Cache Policy: "

Si vous disposer d'une batterie, il faut avoir un résultat de ce type :


Current Cache Policy: WriteBack, ReadAdaptive, Direct, No Write Cache if Bad BBU
♥ Partage sur tes réseaux sociaux ♥
Kévin MET
Kévin MET

Auteur de ce blog et gérant de la société MNT-TECH, je publie sur ce blog lorsque le temps me le permet et lorsqu'un sujet qui me parait intéressant n'a pas encore été abordé en français. Toutes les informations techniques présentes sur cette page peuvent être réutilisées moyennant le fait de citer la source.