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
in Ubuntu soll Inhalt dieses Artikels sein.
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
ist hierfür aber eine gute Anlaufstelle. Im Zweifelsfall sollte man die Dokumentation des Mainboards zu Rate ziehen.
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.
Verschiedene Programme können zum Auslesen verwendet werden. Neben der Laufwerksverwaltung können smartctl und der Daemon smartd, welche Bestandteil des Pakets
smartmontools
sind, installiert [2] werden.
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
herunter geladen und installiert [5] werden.
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
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.
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 | |
| Parameter | Beschreibung |
-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.
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.
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.
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 | |
| Ausgabe | Beschreibung |
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 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
Weitere Infos in den Manpages von smartd und smartd.conf.
Zusätzlich sollte das Paket
smart-notifier (universe)
installiert werden. Dieses sorgt dafür, dass der Nutzer bei von smartd erkannten Problemen per Benachrichtigungsdienst gewarnt wird.
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
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 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
herunterladen.
Das Programm ist in den Paketquellen enthalten. Das entsprechende Paket heißt
gsmartcontrol (universe)
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.
Datensicherung - Wie der Name sagt: Alles zum Thema Datensicheung
Festplatten Problembehebung - Bei Fehlern im Dateisystem oder auf den Partitionen
Diese Revision wurde am 27. Dezember 2011 um 23:26 Uhr
von Heinrich Schwietering erstellt.
Dieser Seite wurden folgende Begriffe zugeordnet:
Hardware
2004 – 2011 ubuntuusers.de • Einige Rechte vorbehalten