Open Source im professionellen Einsatz

Speichermedien automatisiert überwachen

Na, wie geht's uns denn heute?

Die Self-Monitoring, Analysis and Reporting Technology (SMART) auf modernen Speichermedien liefert Kenngrößen zu deren gesundheitlichem Wohlbefinden. Die Smartmontools steuern diese Aktivitäten und informieren den Fileserver-Admin über einen bevorstehenden Plattentod.

Im Rechnerraum von Bruce Allen hat der Komponenten-Tod ein verlässliches Zuhause. Der Physiker betreibt für seine Forschungsarbeit einen Rechnercluster mit 300 Knoten und 600 Festplatten, auf denen 50 TByte Daten lagern. Bei einer solchen Gerätezahl fordern Verschleiß und die statistische Lebensdauer beinahe täglich ihren Tribut. Mit den Smartmontools [1], deren Initiator und Maintainer er ist, gelingt es Allen aber, Spontanausfälle der Speichermedien zur Seltenheit zu machen. »smartctl« aus dem Softwarepaket aktiviert und steuert die SMART-Funktionen der Geräte.

Die aktuelle Version der Smartmontools ist kompatibel mit den ATA/ATAPI-Standards 3 bis 7. Die Software läuft auf Linux, Free-, Net- und OpenBSD sowie Solaris, Darwin, OS/2, E-Comstation und Microsoft Windows. Wer die Linux-Version nicht in seiner Distribution vorfindet, holt sich entweder ein Binary-RPM-Paket oder die Sourcen von [1] oder melkt das dortige CVS.

Intelligentes Innenleben

Über die Self-Monitoring, Analysis and Reporting Technology verfügen alle Festplatten ab ATA 3 und SCSI 3. Die Testfunktionen lassen sich in drei Kategorien unterteilen: Der für den Benutzer unbemerkt laufende Onlinetest erhebt Daten zur Funktionsfähigkeit des Geräts und speichert sie in einer internen Attributtabelle, echte Fehlermeldungen kommen ins interne Errorlog.

Der Offlinetest sammelt Daten, die dem Onlinetest aus technischen Gründen versagt bleiben. Listing 2 kennzeichnet diese Attribute in Spalte »UPDATE« mit »Offline«. Steht dort »Always«, erfolgt die Aktualisierung sowohl im Online- als auch im Offlinetest. Auch das Offline-verfahren beeinträchtigt die Performance nicht, da reguläre Zugriffe auf das Medium Vorrang haben.

Die dritte Kategorie, die Selftests, prüfen die Hardware tatsächlich. Im Gegensatz zu den beiden anderen Verfahren, die bei Aktivierung automatisch in regelmäßigen Abständen ablaufen, startet der Selbsttest nur auf Anforderung. Im Angebot sind ein Test, der nur wenige Minuten dauert, und ein eingehender, der je nach Größe des Mediums eine Stunde oder länger braucht.

Da das Gerät hierbei seinen normalen Dienst versieht, hängt die benötigte Zeit von der Anzahl der reguläre Zugriffe ab. Im so genannten Captive Mode gestartet nimmt der Test das Gerät aber voll in Beschlag. Eine Laufzeitschätzung traut sich die Abfrage der SMART-Fähigkeiten wie in Abbildung 1 zu. Den Testfortschritt kann man dort unter »Self-test execution status« auch verfolgen.

Attribute mit Normwerten

Frühere ATA-Standards definierten noch mehrere Attribute, die Eigenschaften des Geräts beschrieben [2]. Wer den Gesamtstatus der Festplatte einschätzen wollte, musste alle Attribute analysieren. ATA/ATAPI 5 führt einen eigenen Health-Status ein: »smartctl -H Device«. Viele PCs erlauben per Bios-Setup, SMART bereits beim Booten zu prüfen.

Die Bedeutung und Belegung der Attribute bleibt in modernen Standards den Herstellern überlassen - sie wissen am besten, wann ein Wert als kritisch einzustufen ist. Die Smartmontools führen eine Datenbank mit diesen Informationen. Anträge zur Aufnahme eines bisher unbekannten Modells sind an eine spezielle Mailingliste [3] zu richten.

Die SMART-Firmware kennt für jedes Attribut Norm- und Schwellenwerte. Fällt der normierte Wert auf oder unter die Schwelle, gilt das Attribut als schadhaft. Im Beispiel (Listing 1) liegt die Schwelle für das Attribut »Reallocated_Sector_Ct« bei »063«. Mit »001« liegt der Wert sehr weit darunter und führt in der Spalte »WHEN_FAILED« zum Fehler »FAILING_NOW«. Hier hat die Firmware also derart oft defekte Sektoren ersetzt, dass die eiserne Reserve erschöpft ist.

Beim Beurteilen des gemeldeten Problems hilft der Typ, den die Spalte »TYPE« in Listing 2 angibt. »Old_age«-Attribute charakterisieren normale Alterungsprozesse. Kritisch sind Fehler bei den »Pre-fail«-Attributen in Kombination mit »FAILING_NOW« in der Spalte »WHEN_FAILED«, da hier tatsächlich ein Versagen innerhalb der nächsten Stunden droht. In diesem Fall empfiehlt sich der sofortige Austausch des Geräts.

Smartmontools auf
SATA-Platten

Laut Suses »README.SATA« und der Dokumentation auf [1] funktionieren SATA-Laufwerke beim Kernel 2.4 und 2.6 mit den Standard-IDE-Treibern. Wer im Bios einstellen kann, dass der SATA-Controller im Legacy Mode operiert, spielt auf der sicheren Seite. Der IDE- verdrängt in diesem Fall den Libata-Treiber. Für Intel-, VIA- und Nvidia-Controller gibt es extra Treiber. Alle anderen müssen Libata nutzen.

Den offiziellen Versionen fehlen dummerwiese für die Smartmontools notwendige »ioctl()«-Funktionen zum ATA-Passthrough. Das behebt für Kernel ab 2.6.9 ein Patch von [http://www.kernel.org/pub/linux/kernel/people/jgarzik/libata/]. Da die Smartmontools die Libata-Unterstützung nicht selbst erkennen, muss das die Datei »/etc/smartd.conf« mit der Zeile »/dev/sda -d ata« nachholen.

Diesen Artikel als PDF kaufen

Als digitales Abo

Als PDF im Abo bestellen

comments powered by Disqus

Ausgabe 07/2013

Preis € 6,40

Insecurity Bulletin

Insecurity Bulletin

Im Insecurity Bulletin widmet sich Mark Vogelsberger aktuellen Sicherheitslücken sowie Hintergründen und Security-Grundlagen. mehr...

Linux-Magazin auf Facebook