Installation und Konfiguration von smartctl zur proaktiven Überwachung des Festplattenzustands | INTROSERV
EUR
european

EUR

usa

USD

German De
Ex. VAT Ex. VAT 0%

Installation und Konfiguration von smartctl zur proaktiven Überwachung des Festplattenzustands

Einleitung

smartctl ist ein Konsolenprogramm aus dem smartmontools-Paket, das für die Verwendung mit der S.M.A.R.T.-Technologie (Self-Monitoring, Analysis and Reporting Technology) entwickelt wurde, die in modernen Speicherlaufwerken implementiert ist.

Anwendungsfälle:

  • Server von Hosting-Anbietern;
  • VPS-/VDS-Knoten;
  • dedizierte Server;
  • Dateiserver;
  • Backup-Systeme;
  • Unternehmensinfrastrukturen.

Welche Aufgaben es löst:

  • frühzeitige Erkennung von Festplattenverschleiß;
  • Vorhersage von Laufwerksausfällen;
  • Reduzierung des Datenverlustrisikos;
  • Automatisierung der Zustandsüberwachung von HDD, SSD und NVMe;
  • Analyse physischer Probleme im Festplattensubsystem.

Die proaktive SMART-Überwachung ermöglicht es Ihnen, ein Problem bereits vor einem tatsächlichen Festplattenausfall zu erkennen, was für Produktionsumgebungen von entscheidender Bedeutung ist.

Anforderungen und Voraussetzungen

Unterstützte Betriebssysteme und Versionen

Linux:

  • Debian 10+
  • Ubuntu 18.04+
  • RHEL / AlmaLinux / Rocky Linux 8+
  • CentOS 7 (unterstützt, aber veraltet)
  • FreeBSD 12+

Windows (über smartmontools, eingeschränkte Nutzung)

Die folgenden Beispiele gelten für Linux.

Erforderliche Software und Pakete:

  • smartmontools-Paket
  • Zugriff auf /dev/sdX, /dev/nvmeX
  • installiertes systemd (für smartd)

Zugriffsrechte:

  • Root-Rechte erforderlich
  • oder Zugriff über sudo

Vorabprüfungen

Anzeigen der Liste der Festplatten im System:

lsblk -d -o NAME,MODEL

Überblick und grundlegende Konzepte

Wichtige Begriffe

  • SMART – integriertes Selbstdiagnosesystem für Festplatten
  • Attribute – Zustandsattribute (Reallocated_Sector_Ct, Pending_Sectors usw.)
  • Selbsttest – integrierte Festplattentests
  • smartctl – CLI-Dienstprogramm für die SMART-Verwaltung
  • smartd – Daemon zur automatischen Überwachung

So funktioniert es

  1. Die Festplatte erfasst selbstständig Statistiken
  2. smartctl liest diese Daten aus
  3. smartd analysiert Schwellenwerte und Ereignisse
  4. Bei auftretenden Problemen werden Benachrichtigungen versendet

Ablauflogik

Festplatte > SMART-Attribute > smartctl > smartd > Protokoll / E-Mail / Überwachung

Grundlegende Einrichtung und Verwendung von smartctl

Installation des Dienstprogramms „smartmontools“

Die Arbeit mit SMART ist ohne das installierte smartmontools-Paket nicht möglich, das die Dienstprogramme smartctl (manuelle Bearbeitung von Festplatten) und smartd (Hintergrund-Überwachungs-Daemon) enthält.

Die Installation erfolgt über die standardmäßigen Paketmanager-Tools der Distribution.

Debian / Ubuntu

sudo apt update sudo apt install smartmontools

RHEL / AlmaLinux / Rocky Linux

sudo dnf install smartmontools

Nach der Installation stehen die Dienstprogramme im System zur Verfügung und sind ohne zusätzliche Initialisierung einsatzbereit.

Überprüfen der Version und Verfügbarkeit von smartctl

Als ersten Schritt wird empfohlen, zu überprüfen, ob das Dienstprogramm korrekt installiert und im System verfügbar ist:

smartctl --version

Der Befehl gibt die Paketversion und eine Liste der unterstützten Technologien aus.

So können Sie:

  • sicherzustellen, dass eine aktuelle Version verwendet wird;
  • zu prüfen, ob NVMe, RAID und andere Gerätetypen unterstützt werden.

Überprüfen der SMART-Unterstützung auf einer bestimmten Festplatte

Als Nächstes muss überprüft werden, ob das Laufwerk selbst die SMART-Technologie unterstützt und ob diese auf Geräteebene aktiviert ist.

sudo smartctl -i /dev/sda

Beispiel für eine korrekte Ausgabe:

SMART support is: Available - device has SMART capability. SMART support is: Enabled

  • Verfügbar – die Festplatte unterstützt SMART physisch;
  • Aktiviert – Die SMART-Datenerfassung ist eingeschaltet und zum Auslesen verfügbar.

Wenn SMART unterstützt, aber deaktiviert ist, tritt dies häufig bei neuen oder bisher ungenutzten Festplatten auf. In einem solchen Fall muss die Funktion manuell aktiviert werden:

sudo smartctl -s on /dev/sda

Danach wird empfohlen, den Befehl „smartctl -i“ erneut auszuführen, um sicherzustellen, dass SMART aktiviert ist.

Anzeigen der SMART-Attribute und erste Zustandsbewertung

Der wichtigste praktische Nutzen von SMART liegt in seinen Attributen – numerischen Werten, die den Zustand der Festplattenoberfläche, der Mechanik und der Elektronik widerspiegeln.

Um die Attribute anzuzeigen, verwenden Sie den Befehl:

sudo smartctl -A /dev/sda

Die Ausgabe enthält eine Tabelle mit den Attributen, ihren aktuellen Werten und dem Verlauf. Zuallererst sollten Sie auf die folgenden Indikatoren achten:

Wichtige Felder in der Ausgabe:

  • VALUE (aktueller Wert): Der normierte Wert des Attributs (in der Regel zwischen 1 und 100, wobei 100 den Idealzustand darstellt). Die Festplatte gilt als defekt, wenn VALUE ≤ THRESH ist.
  • WORST (Schlechtester Wert): Der schlechteste Wert, der während des Betriebs der Festplatte erreicht wurde.
  • THRESH (Schwellenwert): Der minimal zulässige Wert für VALUE. Das Überschreiten des Schwellenwerts (VALUE ≤ THRESH) ist ein Anzeichen für einen kritischen Zustand.
  • RAW_VALUE: Der „rohe“, nicht normalisierte Wert des Attributs. Dieser muss analysiert werden, um den Verschleiß zu bewerten und Ereignisse zu zählen.

Wichtige Attribute für HDD (herkömmliche Festplatten):

  • Reallocated_Sector_Ct: Ein Anstieg deutet auf eine physikalische Verschlechterung der Oberfläche hin.
  • Current_Pending_Sector (Zur Neuzuweisung anstehende Sektoren): Instabile Sektoren. Schon ein einziger Wert ungleich Null ist ein Warnzeichen.
  • Offline_Uncorrectable (nicht korrigierbare Fehler): Sektoren, die nicht gelesen werden konnten.
  • Power_On_Hours: Die Gesamtbetriebszeit der Festplatte.

Wichtige Attribute für SSDs:

  • Retired_Block_Count: Das Äquivalent zu „Reallocated_Sector_Ct“ bei HDDs. Zeigt die Anzahl der außer Betrieb genommenen Blöcke an. Selbst ein niedriger Wert wie VALUE=100 kann normal sein.
  • Reallocated_Event_Count: Die Anzahl der Neuzuweisungsereignisse.
  • „SSD_Life_Left“ oder „Percentage Used/Media Wearout Indicator“: Der Prozentsatz der verbleibenden Lebensdauer (oder des Verschleißes). Ein niedriger Wert (z. B. <10 %) ist ein Anzeichen für einen bevorstehenden Ausfall.
  • Wear_Range_Delta: Ein Indikator für die Gleichmäßigkeit des Verschleißes über die Speicherzellen hinweg.
  • Power_On_Hours_and_Msec: Die Gesamtbetriebszeit.
  • Lifetime_Writes_GiB / Lifetime_Reads_GiB (Attribute 241, 242): Das Gesamtvolumen der geschriebenen/gelesenen Daten.

Wichtige Attribute für NVMe (über smartctl -a /dev/nvme0):

  • Percentage Used: Der Prozentsatz der verbrauchten Schreiblebensdauer. Der wichtigste Indikator für den Verschleiß.
  • Medien- und Datenintegritätsfehler: Fehler bei der Datenintegrität.
  • Kritische Warnung: Kennzeichen für kritische Warnungen.
  • Temperatur: Aktuelle Temperatur.

In dieser Phase verschafft sich der Administrator einen allgemeinen Überblick über den Zustand der Festplatte und kann offensichtliche Anzeichen für Probleme erkennen.

Erweiterte Konfiguration und praktische Anwendungsszenarien

SMART unterstützt integrierte Selbsttests, die vom Laufwerk selbst ohne Beteiligung des Betriebssystems durchgeführt werden.

Der Kurztest dient der schnellen Überprüfung wichtiger Komponenten:

sudo smartctl -t short /dev/sda

Der Langtest führt einen vollständigen Oberflächen-Scan durch und dauert deutlich länger:

sudo smartctl -t long /dev/sda

Nach Abschluss des Tests müssen die Ergebnisse überprüft werden:

sudo smartctl -l selftest /dev/sda

Die Ausgabe gibt Folgendes an:

  • die Art des Tests;
  • den Abschlussstatus;
  • das Vorhandensein oder Fehlen von Fehlern.

Ein fehlgeschlagener Test ist ein direkter Grund, sich auf den Austausch der Festplatte vorzubereiten.

Arbeiten mit RAID-Controllern

Hardware-RAID-Controller verbergen SMART-Daten häufig vor dem System. In solchen Fällen muss der Gerätetyp explizit angegeben werden.

Beispiel für einen LSI-Controller:

smartctl -a -d megaraid,0 /dev/sda

Dabei:

  • -a – Option zur Ausgabe aller verfügbaren SMART-Informationen (Attribute, Protokolle, Fehler, Gesamtzustandsbewertung).
  • -d – Option zur Angabe des Gerätetyps.
  • megaraid – teilt dem SMART-Treiber mit, dass sich die Festplatte hinter einem LSI/Broadcom-Controller befindet (wie er häufig in Servern verwendet wird).
  • 0 – die Nummer der physischen Festplatte (PD, Physical Drive) im RAID-Array. Dabei handelt es sich nicht um „sda“, sondern um eine vom Controller zugewiesene eindeutige ID. Diese lässt sich über das Controller-Verwaltungsprogramm (z. B. „storcli“ oder „MegaCLI“) ermitteln.
  • /dev/sda – In diesem Zusammenhang handelt es sich nicht um die tatsächliche Festplatte, sondern um ein Pseudogerät, das den RAID-Controller selbst im System repräsentiert. In der Regel ist dies /dev/sgX (SCSI Generic) oder einfach /dev/sda, wenn der Controller eine virtuelle Festplatte erstellt hat.

Typischer Fehler, wenn der Gerätetyp nicht angegeben ist:

SMART support is: Unavailable

Dies bedeutet nicht, dass SMART nicht verfügbar ist – sondern lediglich, dass smartctl den Pfad zur physischen Festplatte nicht automatisch ermitteln konnte. Die Lösung besteht darin, den Parameter -d korrekt anzugeben.

Diagnose und Fehlerbehebung

Anzeichen für mögliche Fehlfunktionen:

  • Anstieg des Werts „Reallocated_Sector_Ct“;
  • „Current_Pending_Sector“ ungleich Null;
  • Programmier-/Löschfehler (Program_Fail_Count, Erase_Fail_Count);
  • Selbsttestfehler;
  • Anstieg der E/A-Latenz;
  • Fehlermeldungen in den Systemprotokollen.

Protokollanalyse

journalctl -u smartd

dmesg | grep -i error

Erläuterung:

  • Ausstehende Sektoren > 0 – hohes Ausfallrisiko;
  • Die Anzahl der neu zugewiesenen Sektoren steigt – fortschreitende Verschlechterung;
  • Selbsttest FEHLGESCHLAGEN – die Festplatte muss ausgetauscht werden.

Identifizierung der Problemursachen

Um Fehlalarme auszuschließen, ist es wichtig, die SMART-Daten mit der tatsächlichen Auslastung abzugleichen.

iostat -x 1 iotop

Überprüfen, wo die Festplatte eingebunden ist:

lsblk -o NAME,SERIAL,MOUNTPOINT

Identifizierung der Controller:

lspci | grep -i raid

Zusätzliche Kennzahlen:

  • Temperatur über 50 °C;
  • Zunahme von CRC-Fehlern;
  • instabile SMART-Werte.

Konfiguration von Administratorbenachrichtigungen, wenn sich SMART-Kennzahlen den Schwellenwerten nähern

Das bloße Vorhandensein von SMART-Daten garantiert noch keine Sicherheit der Infrastruktur. Ein wesentlicher Bestandteil der Überwachung ist die rechtzeitige Benachrichtigung des Administrators in dem Moment, in dem sich der Zustand der Festplatte zu verschlechtern beginnt, ein Ausfall jedoch noch nicht eingetreten ist.

Der Benachrichtigungsmechanismus ermöglicht es Ihnen:

  • eine Verschlechterung des Laufwerkszustands frühzeitig zu erkennen;
  • den Austausch der Festplatte im Voraus zu planen;
  • Notfallausfälle und Datenverluste zu vermeiden;
  • innerhalb geplanter Wartungsfenster zu arbeiten.

In smartmontools ist der smartd-Daemon für das Versenden von Benachrichtigungen zuständig. Er verfolgt automatisch Änderungen der SMART-Attribute und reagiert auf Abweichungen vom Normalzustand.

Funktionsweise der smartd-Benachrichtigungen

Der smartd-Daemon läuft als Hintergrunddienst und führt folgende Aufgaben aus:

  1. Er fragt regelmäßig die SMART-Attribute der Festplatten ab.
  2. Er vergleicht die aktuellen Werte mit: den werkseitigen Schwellenwerten und den vorherigen Werten (Veränderungsdynamik).
  3. Erkennt: Anstieg kritischer Attribute, Auftreten neuer Fehler, Fehlschläge bei Selbsttests.
  4. Erzeugt eine Benachrichtigung und sendet diese an den Administrator.

Voraussetzungen für die Funktion der Benachrichtigungen

Vor der Konfiguration muss Folgendes sichergestellt sein:

  • Ein MTA (Postfix, Exim, Sendmail, ssmtp) ist im System installiert und korrekt konfiguriert;
  • der Server ist in der Lage, ausgehende E-Mails zu versenden;
  • die E-Mail-Adresse des Administrators für den Empfang von Benachrichtigungen ist definiert.

Beispiel für die Konfiguration von ssmtp – einem schlanken und einfachen MTA zum Versenden von E-Mails aus dem System

Installation:

# For Debian/Ubuntu sudo apt update && sudo apt install ssmtp mailutils -y # For RHEL sudo dnf install ssmtp mailx

Erstellen Sie die Konfigurationsdatei

sudo nano /etc/ssmtp/ssmtp.conf

und bearbeiten Sie den Inhalt:

# Default sender address [email protected] # SMTP server and port of your email provider mailhub=smtp.your-domain.com:587 # Alternative example: # mailhub=smtp.gmail.com:587 # For Gmail # Authentication credentials [email protected] AuthPass=your-password # Encryption settings UseSTARTTLS=YES # Use STARTTLS UseTLS=YES # Use TLS FromLineOverride=YES # Allow overriding the sender address # Hostname (specify your server's name) hostname=server1.your-domain.com # you can use hostname=localhost or specify the system's actual hostname

Speichern Sie die Datei und konfigurieren Sie die Zugriffsrechte:

sudo chmod 640 /etc/ssmtp/ssmtp.conf sudo chown root:mail /etc/ssmtp/ssmtp.conf

Konfigurieren Sie die Absender (Aliase):

sudo nano /etc/ssmtp/revaliases

root:[email protected]:smtp.your-domain.com:587 www-data:[email protected]:smtp.your-domain.com:587

Für den erfolgreichen Versand von Nachrichten müssen die folgenden Ports auf dem Server geöffnet sein: 587 (primär für den Versand mit STARTTLS-Verschlüsselung) oder 25 (Standard-SMTP), 465 (sicheres SMTP mit SSL), sofern dies in der Konfiguration vorgesehen ist.

Einfacher Test zum Versenden von E-Mails:

echo "SMART test message" | mail -s "SMART notification test" [email protected] # You can explicitly specify the sender echo "SMART test message" | mail -s "SMART notification test" -a "From: [email protected]" [email protected] # Via ssmtp directly echo "SMART test message" | ssmtp [email protected]

[email protected] – die Empfängeradresse, an die die Nachricht gesendet wird.

Wenn die E-Mail nicht zugestellt wird, ist eine weitere Konfiguration von smartd sinnlos, bis die Probleme bei der E-Mail-Zustellung behoben sind.

Die Konfiguration der SMART-Benachrichtigungen erfolgt in der Datei:

/etc/smartd.conf

Beispiel für eine einfache, funktionierende Konfiguration:

/dev/sda -a -o on -S on -m [email protected]

Parameter:

  • /dev/sda – die überwachte Festplatte;
  • -a – vollständiger Satz an Prüfungen;
  • -S on – das Speichern von Attributen zwischen Neustarts ist aktiviert;
  • -o on – die automatische Offline-Datenerfassung ist aktiviert;
  • -m – Benachrichtigungen werden an die angegebene E-Mail-Adresse gesendet.

Ab diesem Zeitpunkt beginnt smartd, den Festplattenstatus im Hintergrund zu überwachen.

Benachrichtigungen bei Annäherung an Schwellenwerte

Ein wesentliches Merkmal von smartd ist, dass es Änderungen der Attributwerte überwacht und nicht nur deren kritische Überschreitung.

  • In der Praxis bedeutet dies, dass eine Benachrichtigung gesendet werden kann:
  • beim ersten Auftreten von „Current_Pending_Sector“;
  • bei einem Anstieg von „Reallocated_Sector_Ct“, auch wenn der Schwellenwert noch nicht erreicht wurde;
  • bei der Erkennung von Selbsttestfehlern;
  • bei einer Verschlechterung der NVMe-Parameter.

Die wichtigsten Merkmale eines frühzeitigen Ausfalls:

  • Reallocated_Sector_Ct
  • Current_Pending_Sector
  • Offline_Uncorrectable
  • Medien- und Datenintegritätsfehler (NVMe)
  • Prozentualer Speicherverbrauch (SSD/NVMe)

Selbst minimale Änderungen dieser Parameter sollten als Grund zur Besorgnis gewertet werden.

Einsatz von Selbsttests als Benachrichtigungsquelle

Um den Informationsgehalt zu erhöhen, wird empfohlen, die Attributüberwachung mit regelmäßigen Selbsttests zu kombinieren.

Beispielkonfiguration mit Zeitplan:

/dev/sda -a -o on -S on \ -s (S/../.././02|L/../../6/03) \ -m [email protected]

Funktionsweise:

  • Täglich wird ein Kurztest durchgeführt;
  • einmal pro Woche wird ein vollständiger Test durchgeführt;
  • bei jedem fehlgeschlagenen Test erhält der Administrator eine Benachrichtigung.

Verwaltung der Benachrichtigungshäufigkeit und des Benachrichtigungsvolumens

Um eine übermäßige Anzahl von Warnmeldungen zu vermeiden, wird der Parameter -M once verwendet

Beispiel:

/dev/sda -a -m [email protected] -M once

In diesem Modus:

  • wird bei der ersten Erkennung eines Problems eine Benachrichtigung gesendet;
  • werden nachfolgende Meldungen nicht doppelt gesendet, bis die Ursache behoben ist.

Um das Benachrichtigungssystem zu testen, können Sie den Parameter -M test verwenden

Auf diese Weise können Sie überprüfen, ob smartd in der Lage ist, Meldungen zu senden, ohne auf einen tatsächlichen Fehler zu warten.

Fazit

Im Rahmen dieses Handbuchs wurde der gesamte Zyklus der Implementierung und des Betriebs von smartctl und des smartd-Daemons als Werkzeug zur proaktiven Überwachung des Festplattenzustands systematisch behandelt. Behandelt wurden die Grundprinzipien der SMART-Funktionsweise, praktische Methoden zur Attributanalyse, das Ausführen und Interpretieren von Selbsttests, Besonderheiten bei der Arbeit mit NVMe-Laufwerken und RAID-Controllern sowie Diagnosemethoden und Techniken zur Ermittlung der Grundursachen von Problemen. Besonderes Augenmerk wurde auf die Konfiguration von Benachrichtigungen gelegt, die es ermöglichen, eine Verschlechterung des Laufzustands bereits in einem frühen Stadium zu erkennen, noch bevor ein kritischer Ausfall eintritt.

Eine ordnungsgemäß konfigurierte SMART-Überwachung ist ein wesentlicher Bestandteil einer zuverlässigen Serverinfrastruktur und sollte als verbindlicher Betriebsstandard betrachtet werden. Der Einsatz von `smartctl` und `smartd` ermöglicht es dem Systemadministrator, von der reaktiven Behebung von Vorfällen zu einer bewussten, kontrollierten Wartung des Festplattensubsystems überzugehen. Dadurch werden die Risiken von Ausfallzeiten, Datenverlusten und ungeplanten Vorfällen verringert und gleichzeitig eine solide Grundlage für die weitere Automatisierung und Integration in zentralisierte Überwachungssysteme geschaffen.

VAT

  • Other

    Ex. VAT

    0%
  • austria

    Austria

    20%
  • Belgium

    Belgium

    21%
  • Bulgaria

    Bulgaria

    20%
  • Croatia

    Croatia

    25%
  • Cyprus

    Cyprus

    19%
  • Czech Republic

    Czech Republic

    21%
  • Denmark

    Denmark

    25%
  • Estonia

    Estonia

    22%
  • France

    France

    20%
  • Finland

    Finland

    24%
  • Germany

    Germany

    19%
  • Greece

    Greece

    24%
  • Hungary

    Hungary

    27%
  • Ireland

    Ireland

    23%
  • Italy

    Italy

    22%
  • Latvia

    Latvia

    21%
  • Lithuania

    Lithuania

    21%
  • Luxembourg

    Luxembourg

    17%
  • Malta

    Malta

    18%
  • Netherlands

    Netherlands

    21%
  • Poland

    Poland

    23%
  • Portugal

    Portugal

    23%
  • Romania

    Romania

    19%
  • Slovakia

    Slovakia

    20%
  • Slovenia

    Slovenia

    22%
  • Spain

    Spain

    21%
  • Sweden

    Sweden

    25%
  • USA

    USA

    0%
european
states
  • germany
  • Español
  • Italiano
  • Poland
  • Русский
  • Slovenski
  • Türkçe
  • ukraine
  • kingdom
  • French
  • Hrvatska
  • Other
  • Austria
  • Belgium
  • Bulgaria
  • Croatia
  • Cyprus
  • Czech Republic
  • Denmark
  • Estonia
  • Finland
  • France
  • Germany
  • Greece
  • Hungary
  • Ireland
  • Italy
  • Latvia
  • Lithuania
  • Luxembourg
  • Malta
  • Netherlands
  • Poland
  • Portugal
  • Romania
  • Slovakia
  • Slovenia
  • Spain
  • Sweden
  • USA