Da ja wie beschrieben eine Platte bereits ein paar Wochen nach Betriebsaufnahme den Geist aufgegeben hatte und ich nach nur einem Tag schon Ersatz von Hetzner bekam, habe ich mir Gedanken über die Äberwachung gemacht.
Zuerst wollte ich ein Script programmieren, welches die /proc/mdstat regelmässig ausliest. Das ist aber gar nicht notwendig. Wenn man mal das Handbuch (man mdadm) liest, bemerkt man, das es das betreits in perfekter Form gibt.
# Diese Nachricht produziert mdadm --monitor --scan -1 -m root@dn.de -t
This is an automatically generated mail message from mdadm
running on dn.de
A TestMessage event had been detected on md device /dev/md1.
Faithfully yours, etc.
P.S. The /proc/mdstat file currently contains the following:
Personalities : [raid0] [raid1]
md3 : active raid1 sdb4[1] sda4[0]
377583616 blocks [2/2] [UU]
md2 : active raid1 sdb3[1] sda3[0]
10490368 blocks [2/2] [UU]
md1 : active raid1 sdb2[1] sda2[0]
530048 blocks [2/2] [UU]
md0 : active raid1 sdb1[1] sda1[0]
2104448 blocks [2/2] [UU]
unused devices: none
Lässt man nun das -t weg, hat man den perfekten Eintrag für die cron. Ich habe eine zweite Zeile im Cron spendiert. Ich hätte gern einmal pro Woche doch eine Mail, auch wenn alles i.o. ist
## Pruefung der Softraids
10 * * * 0-5 /sbin/mdadm --monitor --scan -1 -m root@dn.de
## Pruefung der Softraids simulieren, damit wenigstens einmal die Woche eine Nachricht kommt
5 8 * * 6 /sbin/mdadm --monitor --scan -1 -m root@dn.de -t
Wieso überhaupt ein Cronjob? mdadm unterstützt doch von Haus aus einen Daemonmodus (-f, --daemonise). So wirst du immer sofort benachrichtigt, wenn sich etwas an dem Gesundheitsstatus deines Soft-RAIDs ändert und nicht erst, wenn der Cronjob läuft.
Stimmt, das habe ich gelesen. Ist die Frage, wer überwacht, ob der Daemon auch noch läuft nach Monaten. Aus Erfahrung weiß ich, das so etwas in Vergessenheit gerät und dann bekommt man es gar nicht mit. Bei Fail2ban ist ja auch so, wenn der Deamon irgendwann weg ist, merkt man es auch nur dadurch, das keine Meldungen mehr kommen. Letztlich 'ne Geschmacksfrage.
Und woran merkst du, dass der crond noch läuft? Ist im Prinzip die gleiche Argumentationsschiene.
Die einzelnen Daemons kannst du ja mit monit, munin o. ä. überwachen.
Na, der Cron produziert bei mir ja noch andere Sachen. Wenn da was ausfällt, merke ich es nach spätestens 24 Stunden. Ansonsten hast du ja recht. Sagen wir mal so, ich war zu faul einen init.d Script dafür zu basteln
Ich mach das ganz anders. System: Slackware 11.0
Datei angelegt: /etc/mdadm.conf dadrin alle Arrays definiert + Mailereintrag.
In der /etc/rc.d/rc.local den Eintrag /sbin/mdadm --follow --scan & echo $! >/var/run/mdadm
Ergebnis: Schönes Logfile und sofortige eMail im Fehlerfall.
Ich habe mich auf das Monitoring von mdadm verlassen und nun festgestellt, dass ein Raid degraded ist. Der Zeitraum ist nicht lange, aber ich habe keine Mail gekommen. Ich sicher hier zukünftig doppelt ab.