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.