Hallo,
Das Verhalten, das du beschreibst, ist typisch für Storage Spaces Direct, wenn die StorPort-Treiber bei kurzen Latenzspitzen die NVMe-Geräte als „Lost Communication“ markieren. Standardmäßig sind die Timeout-Werte im StorPort-Stack sehr aggressiv, was bei NVMe-Controllern mit kurzzeitigen Antwortverzögerungen dazu führt, dass die Laufwerke sofort aus dem Pool entfernt werden.
Die Anpassung erfolgt über die Registry unter HKLM\SYSTEM\CurrentControlSet\Services\StorPort\Parameters. Dort kannst du die Werte für TimeOutValue und gegebenenfalls RetryCount setzen. Der Schlüssel TimeOutValue wird in Sekunden angegeben und definiert, wie lange StorPort auf eine Antwort wartet, bevor ein Gerät als nicht erreichbar gilt. Microsoft empfiehlt für NVMe in S2D-Umgebungen einen Wert von mindestens 60 Sekunden, da die Standardwerte oft bei 20 liegen. Beispiel:
Code
reg add HKLM\SYSTEM\CurrentControlSet\Services\StorPort\Parameters /v TimeOutValue /t REG_DWORD /d 60 /f
Falls du mehrere Controller-Treiber im Einsatz hast, solltest du prüfen, ob diese ebenfalls eigene Timeout-Parameter unter HKLM\SYSTEM\CurrentControlSet\Services\<ControllerName>\Parameters besitzen. Manche NVMe-HBA-Treiber überschreiben die StorPort-Defaults.
Nach der Änderung ist ein Neustart des Hosts zwingend erforderlich, damit die neuen Werte greifen. Anschließend solltest du im Eventlog unter Microsoft-Windows-StorageSpaces-Driver/Operational kontrollieren, ob die Laufwerke weiterhin mit „Lost Communication“ markiert werden. Parallel lohnt es sich, mit Get-PhysicalDisk in PowerShell den Health-Status der NVMe-Disks zu prüfen, um sicherzustellen, dass sie nicht mehr unnötig aus dem Pool entfernt werden.
Wichtig ist, dass du diese Anpassung nur auf den S2D-Knoten vornimmst und die Werte konsistent auf allen Hosts setzt, damit das Cluster keine inkonsistenten Timeout-Verhalten zeigt.
Domic Vo.