Unhealthy and Detached storage space

Patrick 0 Reputation points
2023-08-09T08:56:49.1533333+00:00

Hi,

reposted from https://answers.microsoft.com/en-us/windows/forum/windows_11-files/unhealthy-and-detached-storage-space/a2d2107c-ea17-410d-94b9-91bfdd62d48d?messageId=97fde877-a2a0-4151-be8c-51c495e642f7

Also posted here: https://superuser.com/questions/1800948/windows-storage-space-unhealthy-and-detached?noredirect=1#comment2823136_1800948

I use Windows 11 Pro with a 3 way mirror storage space made of 5 physical disks (=2 redundant drives out of 5).

The storage pool is healthy (HealthStatus : Healthy)

All 5 physical disks are healthy (HealthStatus : Healthy)

But the storage space is not.

OperationalStatus : Detached

HealthStatus : Unhealthy

DetachedReason : Majority Disks Unhealthy

I checked this link: Storage Spaces and Storage Spaces Direct health and operational states | Microsoft Learn

It says that "If you're not using Storage Spaces Direct, next repair the virtual disk using the Repair-VirtualDisk cmdlet." This cmdlet does not work for me. Just starts and immediately stops without further information.

PS C:\windows\system32> get-storagejob

Name IsBackgroundTask ElapsedTime JobState PercentComplete BytesProcessed BytesTotal

Storage Space 3W5-Repair False 00:00:00 Completed 100 0 B 0 B

It says also "If more disks failed than you have copies of your data and the virtual disk wasn't repaired in-between failures, all data on the virtual disk is permanently lost. In this unfortunate case, delete the virtual disk, create a new virtual disk, and then restore from a backup." Well, trying to workaround this...

I know what caused the issue. Some tinkering (dust cleaning) in my home server case left some sata cables poorly connected. So during 3 days the storage pool experienced i/o errors. But the drives are good, and I guess that all the data prior to these 3 days is good as well, and duplicated on several disks thanks to the mirroring.

Only I just can't get the storage pool back online.

Connect-VirtualDisk is not working

Repair-VirtualDisk is not working

Add-PhysicalDisk to the VirtualDisk is not working

Add-PhysicalDisk to the StoragePool is working OK, but does not help the virtual disk to recover, or balance, or anything. Fun fact: after adding new disks to the pool, I can't remove them because "remove-physicaldisk : The storage pool could not complete the operation because the health or operational status of one or more virtual disks in it does not permit it."

I used to use ZFS on Linux before I moved to MSFT Storage Spaces.

With ZFS, you can force a unhealthy pool to be recognized as healthy to bring it back online, and then if you're lucky you can recover some data, run scrubbing, repair, etc. I wish I could do just that: force the status of my storage space to Healthy so that I can bring it back online and at least access the data prior to the i/o errors, especially when I know the drives are not faulty (says SMART test, says ReliabilityCounter)

PS C:\windows\system32> Get-StorageReliabilityCounter

Number Temperature ReadErrorsUncorrected Wear PowerOnHours


4 0 0 57

6 0 0 63804

3 0 0 73344

5 0 0 73366

1 0 0 73366

7 0 0 67422

2 0 0 18745

Any help appreciated...

(doing ReclaiMe scan at the moment, but hoping for a solution within Windows Storage Management)

Thanks in advance,

Patrick

Windows Server Storage
Windows Server Storage
Windows Server: A family of Microsoft server operating systems that support enterprise-level management, data storage, applications, and communications.Storage: The hardware and software system used to retain data for subsequent retrieval.
650 questions
0 comments No comments
{count} votes

1 answer

Sort by: Most helpful
  1. Limitless Technology 44,321 Reputation points
    2023-08-10T13:20:04.9266667+00:00

    Hello there,

    The below steps have helped some users in solving this issue

    Download and extract dsfok tools

    use dsfo.exe "c:\temp\disk2.vmdk" 512 1024 descriptor1.txt to extract the descriptor

    edit the descriptor file in Notepad++: comment the above mentioned line (as I added the extra single character (#) I also deleted one NULL character from the end to keep the file size of 1024 bytes (not sure if this is needed).

    use dsfi.exe "c:\temp\disk2.vmdk" 512 1024 descriptor1.txt to inject the descriptor back into the VMDK

    repeat these steps for the other disk (my VM has two .vmdk files)

    reissue the ConvertTo-MvmcVirtualHardDisk command

    Hope this resolves your Query !!

    --If the reply is helpful, please Upvote and Accept it as an answer--

    0 comments No comments

Your answer

Answers can be marked as Accepted Answers by the question author, which helps users to know the answer solved the author's problem.