HP RAID Controller Status mit hpacucli überprüfen

Wer einen HP Raid Controller (z.B. P222) sein Eigen nennt, kann diesen mit Programm hpacucli (HP ACU CLI), welches Teil des Management Component Packs ist, schnell und einfach den Status des RAID überprüfen.

Schritt 1: hpacucli installieren

Sofern das HP Repository bereits im System hinterlegt ist, lässt sich hpacucli mit folgendem Befehl installieren.

apt-get install hpacucli

Mit dem Tool lassen sich eine ganze Reihe von Konfigurationsarbeiten direkt über die Shell durchführen. Mit folgendem Befehl kann der RAID Status überprüft werden.

hpacucli controller slot=1 physicaldrive all show

Schritt 2: Script erstellen und anpassen

Mit dem folgenden, leicht abgewandelten, Script von Rene Molenaar lässt sich diese Abfrage automatisieren und im Falle eines RAID Fehlers eine E-Mail verschicken. Vorausgesetzt man hat einen fertig konfigurierten MTA (z.B. exim4).

!/bin/bash
#If something went wrong with the HP smartarray disks this script will send an error email

# Define mail variables
SENDERNAME="$hostname"
SENDERADDRESS=root@"$hostname"
RECIPIENT=empfaenger@domain.com

# Define required apps
MAIL=`which mail`
HPACUCLI=`which hpacucli`

# Define logging
HPACUCLI_TMP=/tmp/hpacucli.log

# Define raid config
SLOT=1

# Check raid status
if [ `hpacucli controller slot=$SLOT physicaldrive all show | grep -i 'failed\|rebuilding' | wc -l` -gt 0 ]
then
msg="RAID Controller Errors"
#echo $msg
#$msg2=`hpacucli controller slot=1 physicaldrive all show`
logger -p syslog.error -t RAID "$msg"
$HPACUCLI controller slot=$SLOT physicaldrive all show > $HPACUCLI_TMP
$MAIL -a "From:$SENDERNAME <$SENDERADDRESS>" -s "$msg" "$RECIPIENT" < $HPACUCLI_TMP ; rm -f $HPACUCLI_TMP
#else
#echo "Everything Good"
fi

Schritt 3: Anpassen der crontab

Nun muss das Script nur noch in regelmäßigen Abständen über Cron aufgerufen werden.

crontab -e

Hier fügt man Folgendes ein:

# Check RAID status every 10 minutes
*/10 * * * * /root/scripts/checkraid.sh &> /dev/null

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.