Festplattenstatus

Dieser Artikel wurde für die folgenden Ubuntu-Versionen getestet:

Wiki/Icons/hd.png Magnetische Massenspeichergeräte (Festplatten) arbeiten im mechanisch-technischen Grenzbereich. Die Frage, ob sie irgendwann versagen, stellt sich daher nicht – interessant ist nur, wann dies der Fall sein wird. Bei den meisten Beschädigungen ist zwar eine Wiederherstellung durch Spezialisten möglich, welche aber ausgesprochen kostenintensiv ist und daher selten eine wirkliche Option darstellt. Da diese Erkenntnisse nicht neu sind, wurden Strategien entworfen, wie sich Festplatten selbst reparieren können. Zusätzlich sollen sie die Sicherheit gewähren, dass das, was wichtig ist, nämlich die Daten auf dem Gerät, erst gar nicht zu Schaden kommen können. Neben regelmäßigen Sicherheitskopien, kann der Benutzer auch Raid-Modi (Software Raid1 via LVM zum Beispiel) verwenden, um seine Daten sicher zu halten. Die Hersteller der Geräte (P-ATA-, S-ATA- und SCSI-Industriestandardgeräte) haben aber zusätzlich ein Diagnosesystem entwickelt, welches den aktuellen Festplattenstatus möglichst genau bestimmen kann. Anhand dessen soll dieses über einen gewissen Zeitraum Prognosen liefern, wann welche Beschädigung vermutlich eintritt. Diese Technik trägt den Namen S.M.A.R.T. (Self-Monitoring, Analysis and Reporting Technology) und dessen Verwendung mit den S.M.A.R.T. Monitoring Tools {en} in Ubuntu soll Inhalt dieses Artikels sein.

Aktivierung

S.M.A.R.T., zu deutsch in etwa Selbstüberwachungs-, Analyse- und Benachrichtigungstechnik, läuft völlig autonom innerhalb des Gerätes ab und ist in der Lage Einstellungen zu speichern. Durch unsinnig restriktive BIOS-Einstellungen wird diese Funktion aber häufig beim Systemstart abgeschaltet. Erhält man während des Bootvorgangs eine Meldung wie

IDE Primary Master S.M.A.R.T. capable but disabled

so wird S.M.A.R.T. erkannt, wurde aber manuell abgeschaltet. Wie die notwendigen Einstellungen im Bios vorgenommen werden, um S.M.A.R.T. wieder zu aktivieren, geht über diesen Artikel hinaus, das Bios-Kompendium {de} ist hierfür aber eine gute Anlaufstelle. Im Zweifelsfall sollte man die Dokumentation des Mainboards zu Rate ziehen.

Testbeschreibung

S.M.A.R.T. unterscheidet drei Datensammel-Kategorien:

  • Online Tests nehmen keinen direkten Einfluss auf die eigentliche Tätigkeit des Gerätes, weswegen sie jederzeit durchgeführt werden können (die Namensgebung ist in der Hinsicht etwas ungeschickt).

  • Offline Tests können Auswirkungen auf den regulären Betrieb haben. Daher führt die Festplatte, falls nicht explizit anders eingestellt, diese Tests selbstständig in der sogenannten Idle-Zeit aus, das heißt salopp formuliert, wenn die Festplatte sowieso nichts Besseres zu tun hat.

  • Self Tests laufen nicht automatisch, sondern müssen explizit angestoßen werden. Diese Tests können sich von Minuten bis zu Stunden hinziehen und liefern viele Daten.

Software

Verschiedene Programme können zum Auslesen verwendet werden. Neben der Laufwerksverwaltung können smartctl und der Daemon smartd, welche Bestandteil des Pakets

  • smartmontools

Wiki/Vorlagen/Installbutton/button.png

sind, installiert [2] werden.

Achtung bei SSDs

Alte Versionen (< 5.4) von den smartmontools unterstützen SSDs nur rudimentär. Es gibt sogar Meldungen über Datenverluste. Aktuelle Versionen von Ubuntu und Debian haben immer noch die Version 5.39.?+... in den offiziellen Quellen (Lucid, Maverick, Natty). Erst ab Version 5.40 werden SSDs offiziell unterstützt. Wegen der rasanten Entwicklung bei SSDs haben diese smartmontools-Versionen eine Update-Funktion für die Datenbank bekommen. Damit erhält man jeweils die aktuelle drivedb.h.

Die Version 5.4 der smartmontools kann als DEB-Paket von Debian Wheezy {dl} herunter geladen und installiert [5] werden.

Hinweis!

Fremdpakete können das System gefährden.


Anmerkung: Das Paket stammt von Debian, der Mutter von Ubuntu.

Danach aktualisiert man noch die Datenbank:

sudo /usr/sbin/update-smart-drivedb 

Danach werden auch aktuelle SSDs, die erst kurz auf dem Markt sind, sofort richtig erkannt und alle SSD-spezifischen Attribute korrekt angezeigt.

smartctl

smartctl {en} ist ein Programm, welches von modernen ATA- und SCSI-Festplatten Statusmeldungen von S.M.A.R.T. auslesen kann. Diese Selbstüberwachung erlaubt das Erkennen eventuell drohender Hardwaredefekte.

Dieses Programm wird auch benötigt um die Load-Cycle-Counts der Notebook-Festplatte festzustellen. Hier hilft der Artikel Notebook-Festplatten-Bug oder bei bestimmten Festplatten der Firma Western Digital der Artikel WD IntelliPark weiter.

Benutzung

Um das Programm nutzen zu können, muss man den entsprechenden Gerätenamen wissen. Außerdem sind Root-Rechte erforderlich. Ein Befehl [1] ist immer nach dem folgenden Muster aufgebaut:

sudo smartctl -PARAMETER GERÄTENAME 

Verschiedene Parameter können kombiniert werden.

smartctl
ParameterBeschreibung
-i Gibt an, ob S.M.A.R.T. verfügbar ist.
-s on S.M.A.R.T. wird aktiviert.
-h Ausgabe
-A Werte aller Attribute
-H Abfrage des Gesundheitszustands
-c Überprüfung, welche Tests (TEST) möglich sind / Zeit, die diese benötigen
-S on Automatisches Speichern der Einstellungen.
-t TEST Durchführung des möglichen Tests (short, offline, long ...)
-o on Startet die Offline Tests mit einem 4-Stunden-Zyklus.
-t long Startet einen langen selftest. Der Test ist auch unter dem Synonym Oberflächenanalyse bekannt.
-t short Startet einen kurzen selftest. Der Test ist zwar kurz, dauert aber mindestens eine Minute (auch wenn die Konsole sofort wieder freigegeben wird). Die Endzeit ist angegeben.
-t offline Startet sofort die Offline Tests.
-l selftest Zeigt das Log des letzten Selbsttests.
-X Test abbrechen
-l error Fehlermeldungen ausgeben

Weitere Parameter sind den Manpages zu entnehmen.

Schnelltest

sudo smartctl -H /dev/sda #Status der ersten SATA Platte 
smartctl version 5.37 [i686-pc-linux-gnu] Copyright (C) 2002-6 Bruce Allen
Home page is http://smartmontools.sourceforge.net/

=== START OF READ SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED

Das Ergebnis PASSED bedeutet, dass keine Fehler gefunden wurden. Hier gilt jedoch zu beachten, dass lediglich die Datei ausgelesen und keine Überprüfung durchgeführt wird. Erscheint FAILED, droht ein Defekt und ein damit verbundener Datenverlust.

Ausführlicher Test

Für aussagekräftigere Ergebnisse ist ein ausführlicher Test des Laufwerks üblich.

sudo smartctl -t long /dev/sda #Status der ersten SATA Platte ermitteln 

Die Zeit der Beendigung des Tests wird danach angezeigt und hängt unter anderem von der Festplattengröße, -geschwindigkeit und möglicherweise den gefundenen Fehlern ab (üblicherweise etwa zwischen 20 und 60 min). Nach Ablauf dieser Zeit kann man die Ergebnisse anzeigen lassen:

sudo smartctl -a /dev/sda #Status der ersten SATA Platte anzeigen 

Das Ergebnis des Tests befindet sich direkt unter der Tabelle. Die Tabelle wird im Abschnitt Abfrage der Attribute interpretiert. Zur Interpretation der Ausgaben kann man sich auch an das Forum Sicherheit wenden.

Abfrage der Attribute

sudo smartctl -A /dev/sda #erste SATA-Platte 
smartctl version 5.37 [i686-pc-linux-gnu] Copyright (C) 2002-6 Bruce Allen
Home page is http://smartmontools.sourceforge.net/

=== START OF READ SMART DATA SECTION ===
SMART Attributes Data Structure revision number: 16
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE      UPDATED  WHEN_FAILED RAW_VALUE
  1 Raw_Read_Error_Rate     0x000b   100   100   050    Pre-fail  Always       -       0
  2 Throughput_Performance  0x0005   100   100   050    Pre-fail  Offline      -       0
  3 Spin_Up_Time            0x0027   100   100   001    Pre-fail  Always       -       1724
...

Die Ausgabe bedeutet:

Werte
AusgabeBeschreibung
Value aktueller Parameterwert
Worst bisher schlechtester Wert
Thresh Grenzwert
Type Bei Grenzunterschreitung droht ein baldiger Ausfall (Pre-fail) / der Parameter informiert über Temperatur / Alterungsprozesse der Festplatte (Old age)
Updated Art der Aktualisierung: permanent (always) / Selbsttest (Offline data collection)

Zu Beachten ist, dass das Unterschreiten der Grenzwerte ein Gefahrenzeichen darstellt, nicht das Überschreiten. Im Beispiel ist alles in Ordnung, da die Parameterwerte alle über den jeweiligen Grenzwerten liegen. Kritisch sind Fehler bei den mit Pre-fail bezeichneten Attributen, da hier tatsächlich ein Versagen innerhalb kürzester Zeit droht! In diesem Fall empfiehlt sich der sofortige Austausch des Laufwerks. Interpretationshilfe zur Tabelle: Solange unter der Spalte WHEN_FAILED keine Fehler vermerkt sind, ist das Laufwerk noch in Ordnung.

smartd

smartd ist ein Daemon, dessen Aufgabe es ist, die S.M.A.R.T.-Einstellungen und -Daten regelmäßig abzufragen und Änderungen in /var/log/messages zu speichern bzw. diese per E-Mail zu melden. Um den Dienst über das mitgelieferte Skript /etc/init.d/smartmontools zu starten [4], muss die Datei /etc/default/smartmontools editiert werden [3]. Hier muss die Option start_smartd=yes aktiviert werden. Die Konfiguration von smartd erfolgt über die Datei /etc/smartd.conf, in der auch einige Beispieleinstellungen angegeben sind. Ob diese Einstellungen brauchbar sind, erfährt man durch folgenden Test:

sudo smartd
cat /var/log/syslog 

Zuerst wird der Daemon smartd gestartet (welcher dazu die Konfigurationsdatei /etc/smartd.conf liest) und dann dessen Ausgabe in das Syslog angezeigt. Die sollte in etwa so aussehen:

Jul 24 20:51:31 COMPUTERNAME smartd[8216]: smartd version 5.37 [i686-pc-linux-gnu] Copyright (C) 2002-6 Bruce Allen 
Jul 24 20:51:31 COMPUTERNAME smartd[8216]: Home page is http://smartmontools.sourceforge.net/  
Jul 24 20:51:31 COMPUTERNAME smartd[8216]: Opened configuration file /etc/smartd.conf 
Jul 24 20:51:31 COMPUTERNAME smartd[8216]: Configuration file /etc/smartd.conf parsed. 
Jul 24 20:51:31 COMPUTERNAME smartd[8216]: Device: /dev/sda, opened 
Jul 24 20:51:31 COMPUTERNAME smartd[8216]: Device: /dev/sda, found in smartd database. 
Jul 24 20:51:31 COMPUTERNAME smartd[8216]: Device: /dev/sda, enabled SMART Attribute Autosave. 
Jul 24 20:51:31 COMPUTERNAME smartd[8216]: Device: /dev/sda, enabled SMART Automatic Offline Testing. 
Jul 24 20:51:31 COMPUTERNAME smartd[8216]: Device: /dev/sda, is SMART capable. Adding to "monitor" list. 
Jul 24 20:51:31 COMPUTERNAME smartd[8216]: Monitoring 1 ATA and 0 SCSI devices 
Jul 24 20:51:31 COMPUTERNAME smartd[8218]: smartd has fork()ed into background mode. New PID=8218. 

In der Konfiguratiosndatei /etc/smartd.conf steht z.B. Folgendes:

# -a alle SMART-Werte beobachten
# -o on aktiviert regelmäßiges OFFLINE-Testen
# -S on aktiviert autosave
# To schedule an Offline Immediate test after every midnight, 6am, noon,and 6pm, 
# plus a Short Self-Test daily at 1-2am and a Long Self-Test every Saturday at 3-4am, use:
# -d sat für SATA-Platte (smartd beschwert sich sonst)
# -H Health-Status ausgeben
/dev/sda -a -o on -S on -s (O/../.././(00|06|12|18)|S/../.././01|L/../../6/03) -d sat -H

Damit eine solche Konfiguration von smartd auch wirklich benutzt wird, darf sie nicht unterhalb einer Zeile stehen, die mit DEVICESCAN beginnt. Nach der Installation des smartd-Paketes kann das aber der Fall sein, daher sollte man das überprüfen und gegebenenfalls diese Zeile auskommentierten (also ein "#" davor stellen):

#DEVICESCAN -m root -M exec /usr/share/smartmontools/smartd-runner

Experten-Info:

Weitere Infos in den Manpages von smartd und smartd.conf.

smart-notifier

Zusätzlich sollte das Paket

  • smart-notifier (universe)

Wiki/Vorlagen/Installbutton/button.png

installiert werden. Dieses sorgt dafür, dass der Nutzer bei von smartd erkannten Problemen per Benachrichtigungsdienst gewarnt wird.

Konfiguration

Falls es nicht schon durch die Installation von smart-notifier geschehen, muss man dafür sorgen, dass das Programm nach dem Start des Rechners auch wirklich läuft.

  • Für GNOME: Menü "System -> Einstellungen -> Startprogramme" öffnen und dort kontrollieren, ob ein Eintrag vorhanden ist, der smart-notifier startet. Falls der fehlt, muss der Eintrag anlegt werden.

Außerdem muss man nach der Installation die Konfigurationsdatei von smartd ergänzen:

  • die oben schon erwähnte /etc/smartd.conf öffnen (erfordert root-Rechte) und in die Zeile gehen, in der man die Konfiguration vorgenommen hat (siehe oben stehendes Beispiel)

  • in genau dieser Zeile wird folgendes rangehängt:

-m BENUTZERNAME@RECHNERNAME -M exec /usr/share/smartmontools/smartd-runner
  • die Teile BENUTZERNAME und RECHERNAME müssen an die entsprechenden Werte des eigenen Rechners angepasst werden

  • für das weiter oben stehende Beispiel sähe die Zeile dann insgesamt so aus:

/dev/sda -a -o on -S on -s (O/../.././(00|06|12|18)|S/../.././01|L/../../6/03) -d sat -H -m BENUTZERNAME@RECHNERNAME -M exec /usr/share/smartmontools/smartd-runner
  • Änderungen speichern und smartd neu starten

sudo /etc/init.d/smartmontools restart 

Testen des Benachrichtigungsdienstes

Um zu testen, ob smart-notifier auch tatsächlich funktioniert, geht man wie folgt vor:

  • Sicherstellen, dass smart-notifier läuft

  • /etc/smartd.conf öffnen (erfordert root-Rechte) und wieder in die Zeile mit der gerade vorgenommen Konfiguration gehen

  • in der Zeile den Wert -M test hinzufügen

  • für das weiter oben stehende Beispiel sähe die Zeile dann insgesamt so aus:

/dev/sda -a -o on -S on -s (O/../.././(00|06|12|18)|S/../.././01|L/../../6/03) -d sat -H -m BENUTZERNAME@RECHNERNAME -M test -M exec /usr/share/smartmontools/smartd-runner
  • Änderungen speichern und smartd neu starten

sudo /etc/init.d/smartmontools restart 
  • jetzt sollte ein Fenster erscheinen, in dem steht, dass der Test des smartd erfolgreich war

  • nach dem Test muss der gerade eingefügte Teil -M test wieder aus /etc/smartd.conf gelöscht werden

GSmartControl

GSmartControl bietet eine sehr einfach zu bedienende grafische Oberfläche für die smartmontools dar. Sowohl der Quellcode als auch vorgefertigte Pakete für Ubuntu und andere Linux-Distributionen lassen sich auf der Homepage {en} herunterladen.

Das Programm ist in den Paketquellen enthalten. Das entsprechende Paket heißt

  • gsmartcontrol (universe)

Wiki/Vorlagen/Installbutton/button.png

hddtemp

hddtemp ist ein kleines Programm, das die Temperatur einer Festplatte über die in der Platte eingebauten S.M.A.R.T.-Sensoren auslesen kann. hddtemp kann die gewonnenen Daten entweder im Syslog ausgeben oder als Serverdienst im Hintergrund abfragen. Weitere Informationen hierzu gibt es in hddtemp.

Artikel zu verwandten Themen

Diese Revision wurde am 27. Dezember 2011 um 23:26 Uhr von Heinrich Schwietering erstellt.
Dieser Seite wurden folgende Begriffe zugeordnet: Hardware

Passwort vergessen?