Heimserver & Self-Hosting

SMART-Festplattenzustand auf einem Debian-Homeserver - Warnungen lesen, ohne sie für Prophezeiungen zu halten

SMART-Festplattenzustand auf einem Debian-Homeserver - Warnungen lesen, ohne sie für Prophezeiungen zu halten

Ein Homeserver kann weiterhin HTTP-Anfragen beantworten, waehrend eines seiner Laufwerke unbemerkt Fehler ansammelt. Daraus entsteht eine praktische Frage: Kann SMART frueh genug warnen, damit noch Zeit zum Handeln bleibt, und wie viel Vertrauen verdient sein Bericht?

Die vorsichtige Antwort lautet weder "SMART weiss, wann ein Laufwerk stirbt" noch "SMART ist nutzlos." Es handelt sich um eine Quelle fuer vom Geraet gemeldete Hinweise. Manche Hinweise verlangen eine dringende Reaktion, manche werden erst als Trend aussagekraeftig, und manche lassen sich nur schwer zwischen Herstellern vergleichen. Eine sinnvolle Ueberwachung verbindet SMART deshalb mit getesteten Backups, Pruefungen von Dateisystem und Anwendungen sowie einem Plan zum Austausch verdaechtiger Speichermedien.

SMART liefert Hinweise, keine Countdown-Uhr

Das smartmontools-Projekt stellt zwei zentrale Werkzeuge bereit: smartctl zur Untersuchung eines Geraets und zum Start unterstuetzter Selbsttests sowie smartd fuer die laufende Ueberwachung. Die Werkzeuge decken ATA/SATA-, SCSI/SAS- und NVMe-Speicher ab. Das bedeutet jedoch nicht, dass jedes Geraet dieselben Felder anzeigt oder dieselbe Semantik verwendet.

Dieser Unterschied ist besonders bei ATA-Attributen wichtig. Laut dem smartctl-Handbuch liefert die Laufwerksfirmware Rohwerte, normalisierte Werte, Schwellenwerte und Attributtypen; smartctl gibt sie wieder. Die Umrechnung eines Rohwerts in physikalische Einheiten ist nicht standardisiert, und in neueren ATA-Spezifikationen sind die Bedeutungen der Attribute herstellerspezifisch. Eine grosse Zahl aus einem Forum ist daher nicht automatisch ein universeller Ausfallgrenzwert.

Das allgemeine Gesundheitsergebnis bleibt nuetzlich. Ein gemeldeter Fehlerstatus ist ein dringendes Signal, die Lage zu untersuchen und wichtige Daten an einen sicheren Ort zu bringen. Die umgekehrte Aussage ist schwaecher: Ein bestandener Status bedeutet, dass das Geraet durch diese Pruefung keinen Ausfall gemeldet hat. Er garantiert nicht, dass jeder Sektor, jedes Kabel, jeder Controller, jedes Dateisystem und jeder kuenftige Schreibvorgang sicher ist.

Eine haeufig zitierte Feldstudie erklaert diese Asymmetrie. In Failure Trends in a Large Disk Drive Population untersuchten Forschende mehr als 100.000 Consumer-HDDs und fanden mehrere SMART-Signale, die mit Ausfaellen korrelierten. Sie kamen zugleich zu dem Schluss, dass SMART-Parameter allein individuelle Ausfaelle wahrscheinlich nicht zuverlaessig vorhersagen koennen, weil viele ausgefallene Laufwerke keines der untersuchten starken Signale zeigten. Die Arbeit erschien 2007 und behandelt ATA-Festplatten in Googles Rechenzentrumsumgebung. Sie begruendet Vorsicht, aber keinen praezisen Risikorechner fuer eine moderne SSD, ein NVMe-Geraet oder einen Homeserver.

Zuerst das tatsaechliche Geraet identifizieren

Unter Debian ist das Paket als smartmontools verfuegbar:

sudo apt update
sudo apt install smartmontools

Man sollte nicht einfach annehmen, dass das Systemlaufwerk /dev/sda ist. Linux kann SATA- oder SAS-Geraete als /dev/sdX und NVMe-Controller oder -Namespaces als /dev/nvmeX oder /dev/nvmeXnY anzeigen. Geraetenamen koennen sich zudem zwischen Rechnern oder Startvorgaengen unterscheiden. Daher sollte zuerst das Werkzeug scannen:

sudo smartctl --scan-open

Die Option --scan-open sucht nach Geraeten und versucht, sie zu oeffnen, wodurch sich die Typerkennung verbessern kann. Vor weiteren Schritten sollten Modell, Seriennummer und Pfad des gesamten Geraets notiert werden. Eine Partition wie /dev/sda1 ist nicht mit dem zugehoerigen Geraet /dev/sda austauschbar.

Ein wichtiger Sonderfall sind USB-Gehaeuse, SATA-zu-USB-Adapter oder RAID-Controller, die erforderliche Befehle moeglicherweise nicht sauber durchreichen. Das Handbuch dokumentiert Geraetetypen fuer unterstuetzte Bridges und Controller. Einen geratenen -d-Wert zu erzwingen, ist jedoch kein harmloses Fehlersuchritual. Einige dokumentierte Low-Level-Bridge-Modi enthalten ausdrueckliche Warnungen. Statt zufaellige Typen auszuprobieren, sollte der Controller identifiziert und seine Dokumentation gelesen werden.

Den Bericht schichtweise lesen

Nachdem /dev/sdX durch den verifizierten Pfad des gesamten Geraets ersetzt wurde, laesst sich ein umfassender Bericht abrufen:

sudo smartctl -a /dev/sdX

Die genaue Ausgabe unterscheidet sich zwischen ATA-, SCSI- und NVMe-Geraeten. Statt nach einer magischen Zahl zu suchen, sollte sie schichtweise gelesen werden.

1. Identitaet und Unterstuetzung

Zuerst ist zu bestaetigen, dass der Bericht zum vorgesehenen Modell und zur richtigen Seriennummer gehoert, der Geraetetyp korrekt erkannt wurde und Gesundheitsinformationen verfuegbar sind. Bei falscher Identitaet oder nicht unterstuetztem SMART-Zugriff fehlt jeder weiteren Interpretation eine verlaessliche Grundlage.

2. Gesamtzustand und kritische Warnungen

Ein fehlgeschlagener Gesamtstatus oder eine kritische NVMe-Warnung verlangt sofortige Aufmerksamkeit. Es ist nicht sinnvoll, stundenlang Dashboards zu optimieren, waehrend die einzige Kopie wichtiger Daten auf dem verdaechtigen Geraet liegt. Zuerst werden die Daten gesichert, danach folgt die Diagnose.

3. Fehler- und Selbsttestprotokolle

Zu beachten sind neue Geraetefehler und fehlgeschlagene Selbsttests sowie deren Zeitpunkt. Der Kontext zaehlt: Ein alter Eintrag, der nicht erneut auftrat, unterscheidet sich von Fehlern, die waehrend normaler Nutzung zunehmen. Beides darf nicht allein deshalb ignoriert werden, weil der Gesamtstatus noch PASS meldet.

4. Geraetespezifische Attribute

Bei ATA-Laufwerken verdienen neu auftretende oder steigende Zahlen fuer neu zugewiesene, ausstehende oder nicht korrigierbare Sektoren eine Untersuchung. Attribut-IDs, Namen, Kodierung und Schwellenwerte koennen sich jedoch je nach Modell unterscheiden. CRC-bezogene Schnittstellenfehler koennen auf ein Kabel oder eine Verbindung statt auf beschaedigte Medien hinweisen. Die Temperatur liefert nuetzlichen Betriebskontext, sollte aber nicht aus einer einzelnen Messung in eine universelle Ausfallprognose verwandelt werden.

Die NVMe-Gesundheitsausgabe folgt einem anderen Modell und enthaelt, sofern unterstuetzt, Felder wie kritische Warnungen, verfuegbare Reserve, verbrauchten Prozentsatz, Temperatur, Medien- oder Datenintegritaetsfehler und Eintraege im Fehlerprotokoll. Eine ATA-Attributcheckliste auf einen NVMe-Bericht zu uebertragen, waere irrefuehrend. In beiden Faellen sollten Berichte ueber laengere Zeit aufbewahrt werden: Eine Veraenderung kann aussagekraeftiger sein als ein einzelner unbekannter Wert.

Selbsttests starten und spaeter das Ergebnis lesen

SMART-Selbsttests laufen im Geraet. Ein kurzer Test prueft normalerweise einen begrenzten Funktionsumfang; ein langer oder erweiterter Test untersucht mehr vom Geraet und kann deutlich laenger dauern. Der vollstaendige Bericht zeigt, welche Tests das Geraet unterstuetzt und wie lange sie voraussichtlich benoetigen.

Ein kurzer Test wird so gestartet:

sudo smartctl -t short /dev/sdX

Der Befehl startet den Test; er beweist nicht, dass dieser erfolgreich abgeschlossen wurde. Nach der vom Werkzeug genannten Dauer wird das Selbsttestprotokoll geprueft:

sudo smartctl -l selftest /dev/sdX

Wenn der kurze Test und der Workload-Kontext eine tiefere Untersuchung rechtfertigen, wird ein langer Test gestartet und spaeter dasselbe Protokoll gelesen:

sudo smartctl -t long /dev/sdX
sudo smartctl -l selftest /dev/sdX

Selbsttests koennen die Leistung beeinflussen, und ihre Unterstuetzung unterscheidet sich je nach Geraet. Lange Tests sollten ausserhalb empfindlicher Workloads geplant werden, ohne dabei zu behaupten, Leerlauf garantiere keinerlei Auswirkungen. Auch die Aussage eines erfolgreichen Tests bleibt begrenzt: Das Geraet hat den unterstuetzten Test zu diesem Zeitpunkt abgeschlossen. Das validiert weder das Dateisystem noch jeden Anwendungsdatensatz und fuehrt keine Backup-Wiederherstellung aus.

Aus gelegentlicher Pruefung laufende Ueberwachung machen

Manuelle Kontrollen werden leicht vergessen. Das smartd-Handbuch beschreibt einen Daemon, der Geraete regelmaessig abfragt, Aenderungen und Fehler ueber syslog protokolliert und Warnmechanismen ausloesen kann. Seine Konfiguration wird normalerweise aus /etc/smartd.conf gelesen.

Ein bewusst minimaler Ausgangspunkt ist:

DEVICESCAN -a

Laut dem smartd.conf-Handbuch sucht diese Zeile nach verfuegbaren Geraeten und wendet eine breite Ueberwachung an. Minimal bedeutet nicht universell richtig. Explizite Eintraege pro Geraet sind besser, wenn ein Server Bridges, Controller, Wechselmedien oder Laufwerke mit unterschiedlichen Zeitplaenen besitzt. Nach der Aktivierung muessen Konfiguration und Dienstprotokolle geprueft werden; eine Ueberwachung, die ein Geraet nicht sieht oder keine Warnung zustellen kann, vermittelt falsche Sicherheit.

Die Energieverwaltung bringt einen weiteren Zielkonflikt. Regelmaessige Abfragen koennen eine schlafende ATA-Festplatte aufwecken. Die Direktive -n standby kann Pruefungen auslassen, waehrend sich ein Geraet im Standby befindet. Typerkennung oder nicht unterstuetzte Energiemodusabfragen koennen sich dennoch anders verhalten. Betreiber muessen zwischen schneller Beobachtung und bewusstem Herunterdrehen abwaegen, statt anzunehmen, beides geschehe automatisch.

Das Konfigurationsformat kann auch kurze und lange Selbsttests planen, doch seine regulaerer-Ausdruck-aehnliche Zeitsyntax ist leicht falsch einzugeben. Einen komplizierten Zeitplan unverstanden zu kopieren ist weniger zuverlaessig, als mit der Ueberwachung zu beginnen, das Handbuch zu lesen und den vom Daemon berechneten Zeitplan zu kontrollieren.

Mit einer abgestuften Reaktion handeln

Ein Ueberwachungssystem ist nur dann nuetzlich, wenn ein Signal eine Entscheidung veraendert. Eine vorsichtige Reaktion laesst sich abstufen:

  1. Identitaet und Transportweg bestaetigen. Die Warnung muss zum erwarteten physischen Geraet gehoeren und darf nicht bloss auf einem Missverstaendnis bei Passthrough oder Verkabelung beruhen.
  2. Wichtige Daten sichern. Wenn der Gesundheitsstatus oder Selbsttests fehlschlagen, Daten unlesbar werden oder ernste Fehler zunehmen, haben unersetzliche Daten auf unabhaengigem Speicher Vorrang. Ein klar instabiles Laufwerk sollte nicht nur fuer einen schoeneren Bericht zusaetzlich belastet werden.
  3. Unabhaengige Hinweise pruefen. Kernelprotokolle, Dateisystemberichte, Anwendungsfehler, Controllerstatus, Kabel und Stromversorgung liefern weiteren Kontext. SMART sieht die Perspektive des Geraets, nicht den gesamten Speicherpfad.
  4. Das Backup durch eine Wiederherstellung pruefen. Die Erfolgsmeldung eines Backup-Jobs ist ein schwaecherer Nachweis als das Lesen wiederhergestellter Dateien von einem anderen Geraet.
  5. Den Austausch planen. Wiederholte oder zunehmende Hinweise auf Medienprobleme sollten die Schwelle fuer einen Laufwerkstausch senken. Auf eine endgueltige Vorhersage zu warten verlangt von SMART eine Sicherheit, die es nicht besitzt.
  6. Eine Basis dokumentieren. Datierte Berichte sowie Modell und Seriennummer werden aufbewahrt, damit spaetere Veraenderungen mit demselben Geraet verglichen werden koennen.

Diese Abstufung vermeidet bewusst eine universelle Regel wie "bei Rohwert N austauschen." Herstellerdokumentation, Garantiediagnose, Workload-Toleranz, Redundanz und Backup-Qualitaet koennen die Entscheidung veraendern. Ein Laufwerk mit einem entbehrlichen Cache und ein Laufwerk mit dem einzigen Familienarchiv sollten nicht denselben Risikogrenzwert haben.

Was SMART offenlaesst

SMART kann nicht sagen, ob sich ein Backup wiederherstellen laesst. Es erkennt allein nicht jedes Problem mit Controller, Kabel, RAM, Dateisystem, Verschluesselung oder Anwendung. Ein Geraet kann ohne brauchbares vorheriges Signal ausfallen, waehrend ein anderes nach einer Attributaenderung weiterarbeitet. Virtuelle Laufwerke und manche Hardware-Controller zeigen moeglicherweise nur eine Abstraktion statt jedes physischen Laufwerks.

Auch die vorhandene Evidenz hat ein Auswahlproblem. Die grosse Studie von 2007 bleibt wertvoll, weil sie verbreitete Annahmen an Felddaten pruefte. Ihre HDD-Modelle, Workloads und Umgebung entsprechen jedoch nicht der heutigen Homeserver-Landschaft. Sie sollte die Frage praegen - "Welche Signale traten auf, und womit korrelierten sie in dieser Population?" - und keine zeitlose Wahrscheinlichkeit fuer ein anderes Geraet liefern.

Ein Gegenargument lautet, dass unsichere Signale Alarmmuedigkeit und unnoetige Austauschvorgaenge verursachen koennen. Dieses Risiko ist real. Die Antwort besteht nicht darin, SMART zu ignorieren, sondern den Kontext zu bewahren: Veraenderungen beobachten, Medienhinweise von Schnittstellenfehlern unterscheiden, Warnungen verifizieren und Massnahmen nach dem Wert der Daten und den Kosten eines Ausfalls waehlen.

Fazit

SMART wird am besten wie eine Warnleuchte und nicht wie eine Kristallkugel behandelt. Das richtige Geraet wird identifiziert, der Gesundheitsstatus zusammen mit Protokollen und geraetespezifischen Feldern gelesen, unterstuetzte Selbsttests werden ausgefuehrt, der Verlauf wird bewahrt und die Beobachtung mit einer zur tatsaechlichen Hardware passenden Konfiguration automatisiert. Starke Hinweise verlangen eine schnelle Eskalation, doch PASS ist kein Versprechen.

Die tiefere Frage ist nicht, ob SMART ein genaues Todesdatum vorhersagen kann. Entscheidend ist, ob der Server ueber genug unabhaengige Hinweise, getestete Wiederherstellungswege und Reservekapazitaet verfuegt, damit eine unsichere Warnung beherrschbar bleibt, statt katastrophal zu werden.

References