Ich hatte heute bei einem Windows Server 2022 das Problem, dass nach jedem Neustart ein Storage-Spaces-Volume nicht automatisch eingebunden wurde. Der Storage Pool selbst war vorhanden und wurde auch als fehlerfrei angezeigt, allerdings war die darauf liegende Virtual Disk nach dem Neustart nicht verbunden. Das Volume musste jedes Mal manuell wieder eingebunden werden.
In der Server-Manager-Oberfläche war der Storage Pool sichtbar, die vDisk wurde allerdings mit einem Warnsymbol angezeigt. Nach dem manuellen Mounten war der Laufwerksbuchstabe wieder vorhanden und die Daten konnten normal verwendet werden.
In diesem Fall lag das Problem nicht an einem defekten Datenträger oder an einem fehlerhaften Storage Pool, sondern an der Einstellung der Virtual Disk selbst.
Überprüfung der Storage-Spaces-Ressourcen
Als erstes wurde der Zustand vom Storage Pool, der Virtual Disk, der Physical Disks und der sichtbaren Windows-Datenträger geprüft.
Get-StoragePool | ft FriendlyName, HealthStatus, OperationalStatus, IsReadOnly, Size, AllocatedSize
Damit lässt sich prüfen, ob der Storage Pool grundsätzlich fehlerfrei ist. In meinem Fall war der Pool sauber:
HealthStatus : Healthy
OperationalStatus : OK
IsReadOnly : False
Danach wurde die Virtual Disk geprüft:
Get-VirtualDisk | ft FriendlyName, HealthStatus, OperationalStatus, DetachedReason, IsManualAttach, Size, FootprintOnPool, ResiliencySettingName
Hier war der entscheidende Hinweis zu sehen:
HealthStatus : Unknown
OperationalStatus : Detached
DetachedReason : By Policy
IsManualAttach : True

Damit war klar, dass die vDisk nicht wegen eines Fehlers getrennt war, sondern aufgrund einer Policy nicht automatisch verbunden wurde. Der Wert IsManualAttach=True sorgt dafür, dass Windows die Virtual Disk nicht automatisch beim Start anhängt.
Zusätzlich wurden die physischen Datenträger geprüft:
Get-PhysicalDisk | ft FriendlyName, SerialNumber, HealthStatus, OperationalStatus, Usage, CanPool, Size
Auch hier waren die Datenträger fehlerfrei:
HealthStatus : Healthy
OperationalStatus : OK
Zum Schluss wurde geprüft, welche Datenträger Windows aktuell überhaupt sieht:
Get-Disk | ft Number, FriendlyName, OperationalStatus, HealthStatus, IsOffline, IsReadOnly, PartitionStyle, Size
Da die vDisk nicht verbunden war, wurde dort nur der lokale Systemdatenträger angezeigt. Das Storage-Spaces-Volume selbst war noch nicht als Windows-Disk sichtbar.
Ursache
Die Ursache war die Einstellung der Virtual Disk:
IsManualAttach : True
DetachedReason : By Policy
Dadurch wird die Virtual Disk nach einem Neustart nicht automatisch verbunden. Das Verhalten ist also nicht direkt ein Fehler, sondern entspricht der gesetzten Konfiguration.
Anpassung der Virtual Disk
Die Lösung war, das manuelle Anhängen der Virtual Disk zu deaktivieren:
Set-VirtualDisk -FriendlyName "vDisk01" -IsManualAttach $false
Anschließend wurde der Status erneut geprüft:
Get-VirtualDisk -FriendlyName "vDisk01" | ft FriendlyName, HealthStatus, OperationalStatus, DetachedReason, IsManualAttach
Danach sah der Status korrekt aus:
FriendlyName HealthStatus OperationalStatus DetachedReason IsManualAttach
------------ ------------ ----------------- -------------- --------------
vDisk01 Healthy OK None False
Damit war die vDisk wieder verbunden und der Laufwerksbuchstabe war ebenfalls wieder sichtbar.
Erneute Überprüfung
Zur Kontrolle wurde die komplette Virtual-Disk-Übersicht noch einmal ausgegeben:
Get-VirtualDisk | ft FriendlyName, HealthStatus, OperationalStatus, DetachedReason, IsManualAttach, Size, FootprintOnPool, ResiliencySettingName
Das Ergebnis war anschließend sauber:
HealthStatus : Healthy
OperationalStatus : OK
DetachedReason : None
IsManualAttach : False
ResiliencySetting : Mirror
Damit sollte die Virtual Disk beim nächsten Neustart automatisch verbunden werden.

