Wie kann ich meine HP Server dazu bringen, mir eine E-Mail zu senden, wenn ein Laufwerk ausfällt?

11

Idealerweise mit einer möglichst einfachen Installation und ohne Neustart der Server. Meistens, DL380 G5'swenn es hilft.

DrZaiusApeLord
quelle
Schade, dass es sich nicht um G7 handelt, oder Sie könnten HP Insight Manager verwenden.
Tom O'Connor
Laufen auf Ihren Servern Windows oder Linux?
Tom O'Connor
Welche Betriebssysteme führen Sie auf diesen Servern aus?
ewwhite
Sie sind alle 2003 oder 2008 sowohl Vanille als auch R2. Ich habe mit SIM gespielt, aber es konnte nicht mit meinen G5 sprechen.
DrZaiusApeLord
SIM sollte weiterhin mit G5 ProLiants kompatibel sein. Hatten Sie die Agenten installiert, als Sie es zuvor versucht haben?
ewwhite

Antworten:

16

Dies hängt geringfügig von den Betriebssystemen ab, die Sie auf den Servern ausführen. Im Allgemeinen ist es jedoch möglich, Warnungen von HP ProLiant-Servern und Smart Array-RAID-Controllern abzurufen.

Die vollständige Liste der Treiber- und Softwareunterstützung für Ihre DL380 G5-Systeme finden Sie hier .

SNMP und eine Überwachungslösung sind der beste Ansatz ... Sie können dies jedoch mit einigen HP Tools erweitern. HP bietet den HP Systems Insight Manager an , der zum Download zur Verfügung steht und auch mit den Servern geliefert wird. Dies ist ideal für Serversammlungen. Wenn Sie nach einmaligen Warnungen suchen, ohne eine Verwaltungs- oder Überwachungsinfrastruktur aufzubauen, können Sie einfach die HP Management Agents (auch bekannt als ProLiant Support Pack ) installieren .

Bei eigenständigen Linux-Systemen lassen ich die Agenten Traps per E-Mail senden. Normalerweise konfiguriere ich das Support Pack mit Standardeinstellungen oder einem benutzerdefinierten Bundle , bearbeite /opt/hp/hp-snmp-agents/cma.confund ändere die trapemailZeile so, dass sie auf die Empfängeradresse verweist:

########################################################################
# trapemail is used for configuring email command(s) which will be
# executed whenever a SNMP trap is generated.
# Multiple trapemail lines are allowed.
# Note: any command that reads standard input can be used. For example:
#             trapemail /usr/bin/logger
#       will log trap messages into system log (/var/log/messages).
########################################################################
trapemail /bin/mail -s 'HP Insight Management Agents Trap Alarm' [email protected]

Wenn Sie Linux ausführen und nicht die vollständige HP Management Suite installieren möchten, können Sie ein Skript um das Dienstprogramm cciss_vol_status entwickeln, um den Controller- / Festplattenstatus abzufragen. Siehe auch: Installieren von HP Agents auf OpenFiler

ewwhite
quelle
Gibt es eine elegante Möglichkeit, eine Warnung auf einen RAID-Array-Fehler zu testen, außer ein Laufwerk aus dem Steckplatz zu ziehen? Ich habe ein paar ProLiant DL360 G7Server und HP SIM für die Überwachung eingerichtet.
Banjer
Nicht, dass ich davon Wüste. Die Insight-Agenten arbeiten definitiv. Wenn Sie den Array-Status über das Dienstprogramm hpacucli anzeigen können und wissen, dass Sie Warnungen auf HP SIM erhalten, können Sie davon ausgehen, dass die Dinge funktionieren.
ewwhite
3

Ich habe das leichte Programm verwendet, das @ewwite in seiner Antwort erwähnt hat: cciss_vol_status

Wenn Sie den beiliegenden INSTALL-Anweisungen folgen, wird das Skript eingefügt /usr/local/bin/cciss_vol_status.

Hier ist ein Wrapper-Skript, mit dem ich die Ausgabe von cciss_vol_status überprüfe und eine E-Mail sende, wenn ein Array den Status FAILED hat.

#!/bin/bash
#
# Check status of RAID volumes on HP Smart Array controllers.  Send an email
# alert if any volumes have a FAILED status.
#
status=`/usr/local/bin/cciss_vol_status /dev/sd*`

# email lock file
lockfile=/tmp/raid.check.hp.smartarray.lock
# how often to send an email (minutes)
_notification_freq=59
_host=`hostname`
# To: email
_toemail=root

# create email lock file
[ ! -f ${lockfile} ] && /bin/touch ${lockfile}

if echo $status | grep -q FAILED
then
    # make sure we haven't sent a notification in the last X minutes
    if test `find ${lockfile} -mmin +${_notification_freq}`
    then
        echo -e "${status}" | /bin/mail -s "System Alert! RAID failure on ${_host}" ${_toemail}

        # update lock file mod time
        /bin/touch ${lockfile}
    fi
fi

Rufen Sie das obige Skript in cron auf. Ich führe den Check alle zwei Minuten durch:

*/2 * * * * /usr/local/bin/raid.check.hp.smartarray.sh

Wir verwenden HP System Insight Manager , um zu überprüfen, ob unsere HP betriebsbereit sind, aber nichts weiter. Ich fand, dass der Linux-Agent für uns übertrieben ist, da wir andere Überwachungslösungen haben, sodass dieses obige Skript seinen spezifischen Zweck gut erfüllt.

AKTUALISIEREN

Nur ein Tipp zur Fehlerbehebung, falls Sie darauf stoßen. Dieses Skript hat sich heute Morgen als hilfreich erwiesen, als ich eine E-Mail über ein fehlgeschlagenes Array erhielt mit:

Cache Dirty Limit erreicht

Das Gerät war schreibgeschützt und in nicht sichtbar /proc/partitions. Ich habe den Server neu gestartet und beim Booten folgende Meldungen gesehen:

Logische Laufwerke aufgrund möglicher Datenverluste deaktiviert. Wählen Sie "F1", um mit deaktivierten logischen Laufwerken fortzufahren. Wählen Sie "F2", um Datenverlust zu akzeptieren und logische Laufwerke wieder zu aktivieren.

Ich habe F2 ausgewählt und das RAID war in Ordnung und wurde beim Booten gemountet.

Banjer
quelle
1

Installieren Sie Smartmontools. Mailen Sie, BEVOR ein Laufwerk ausfällt.

Stephan
quelle
2
~ 30% der Zeit. SMART ist keine Silberkugel.
HopelessN00b