Ein NVMe-Laufwerk kann nach dem Energiesparmodus verschwinden, wenn sein Controller oder seine PCIe-Verbindung beim Fortsetzen nicht aus einem Energiesparzustand zurückkehrt.
Ein Laufwerk, das nach einem Kaltstart funktioniert, aber nur nach dem Ruhezustand verschwindet, weist normalerweise nicht auf ein einfaches Dateisystemproblem hin. Der Fehler kann auftreten, bevor Namespace, Partition, Dateisystem oder Anwendung sichtbar werden: Das PCIe-Gerät wird möglicherweise nicht erneut erkannt, der NVMe-Controller wird eventuell nicht betriebsbereit, oder eine Kombination aus Energiesparmechanismen kann die Verbindung unzugänglich machen. Diagnostizieren Sie zuerst die niedrigste fehlende Schicht und formatieren, ersetzen oder rekonstruieren Sie den Speicher nicht, bevor der Gerätepfad verstanden ist.
Ermitteln Sie, welche niedrigste Schicht nach dem Fortsetzen verschwindet
Erfassen Sie vor dem Energiesparmodus das PCI-Gerät, den NVMe-Controller, Namespaces, Partitionen, Dateisystem-UUIDs, Einbindungen und Anwendungen, die das Laufwerk verwenden. Wiederholen Sie dieselben Prüfungen unmittelbar nach dem Fortsetzen.
Das Linux-NVMe-Subsystem stellt Controller und Namespaces als separate Schichten bereit. Der Ubuntu-Befehl nvme list hilft dabei, einen fehlenden Controller von einem weiterhin vorhandenen Controller zu unterscheiden, der seinen erwarteten Namespace nicht mehr bereitstellt.
Wenn die PCI-Funktion fehlt, konzentrieren Sie sich auf Firmware, PCIe-Verbindungs-Energiesparfunktionen und das Verhalten beim Energiesparen. Wenn der Controller vorhanden bleibt, aber das Blockgerät verschwindet, untersuchen Sie NVMe-Reset, Namespaces, Treiberfehler und die Betriebsbereitschaft des Controllers.
Vergleichen Sie Kaltstart, Neustart und jeden unterstützten Energiesparzustand
Testen Sie einen Kaltstart, einen normalen Neustart, den Energiesparmodus mit aktivem Leerlauf und den Tiefschlaf nur dann, wenn Betriebssystem und Firmware diese Zustände bereitstellen. Notieren Sie, bei welchem Übergang der Fehler auftritt.
Der Linux-Kernel unterscheidet zwischen Energiesparmodus mit aktivem Leerlauf, Bereitschaftsmodus und Suspend-to-RAM. Jeder Zustand reduziert die Geräte- und Plattformleistung unterschiedlich stark. Die Beschreibung der Energiesparzustände des Kernels erklärt, warum ein NVMe-Controller aus einem flacheren Zustand korrekt zurückkehren kann, aber nach einem tieferen Plattformübergang ausfällt.
Ein Fehler, der auf einen einzigen Zustand beschränkt ist, spricht eher für ein Problem beim Energieübergang als für ein Problem mit der Datenträgerformatierung. Behalten Sie den nachweislich funktionierenden Zustand bei, während Sie eine dauerhafte Firmware- oder Treiberlösung testen.
Prüfen Sie, ob das PCIe-Gerät erneut erkannt wird
Vergleichen Sie die Ausgabe des PCI-Busses vor dem Energiesparmodus und nach dem Fortsetzen, einschließlich der Adresse des NVMe-Controllers, des ausgehandelten Verbindungsstatus, des Kernel-Treibers und der Fehlerzähler. Speichern Sie die genaue Busadresse vor dem Test.
Das Dienstprogramm lspci meldet den Controller auf der PCI-Schicht, bevor Namespaces oder Dateisysteme beteiligt sind. Dadurch eignet es sich zur Unterscheidung, wenn das gesamte NVMe-Gerät zu verschwinden scheint.
Wenn das Gerät in der PCI-Aufzählung fehlt, können ein erneutes Einlesen des Dateisystems oder das Neuerstellen von Einbindungen nicht helfen. Wenn es weiterhin sichtbar ist, erfassen Sie die NVMe- und Kernel-Fehler, bevor Sie einen Controller-Reset versuchen.
Testen Sie autonome NVMe-Energiesparzustandsübergänge
Erfassen Sie die aktuellen NVMe-Energiesparzustände und ob autonome Übergänge zwischen Energiesparzuständen aktiviert sind. Ändern Sie für einen kontrollierten Energiesparzyklus jeweils nur eine energiebezogene Variable.
Die ArchWiki dokumentiert das Energiesparverhalten von NVMe sowie die APST-Latenzsteuerung, mit der sich begrenzen lässt, wie tief der Controller in Energiesparzustände wechseln darf, wenn bestimmte Hardware beim Fortsetzen unzuverlässig arbeitet.
Eine vorübergehende APST-Einschränkung ist ein Diagnosemittel und kein Beweis dafür, dass jeder tiefe Energiesparzustand fehlerhaft ist. Wenn das Laufwerk wiederholte Fortsetzungszyklen nur mit einer weniger tiefen Energiesparrichtlinie übersteht, vergleichen Sie Firmware- und Kernel-Korrekturen, bevor Sie die Umgehungslösung dauerhaft beibehalten.
Überprüfen Sie Firmware, BIOS und das Verhalten von Modern Standby
Notieren Sie die Firmwareversion des Mainboards, die NVMe-Firmware, den Build des Betriebssystems sowie alle kürzlich vorgenommenen BIOS- oder Treiberänderungen. Prüfen Sie, ob die Plattform herkömmlichen Energiesparmodus oder ein modernes Modell mit niedrigem Leerlaufverbrauch verwendet.
Das Modern-Standby-Modell von Microsoft zeigt, dass unterstützte Geräte einer plattformverwalteten Energiesparsteuerung unterliegen, anstatt denselben Pfad wie beim herkömmlichen Energiesparmodus zu verwenden. Dadurch kann sich die Reproduzierbarkeit eines NVMe-Problems zwischen Systemen unterscheiden.
Aktualisieren Sie jeweils nur eine Firmware-Schicht und bewahren Sie die vorherige Version oder eine Wiederherstellungsmöglichkeit auf. Kombinieren Sie kein BIOS-Update, kein SSD-Firmware-Update und kein Betriebssystem-Upgrade in einem einzigen Test, da sonst nicht festgestellt werden kann, welche Änderung erfolgreich war.
Untersuchen Sie PCIe-Verbindungs-Energiesparen und Laufzeit-Energieverwaltung
Prüfen Sie die PCIe-ASPM-Einstellungen, den Laufzeit-Energiezustand und ob der NVMe-Controller vor dem Wechsel des Systems in den Energiesparmodus in einen ausgesetzten Laufzeitzustand wechselt. Vergleichen Sie den betroffenen Steckplatz nur dann mit einem anderen Steckplatz, wenn das Serverdesign dies sicher erlaubt.
Die Anleitung zur Energieverwaltung von Red Hat erklärt, dass Laufzeit-Energieverwaltung und PCIe-ASPM getrennte Mechanismen sind. Wenn das Deaktivieren eines Mechanismus eine Änderung bewirkt, identifiziert dies daher nicht automatisch den anderen als Ursache.
Wenn das Problem dem Laufwerk in einen anderen Steckplatz folgt, sind wahrscheinlich der Controller oder die Firmware die Ursache. Bleibt es an einem Steckplatz bestehen, untersuchen Sie Mainboard-Firmware, Bifurkation, gemeinsam genutzte Lanes, Steckplatzversorgung und Signalintegrität.
Stellen Sie den Betrieb sicher wieder her und überprüfen Sie wiederholte Fortsetzungszyklen
Wenn das Laufwerk verschwindet, sichern Sie die Protokolle vor einem Kaltstart. Vermeiden Sie wiederholte Hot-Resets, wenn der Controller einen schwerwiegenden Status, Verbindungsfehler oder verschwindende Namespaces meldet.
Die Wiederherstellungs-Checkliste für Home-Server von ZimaSpace enthält die dazugehörige Grundregel: Überprüfen Sie die Hardwaresichtbarkeit und den Speicherstatus, bevor Sie eine Dateisystemreparatur durchführen oder Daten wiederherstellen.
Das Problem ist behoben, wenn Controller, Namespace, Partitionen, Einbindungen und Anwendungen wiederholte Energiespar- und Fortsetzungszyklen im vorgesehenen Energiesparzustand überstehen. Bewahren Sie ein aktuelles Backup auf, bis die Fehlerbehebung auch Neustarts, längere Leerlaufzeiten und die normale Speicherlast übersteht.
Support & Tipps
Mehr zum Lesen

Kann Plex eine GPU mit einem anderen Docker-Container gemeinsam nutzen?
Plex und ein weiterer Container können häufig auf dieselbe GPU zugreifen, aber du musst die Treiberunterstützung, die Gerätezuordnung, die Auslastung der Video-Engine, den Speicher...

So erkennst du, ob ein Plex-Fehler vom Client oder vom Server verursacht wird
Reproduziere dasselbe Element auf einem anderen Client, vergleiche den Sitzungspfad und sammle Serverbelege erst, nachdem der Geltungsbereich dir gezeigt hat, wo der Fehler tatsächlich...

So konfigurierst du den Plex-Cache und den temporären Transcodierungs-Speicher
Schütze den persistenten Plex-Zustand, indem du temporäre Transcodierungsdateien auf geeignetem lokalem Speicher ablegst, und überprüfe anschließend die Bereinigung, den freien Speicherplatz und das Verhalten...

