S.M.A.R.T.

Die S.M.A.R.T. (Self-Monitoring, Analysis and Reporting Technology) Fähigkeit moderner Festplatten soll dem Benutzer eine Analysemöglichkeit in die Hand geben um bevorstehende Festplattenausfälle und dadurch entstehenden Datenverlust frühzeitig zu erkennen und notwendige Maßnahmen zur Datensicherung ergreifen zu können.

Natürlich ist diese Technologie auch unter Linux einsetzbar. Hierfür gibt es das Paket "smartmontools" zu dem neben dem Analyseprogramm "smartctl" auch der Daemon "smartd" gehört. Letzterer überwacht die Festplatten während dem PC-Betrieb und kann bei Fehlern rechtzeitig Alarm schlagen. Seine Konfiguration soll im Folgenden kurz erläutert werden.

Aufgrund der Brisanz der Aufgabe, die S.M.A.R.T. erfüllen soll, weise ich an dieser Stelle nochmal explizit darauf hin, dass ich keinerlei Garantien für die Richtigkeit der hier gezeigten Informationen übernehme. Ich empfehle dringend, auch andere Anleitungen und Erklärungen im Internet zu lesen und sich nicht nur auf diese eine zu verlassen.

Um mit der Arbeit zu beginnen muss man zuerst den Super-User-Status erlangen:

sudo -s

Zuerst installiert man das entsprechende Paket, unter Ubuntu Hardy mit folgendem Befehl:

apt-get install smartmontools

Dann aktiviert man den smartd Daemon in der entsprechenden Konfigurationsdatei:

echo -e "\nstart_smartd=yes" >> /etc/default/smartmontools

Dann bestimme man die zu überwachenden Festplatten. Ich verwende hier als Name "DEVICESCAN" um alle Geräte abzudecken, denkbar sind aber auch Pfadangaben zu Geräte-Dateien wie /dev/hda oder /dev/sda.

echo -e "DEVICESCAN -o on -S on -I 194 -I 231 -I 9 -a -m Unused -M exec /etc/smartd-callback.sh" >> /etc/smartd.conf

Diese Einstellung aktiviert Festplatten-Selbsttests (-o on) und das Speichern statistischer Daten (-s on). Außerdem werden Änderungen der S.M.A.R.T. Parameter 194, 231 und 9 ignoriert, die unter Anderem die aktuelle Temperatur und die Anzahl der Betriebsstunden speichern. Zusätzlich werden die für IDE-Festplatten typischen Tests durchgeführt (-a). Für SATA-Festplatten sollte man hier noch den Parameter "-d sat" anhängen. Die Parameter "-m" und "-M" sorgen dafür, dass bei fehlerhaftem Verhalten das Script "/etc/smartd-callback.sh" ausgeführt wird.

Beachten sollte man, dass es bei manchen Geräten notwendig ist, spezielle Parameter für die verwendete Hardware zu spezifizieren. Beispielsweise erfordern Festplatten der Firma Samsung offenbar noch den Parameter "-F samsung". Weitere Informationen diesbezüglich sind der Anleitung von smartd zu entnehmen:

man smartd

Die eben angesprochene Datei "/etc/smartd-callback.sh" existiert noch nicht und muss erst angelegt und mit sinnvollem Inhalt befüllt werden:

echo -e "LOGFILE=\"/var/log/smartd.log\"\necho -e \"\$(date)\\\n\$SMARTD_MESSAGE\\\n\" >> \"\$LOGFILE\"" >> /etc/smartd-callback.sh
chmod +x /etc/smartd-callback.sh

Auf diese Weise wird in der Datei ein Stück Code hinterlegt, das etwaige Fehler in der Datei "/var/log/smartd.log" hinterlegt. Anschließend wird die Datei ausführbar gemacht.

Am Ende der Arbeiten sollte man den S.M.A.R.T. Daemon neu starten:

/etc/init.d/smartmontools stop
/etc/init.d/smartmontools start

Außerdem kann es nicht schaden, zu überprüfen, ob er wirklich läuft:

pidof smartd

Auch das Überprüfen des Syslog ist zu empfehlen um Fehler in der Konfiguration sofort zu erkennen:

tail /var/log/syslog

Tags: Linux