Debian Smart
Einleitung
Der Health-Status von Festplatten kann dank Smartmontools überprüft werden. Dieses Paket bietet auch einen Daemon, der im Hintergrund die Festplatten überwacht und eine Warnmail versendet, wenn der Zustand einer Festplatte kritisch wird. Dadurch kann die Festplatte getauscht werden, bevor diese komplett ausfällt.
Für einen Fileserver ist es auch besonders nützlich, wenn der Festplatten Spindelmotor angehalten wird, wenn längere Zeit keine Zugriffe darauf erfolgten. Dadurch kann die Lebensdauer der Festplatten verlängert werden und Strom eingespart werden.
Spindown
Installation
apt-get install hdparm
Konfiguration
Um den Spindown für Festplatte /dev/sdb zu aktivieren, folgendermaßen vorgehen:
vi /etc/hdparm.conf
Ans Ende der Datei folgendes anfügen:
/dev/sdb { write_cache = off dma = on spindown_time = spindown }
Für jede weiter Festplatte kann ein analoger Block eingefügt werden. Mit dem Parameter write_cache kann der Schreibcache ein- oder ausgeschalten werden. Bei eingeschaltetem Schreibcache erhöht sich die Performance der Festplatte, erhöht allerdings das Risiko, dass bei einem Stromausfall Datenverlust auftritt, wenn noch zu schreibende Daten im Schreibcache sind.
Der numerische Wert spindown bewegt sich im Bereich 0 ... 255. Die reale Spindown Zeit errechnet sich folgendermaßen:
- spindown=0: Spindown deaktiviert
- spindown=1...240: Wert ist mit 5s zu multiplizieren, um die reale Spindown Zeit zu erhalten (5s ... 20min).
- spindown=241...251: (Wert-240)*30min. D.h. Spindown Zeit=30min ... 330min.
- spindown= 251...255: Diese Werte habe ganz spezielle Bedeutungen:
- spindown=252: Spindown Zeit=21 Minuten
- spindown=253: Wählt die vom Festplattenhersteller vorgegebene Spindown Zeit aus, die zwischen 8h und 12h je nach Modell liegen kann.
- spindown= 254: reserviert.
- spindown =255: Spindown Zeit=21 Minuten 15 Sekunden.
Daemon neu starten:
/etc/init.d/hdparm restart
Der aktuelle Status einer Festplatte kann mit folgendem Befehl ausgegeben werden:
hdparm -C /dev/sdb
Manuell kann die Festplatte mittels folgendem Befehl in standby gesetzt werden:
hdparm -S 1 /dev/sdb
oder als Gruppe (sdb,sdc,sdd,sde)
hdparm -S 1 /dev/sd[bcde]
Die Daten der Festplatte können mit folgendem Befehl ausgelesen werden:
hdparm -I /dev/sdb
Smart
Installation
apt-get install smartmontools
Smart Funktionscheck
Health-Status:
smartctl -H /dev/sdb
Die Ausgabe sollte folgendermaßen aussehen:
SMART overall-health self-assessment test result: PASSED
Ausgabe der einzelnen Smart-Parameter:
smartctl -A /dev/sdb
Smart-Daemon
Der Smart Daemon kann laufend Festplatte(n) überwachen und bei festgestellten Problemen oder Annomalien rechtzeitig eine Warnmail versenden, bevor die Festplatte ausfällt und es dadurch evtl. zu Datenverlust kommt.
Im Beispiel sollen die Festplatten /dev/hda (IDE-Festplatte ) und /dev/sda (SATA-Festplatte ) überwacht werden.
vi /etc/smartd.conf
Die Zeile DEVICESCAN durch Voransetzen eines #-Zeichens deaktivieren. Am Ende folgende Zeilen einfügen:
/dev/hda -a -o on -S on -s (S/../.././02|L/../../6/03) -d ata -H -m root@domain.org -M test /dev/sda -a -o on -S on -s (S/../.././02|L/../../6/03) -d ata -H -m root@domain.org -M test
Die Angabe (S/../.././02|L/../../6/03) bestimmt, wann Kurz- (S) und Langtests (L) durchgeführt werden sollen.
Die Blöcke sind folgendermaßen aufgebaut: (T/MM/DD/d/HH)
T: Test S oder L MM: Monat zweistellig DD: Tag des Monats zweistellig d: Tag der Woche (1=Montag, 7=Sonntag) hh: Stunde zweistellig. Der Test wird zwischen hh und hh+1 Stunde zufällig durchgeführt. . bzw .. sind Platzhalter für beliebige Zahlenwerte
=> (S/../.././02|L/../../6/03) bedeutet:
- Kurztest täglich nachts zwischen 02 und 03 Uhr
- Langtest samstags nachts zwischen 03 und 04 Uhr
Aktivieren des Daemons:
vi /etc/default/smartmontools
Das Kommentarzeichen vor folgender Zeile entfernen:
start_smartd=yes
Neustarten des Daemons:
/etc/init.d/smartmontools restart
Es sollte keine Fehlermeldung ausgegeben werden und der Empfänger sollte eine SMART Testmail erhalten.
Wenn der Daemon fehlerfrei gestartet wurde und die Testmail ankam, sollte in den Device-Zeilen in der smartd.conf das -M test am Zeilenende entfernt werden. Dieser Parameter dient lediglich dazu, die Testmail beim Start des Daemons zu versenden. Nach der Änderung den Daemon erneut neu starten.