S.M.A.R.T. ist eine Technologie, mit der man den Zustand von Festplatten überwachen kann.
Unter Linux kann die Überwachung automatisch erfolgen. Die smartmontools enthalten für diesen Zweck den smartd: Er fragt periodisch den aktuellen Zustand aller Platten ab, führt Tests durch und benachrichtigt gegebenenfalls den Administrator per Email.Die Grundlagen stehen in diesem Artikel:
Installation
Die smartmontools sind in dem Package "smartmontools" enthalten. Unter Debian wird es wie folgt installiert:
server05:~# apt-get install smartmontools ... Not starting S.M.A.R.T. daemon smartd, disabled via /etc/default/smartmontools
Die letzte Zeile besagt, dass der smartd noch nicht gestartet wurde. Bevor die automatische Prüfung läuft, müssen erst noch die Dateien /etc/smartd.conf
sowie /etc/default/smartmontools
angepasst werden. Aber man kann schon jetzt manuelle Tests durchführen, z.B. mit
server05:~# smartctl -a /dev/sda
oder, falls z.B. die Platten sich an einem LSI RAID Controller befinden:
server17:~# smartctl -a -d megaraid,7 /dev/sda
Mehr dazu in dem Artikel Defekte Festplatten finden. Er enthält auch Angaben zur Windows-Version von smartmontools und ähnlichen Programmen.
Konfiguration
/etc/smartd.conf
Die Datei /etc/smartd.conf
enthält Anweisungen über die Hardware im Server, und welche devices mit welchen Optionen zu testen sind. Es sind eine ganze Reihe von Beispielkonfigurationen enthalten. Hier nun zusätzlich meine eigene Konfiguration (passt zu einem handelsüblichen PC mit zwei Festplatten):
Der Server enthält zwei SATA Platten, die als /dev/sda
und /dev/sdb
angesprochen werden. Bei älteren Systemen ist es gelegentlich erforderlich, dem smartd explizit mitzuteilen, dass es sich um ATA Platten handelt. Das geschieht mit der Option -d ata
, ist meistens aber nicht mehr erforderlich.
Option | Beschreibung |
---|---|
-a | Es sollen sämtliche Attribute abgefragt werden |
-s (S/../.././02|L/../../6/03) | Außerdem sollen täglich um 02:00 Uhr ein kurzer Test sowie jeden Samstag um 03:00 Uhr ein langer Test ausgeführt werden |
-m arne@schirmacher.de | Bei Problemen eine email versenden |
-M test | Beim Start des smartd soll eine Test-Email versendet werden. Dies ist sehr nützlich - man möchte schließlich sicherstellen, dass man im Falle eines Problems auch wirklich per Email benachrichtigt wird |
-d ata -d megaraid,[id] | Die Disk wird als ATA Disk bzw. über einen RAID-Controller angesprochen |
Da die zu prüfenden Platten explizit angegeben werden, wird die DEVICESCAN Anweisung auskommentiert. Der smartd versucht sonst, alle erreichbaren Festplatten mit default Optionen zu prüfen, was nicht immer funktioniert.
Hier die entsprechenden Konfigurationszeilen:
#DEVICESCAN -d removable -n standby -m root -M exec /usr/share/smartmontools/smartd-runner /dev/sda -a -s (S/../.././02|L/../../6/03) -m arne@schirmacher.de -M test /dev/sdb -a -s (S/../.././02|L/../../6/03) -m arne@schirmacher.de -M test
Die Statusinformationen werden außerdem in der /var/log/syslog Datei protokolliert. Bei alten ATA-Disks werden auch wenig interessante Informationen wie minimale Temperaturschwankungen mitgeschrieben. Falls das nicht gewünscht wird, kann man die Attribute mit der Option -I [Attributnummer]
ausblenden.
Sep 16 14:17:15 server05 smartd[4175]: Device: /dev/sda, SMART Usage Attribute: 190 Unknown_Attribute changed from 64 to 65 Sep 16 14:17:15 server05 smartd[4175]: Device: /dev/sda, SMART Usage Attribute: 194 Temperature_Celsius changed from 130 to 133
Sollte es zu einem Problem kommen, erhält man eine Email, hier ein Beispiel:
Von: root@server05 Betreff: SMART error (CurrentPendingSector) detected on host: server05 Datum: 16. September 2007 14:33:38 MESZ An: arne@schirmacher.de This email was generated by the smartd daemon running on: host name: server05 DNS domain: [Unknown] NIS domain: (none) The following warning/error was logged by the smartd daemon: Device: /dev/sda, 8 Currently unreadable (pending) sectors For details see host's SYSLOG (default: /var/log/messages). You can also use the smartctl utility for further investigation. No additional email messages about this problem will be sent.
/etc/default/smartmontools
In der Datei /etc/default/smartmontools ist die folgende Zeile auskommentiert. Damit der smartd startet, das Kommentarzeichen entfernen:
# uncomment to start smartd on system startup start_smartd=yes
und den smartd manuell starten (wird ab jetzt auch automatisch bei jedem Systemstart ausgeführt):
server05:~# /etc/init.d/smartmontools start Starting S.M.A.R.T. daemon: smartd.
Falls der smartd nicht startet, stehen weitere Informationen in der Datei /var/log/syslog
. Evtl. ist die DEVICESCAN
Option nicht auskommentiert und die Defaults passen nicht zu den vorhandenen Platten. Manchmal muss bei alten Platten erst noch die S.M.A.R.T. Funktion auf den Disks aktiviert werden:
smartctl -d ata -s on /dev/sda smartctl -d ata -s on /dev/sdb
Siehe auch die folgenden Artikel:
-
Festplatten mit SMART überwachen — S.M.A.R.T. ist eine Technologie, mit der man den Zustand von Festplatten überwachen kann.
Unter Linux kann die Überwachung automatisch erfolgen. Die smartmontools enthalten für diesen Zweck den smartd: Er fragt periodisch den aktuellen Zustand aller Platten ab, führt Tests durch und benachrichtigt gegebenenfalls den Administrator per Email.
-
Defekte Festplatten finden — Festplatten halten nicht ewig. Jede Festplatte wird irgendwann einmal ausfallen, was im schlimmsten Fall den Totalverlust sämtlicher darauf enthaltener Daten bedeutet.