3

I've got a virtual disk in a chronical unhealthy but functional state after a failed drive was replaced a while ago. The repair command returns instantly on this VD and the health status does not indicate exactly what's wrong with it, so I ignored the warning.

Recently, I disconnected a working drive from this array by mistake and re-installed it a few hours later (both actions involved power cycling the server). When the server came back up, all VDs in the pool were working apart from this parity VD. It's marked as IsManualAttach=true and once attached, the file system is shown as RAW. I used an undelete software to check the contents and noticed large chunks of zeros in most files.

My theory is there were some corruptions in the metadata or some bug which disabled one column in the RAID 5 and prevented it from being repaired. When the second drive was pulled, another column got disabled, but this was not correctly handled by the higher level code that actually presents the VDs to the OS. My question is has anyone seen this before? Is there any tool that would allow me to see and manipulate the low-level metadata in storage spaces?

More info:

I have only recently found out these events have been logged about this VD for months (in Microsoft-Windows-StorageSpaces-Driver/Operational):

(Event Id 303) Drives hosting data for virtual disk {b731f6a8-b99f-11e4-811f-000c29404dab} have failed or are missing. As a result, no copy of data is available. Return Code: This device does not exist.

(Event Id 304) The virtual disk {b731f6a8-b99f-11e4-811f-000c29404dab} is in a degraded state. This can happen when a physical disk hosting the virtual disk fails, is disconnected, or experiences a write error.

Windows will attempt to repair the virtual disk. No action is needed at this time.

(Event Id 306) The attempt to map, or allocate more storage for, the virtual disk {b731f6a8-b99f-11e4-811f-000c29404dab} has failed. This is because there was a write failure involved in the updating the virtual disk metadata. Return Code: The physical resources of this disk have been exhausted.

PS C:\Windows\System32> Get-VirtualDisk Redundant | fl


ObjectId                          : {1}...
PassThroughClass                  :
PassThroughIds                    :
PassThroughNamespace              :
PassThroughServer                 :
UniqueId                          : A8F631B79FB9E411811F000C29404DAB
Access                            : Read/Write
AllocatedSize                     : 4626485084160
DetachedReason                    : None
FootprintOnPool                   : 6168646778880
FriendlyName                      : Redundant
HealthStatus                      : Healthy
Interleave                        : 262144
IsDeduplicationEnabled            : False
IsEnclosureAware                  : False
IsManualAttach                    : True
IsSnapshot                        : False
LogicalSectorSize                 : 4096
Name                              :
NameFormat                        :
NumberOfAvailableCopies           :
NumberOfColumns                   : 4
NumberOfDataCopies                : 1
OperationalStatus                 : OK
OtherOperationalStatusDescription :
OtherUsageDescription             :
ParityLayout                      : Rotated Parity
PhysicalDiskRedundancy            : 1
PhysicalSectorSize                : 4096
ProvisioningType                  : Thin
RequestNoSinglePointOfFailure     : False
ResiliencySettingName             : Parity
Size                              : 5497826574336
UniqueIdFormat                    : Vendor Specific
UniqueIdFormatDescription         :
Usage                             : Other
WriteCacheSize                    : 33554432
PSComputerName                    :

1 Answer 1

4

The only way to deal with such an event within Microsoft Storage Spaces / Storage Spaces Direct non-functional setup is to a) re-create pool / virtual disk from scratch, and b) recover your data from backup. It's a well-known issue with SS / S2D :(

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .