Du betrachtest gerade Laufwerksüberwachung auf Fedora mit Performance Co‑Pilot: SMART, NVMe‑Logs, Grafana und Alerts

Laufwerksüberwachung auf Fedora mit Performance Co‑Pilot: SMART, NVMe‑Logs, Grafana und Alerts

Lead: Festplatten und SSDs geben oft lange vor dem Ausfall Warnsignale — Temperaturanstiege, steigende Fehlerzähler und Verschleißindikatoren. Performance Co‑Pilot (PCP) erfasst SMART‑Daten kontinuierlich, decodiert NVMe‑Fehlerlogs, benutzt WWID für verlässliches Gerätetracking und integriert sich in Grafana. Dieser Beitrag erklärt, wie Sie PCP auf Fedora einrichten, welche Metriken wirklich zählen und wie Sie mit pmie einfache Alarme realisieren.

Warum kontinuierliches Monitoring statt Einzelprüfung?

Tools wie smartctl liefern eine Momentaufnahme. PCP geht weiter: Die SMART‑PMDA sammelt Werte fortlaufend und schreibt Zeitreihen. So lassen sich Trends erkennen — etwa ein allmählich steigender Reallocated‑Sector‑Count oder eine sukzessive Zunahme der NVMe‑Verschleißanzeige. Solche Entwicklungen weisen oft früher auf Probleme hin als ein einmaliger Check.

Vorbereitungen und Voraussetzungen

Der beschriebene Workflow wurde für Fedora empfohlen (Fedora 39 oder neuer). Sie benötigen root- oder sudo‑Rechte und die smartmontools, da das PCP‑SMART‑PMDA smartctl zur Abfrage benutzt.

$ sudo dnf install smartmontools

Installieren Sie anschließend PCP und das SMART‑PMDA:

$ sudo dnf install pcp pcp-pmda-smart

Das PMDA installiert sich typischerweise über das mitgelieferte Installer‑Skript im PMDA‑Verzeichnis, zum Beispiel /var/lib/pcp/pmdas/smart/ mit ./Install. Starten bzw. aktivieren Sie den Collector‑Daemon:

$ sudo systemctl start pmcd
$ sudo systemctl enable pmcd

Wichtige SMART‑Metriken und ihre Bedeutung

PCP legt SMART‑Attribute in Namespaces wie smart.attributes.* für klassische ATA/SATA und smart.nvme_attributes.* für NVMe‑Laufwerke ab. Einige Kennzahlen, auf die Sie achten sollten:

Temperatur

Temperatur ist ein einfacher Indikator für Kühlungsprobleme. PCP stellt Werte z. B. unter smart.attributes.temperature_celsius.value und smart.nvme_attributes.temperature_sensor_one bereit. Als grobe Orientierung gelten dauerhaft über 60 °C für HDDs oder über 70 °C für SSDs/NVMe als kritisch.

Power‑On Hours und Power‑Cycles

Die Gesamtbetriebszeit (power_on_hours) und Anzahl der Ein/Aus‑Zyklen geben Hinweise auf das Alter und Beanspruchung des Laufwerks. Hohe Werte sind kein Fehler an sich, helfen aber beim Lebensdauer‑Abgleich.

Verschleiß (NVMe)

Für NVMe‑Geräte ist smart.nvme_attributes.percentage_used die zentrale Größe: 0–100 % zeigt den verbrauchten Anteil der spezifizierten Lebensdauer. Ab etwa 80 % ist erhöhte Aufmerksamkeit angebracht, ab 90 % empfiehlt sich ein Austausch‑Plan.

Reallocated / Pending Sectors

smart.attributes.reallocated_sector_count.value und smart.attributes.current_pending_sector.value zeigen fehlerhafte Blöcke beziehungsweise wartende Remap‑Vorgänge. Jede Zunahme bei Reallocated Sectors ist ein Alarmsignal.

WWID‑basiertes Tracking: Stabilität trotz Gerätezuordnung

Eine Herausforderung im Monitoring sind wechselnde Device‑Namen (z. B. /dev/nvme0n1 → /dev/nvme1n1). PCP stellt WWID‑basierte Metriken bereit (smart.wwid.*), sodass Historie und Alarmierung am tatsächlichen Laufwerk anknüpfen, unabhängig von temporären Systempfaden.

NVMe‑Fehlerprotokolle analysieren

NVMe‑Laufwerke führen einen Fehlerlog (Log Page 0x01). Das SMART‑PMDA kann diesen Log auslesen und in menschenlesbare Einträge übersetzen, etwa mit Informationen zu Fehlerarten, Statuscodes, betroffenen LBAs, Namespace und Timestamp. Entscheidend ist smart.nvme_error_log.error_count — sollte idealerweise null sein. Ergänzende Felder wie smart.nvme_error_log.status_code erleichtern die Diagnose.

Seagate‑FARM: Hersteller‑spezifische Telemetrie

Für Seagate‑Laufwerke bietet PCP zusätzlich das FARM‑PMDA (Field Accessible Reliability Metrics). FARM liefert detailliertere Metriken, etwa kopfspezifische Fehlerstatistiken, längere Temperatur‑Historien, feinere Power‑Metriken und Leistungskennzahlen. FARM ist herstellerspezifisch und funktioniert nur für Seagate‑SATA/SAS‑Modelle.

$ sudo dnf install pcp-pmda-farm
$ cd /var/lib/pcp/pmdas/farm/ && sudo ./Install

Visualisierung mit Grafana

PCP integriert sich über das grafana‑pcp Plugin. Installieren Sie Grafana und das Plugin‑Paket:

$ sudo dnf install grafana grafana-pcp

Starten Sie Grafana und den PCP‑Proxy:

$ sudo systemctl start grafana-server pmproxy
$ sudo systemctl enable grafana-server pmproxy

Greifen Sie auf http://localhost:3000 zu (Standard: admin/admin) und legen Sie als Datasource die PCP Vector‑Verbindung an. Typische Panels für ein Laufwerks‑Dashboard:

  • Timeseries: Temperaturverläufe mehrerer Laufwerke mit Schwellen für Warnungen.
  • Gauge: NVMe‑Verschleiß (% used) mit 80/90‑Schwellen.
  • Stat: Health‑Status (PASSED/FAILED) aggregiert pro Laufwerk.

Einmal konfigurierte Dashboards zeigen Trends über Wochen und Monate und sind nützlich, um Auffälligkeiten zeitlich einzugrenzen.

Automatische Alarme mit pmie

pmie (Performance Metrics Inference Engine) wertet Metrikausdrücke regelbasiert aus und führt Aktionen aus. So lassen sich Syslog‑Einträge, Shell‑Befehle oder andere Aktionen auslösen, wenn Bedingungen eintreten.

Beispiel: Eine Regel, die NVMe‑Temperaturen über 70 °C protokolliert, könnte folgendermaßen formuliert werden (kompakter Stil):

// Beispieleintrag für /etc/pcp/pmie/smart-health.pmie
some_inst(smart.nvme_attributes.temperature_sensor_one > 70)
  -> syslog 10 min "NVMe temperature critical:" " %i at %v °C";

Weitere Regeln prüfen etwa Verschleiß (>80 %), Reallocated‑Sektoren (>0) oder NVMe‑Fehlerzähler. Testen Sie Regeln mit:

$ sudo pmie -v -c /etc/pcp/pmie/smart-health.pmie -t 10second

Wenn alles passt, lässt sich pmie als Service dauerhaft aktivieren.

Dauerhafte Datenspeicherung mit pmlogger

pmlogger schreibt die gesammelten Metriken in historische Zeitreihen. Aktivieren Sie pmlogger und stellen Sie sicher, dass SMART‑Gruppen in der Konfiguration eingeschlossen sind:

$ sudo systemctl start pmlogger
$ sudo systemctl enable pmlogger
$ sudo pmlogconf -r /var/lib/pcp/config/pmlogger/config.default

Historische Logs erlauben die Nachverfolgung, wann eine Verschlechterung begann — oft die wichtigste Hilfe bei Ursachenforschung.

Fazit

PCP ergänzt klassische SMART‑Prüfungen um kontinuierliche Erfassung, aussagekräftige NVMe‑Fehlerprotokolle, WWID‑basiertes Tracking und optionale Seagate‑FARM‑Metriken. Kombiniert mit Grafana‑Dashboards, pmlogger‑Archivierung und pmie‑Alarmen erhalten Sie ein praxisfähiges System, das frühe Warnzeichen erkennt und Ihnen Zeit zum Reagieren gibt. Ein paar Minuten Setup sparen unter Umständen Stunden an Datenrettung oder Ausfallzeiten.

Schreibe einen Kommentar