Raid Perc Megaraid / Adaptec

De BlaxWiki
Aller à la navigationAller à la recherche

Check Megaraid

MegaRaid SCSI

Scrits :

megaraid.tar.gz
Script check-raid-status-PERC.pl
# cp megarc /usr/local/sbin/
# cp megamgr /usr/local/sbin/
# ./check-raid-status-PERC.pl
# cat /var/tmp/raid.status
OPTIMAL 1.00=ONLINE 1.01=ONLINE

MegaRaid SAS

Scripts

MegaCli

Placez le fichier "MegaCli" et "check-raid-status-SAS.sh" dans le repertoire "/usr/local/sbin/"

Commandes Utiles

Configuration actuelle du Raid :

MegaCli -CfgDsply -a0

Couper l'alarme sonore :

MegaCli -AdpSetProp AlarmSilence -a0

Lister les disques :

MegaCli -PDList -a0
Dans les commandes "-PhysDrv[E:S]" - E = Enclosure / S = Slot

Passer un disque en Unconfigured Good :

MegaCli -PDMakeGood -PhysDrv [1:2] -aAll

Demander à deconnecter le disque proprepement :

MegaCli -PdPrpRmv -PhysDrv [1:2] -a0

Effectuer un "Clear" sur un disque :

MegaCli -PDClear -ProgDsply -PhysDrv [1:2] -a0

Checker l'état d'un Rebuilt :

MegaCli -PDRbld -ProgDsply -PhysDrv [1:2] -a0

Check du raid

Placez une crontab dans "/etc/crontab" :

# Check du raid
*/5 * * * * root /usr/local/sbin/check-raid-status-SAS.sh

Mettre en place un check_http2 avec "Optimal" en chaine de caractères.

En cas de disque Failed

1er choix

En cas de changement de disque (disque neuf) il n'y a pas besoin de faire ces manipulations, le Rebuilt doit se faire automatiquement. Pensez à vérifier l'état du Rebuilt voir s'il se fait correctement.

Repérer le disque deffectueux :

# MegaCli -PDList -a0
Adapter #0

Enclosure Number: 1
Slot Number: 3
Device Id: 4
Sequence Number: 6
Media Error Count: 0
Other Error Count: 0
Predictive Failure Count: 0
Last Predictive Failure Event Seq Number: 0
Raw Size: 70007MB [0x88bb93a Sectors]
Non Coerced Size: 69495MB [0x87bb93a Sectors]
Coerced Size: 68664MB [0x861c000 Sectors]
Firmware state: Unconfigured(bad)
SAS Address(0): 0x500000e013e0db32
SAS Address(1): 0x0
Inquiry Data: FUJITSU MAX3073RC       D206DRA3P6C02MPP

Enclosure Number: 1
Slot Number: 255
Device Id: 248
Sequence Number: 0
Media Error Count: 0
Other Error Count: 0
Predictive Failure Count: 0
Last Predictive Failure Event Seq Number: 0
Raw Size: 0MB [0x0 Sectors]
Non Coerced Size: 9007199254740480MB [0xfffffffffff00000 Sectors]
Coerced Size: 0MB [0x0 Sectors]
Firmware state: Unconfigured(good)
Inquiry Data: LSI     SGPIO           N/A 

Enclosure Number: 1
Slot Number: 2
Device Id: 3
Sequence Number: 15
Media Error Count: 0
Other Error Count: 0
Predictive Failure Count: 0
Last Predictive Failure Event Seq Number: 0
Raw Size: 70007MB [0x88bb93a Sectors]
Non Coerced Size: 69495MB [0x87bb93a Sectors]
Coerced Size: 68664MB [0x861c000 Sectors]
Firmware state: Online
SAS Address(0): 0x500000e013e0dc12
SAS Address(1): 0x0
Inquiry Data: FUJITSU MAX3073RC       D206DRA3P6C02MPY

Enclosure Number: 0
Slot Number: 255
Device Id: 65535
Sequence Number: 0
Media Error Count: 0
Other Error Count: 0
Predictive Failure Count: 0
Last Predictive Failure Event Seq Number: 0
Raw Size: 0MB [0x0 Sectors]
Non Coerced Size: 9007199254740480MB [0xfffffffffff00000 Sectors]
Coerced Size: 0MB [0x0 Sectors]
Firmware state: Unconfigured(good)
Inquiry Data: 

Passer le disque en "Unconfigured (Good)"

MegaCli -PDMakeGood -PhysDrv [1:3] -aAll

En ligne de commande, dire au serveur que nous retirons le disque :

MegaCli -PdPrpRmv -physdrv [1:3] -a0

Ensuite retirer le disque à la main et le remplacer et le Rebuilt se fera automatiquement.

Vous pouvez ensuite checker l'état du Rebuilt avec cette commande :

MegaCli -PDRbld -ProgDsply -PhysDrv [1:3] -a0
2nd choix

Dans le cas ou le 1er choix ne fonctionne pas, rebooter le serveur afin d'effectuer le rebuilt via le "WebBios" Ctrl + H au démarrage.

Check Adaptec

2015S

# cd /usr/local/src
# wget http://i2o.shadowconnect.com/raidutils/raidutils-0.0.6.tar.bz2
# tar xjf raidutils-0.0.6.tar.bz2 && cd raidutils-0.0.6
# for i in 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17; do mknod /dev/dpti$i c 151 $i; done
# ./configure
# make
# make install
# /usr/local/bin/raidutil -L logical 2>&1 | sed -e 's/$/<br>/' > /var/www/raid.html

Vérifier que "http://aaa.bbb.ccc.ddd/raid.html" retourne bien Optimal dans l'output.

Si c'est le cas, mettre en place le fichier "check_raid.sh" :

#!/bin/sh
/usr/local/bin/raidutil -L logical 2>&1 | sed -e 's/$/<br>/' > /var/www/raid.html
exit 0
# cp check_raid.sh /usr/local/libexec
# chmod 700 /usr/local/libexec/check_raid.sh

Mettre ca dans la crontab:

# Check du raid
*/5 * * * * root /usr/local/libexec/check_raid.sh

Puis mettre en place un check_http2 dans clarawatch en recherchant le mot 'Optimal' dans la page /raid.html


Si jamais le script affiche deux RAID alors qu'il y en a qu'un (on a pas compris pourquoi), remplacer la ligne centrale de ce script avec:

/usr/local/bin/raidutil -d0 -L logical 2>&1 | sed -e 's/$/<br>/' > /var/www/raid.html

2120S

Linux Debian

Adaptec-2120S-2.6-0.tar.gz

# cd /
# tar -zxvf adaptec_2120S.tar.gz

Créer le fichier "raid.commands" dans le repertoire "/usr/local/raid/" :

open afa0
logfile start raid.current.config
container list
disk list
logfile end 
exit

Créer le fichier "check_raid.sh" toujours dans "/usr/local/raid/" :

#!/bin/bash
cd /usr/local/raid/
/usr/sbin/afacli < raid.commands

Ensuite faite la commande suivante :

# cd /usr/local/raid/
# /usr/sbin/afacli < raid.commands