5

I have a 6-drive mirrored Storage Spaces array in Windows 10, made of 2x 4TB and 4x 3TB drives.

One of the 4TB drives was showing a failure, so I've replaced it and currently have a 7th drive (4TB) attached and added to the pool. Before physically adding the drive, I clicked "Remove" on the worrisome drive through the control panel UI and let it transfer data off that drive, then added the new drive.

According to the UI, that drive has been both "0.00% used" and "Preparing for removal" for weeks now.

Meanwhile, the Storage Spaces pool is warning "Reduced resiliency; check the Physical drives section". The physical drive sections says all the other drives are OK.

Trying to remove the disk through powershell with Remove-PhysicalDisk warns me that removing it "will cause problems with the fault tolerance capabilities of the [pool]". When I stubbornly try any way, I get the error "One of the physical disks specified could not be removed because it is still in use"

See screenshots for details of everything described above:

Overall pool status in UI Zero percent usage of drive being removed PowerShell drive and pool info Error when removing drive through PowerShell Overall drive capacity

10
  • Why didn't you add the new disk before you tried to remove the old one? Is there enough space on the remaining disks for the (Parity or) Mirror data of your Resilient storage? If I understand well you have a 2 way mirror. Which is the total amount of un-mirrored data? I suppose that if you want to remove the disk before inserting the new one, you will have at maximum space for (4Gb+4*3Gb=16Gb-->) 8 Gb of not mirrored data. BTW Your disk is not yet listed as Ready to remove so some process is still using it. Find it! – Hastur Oct 3 '16 at 16:17
  • Follow this article and report on errors. – harrymc Oct 3 '16 at 16:24
  • @Hastur - Windows reports 5.59 TB used in Explorer (before the mirroring), each of the other drives shows ~65% usage, so I think there should be plenty of capacity – Dave Oct 3 '16 at 22:37
  • @harrymc - Repair-VirtualDisk is churning, I'll update when finished – Dave Oct 3 '16 at 22:46
  • The job (via Get-StorageJob) has been in the mid-40s % complete for ~2 days straight, with fluctuating values (seems almost like it gets up to 48%, then drops to 42%, etc) – Dave Oct 6 '16 at 14:08
10
+50

The article Remove physical disk from storage pool with PowerShell has this procedure using PowerShell :

  1. To verify that all drives are healthy and operational :
    Get-PhysicalDisk
  2. Get the FriendlyName of the device :
    Get-PhysicalDisk | ft FriendlyName
  3. Retire the disk :
    Set-PhysicalDisk -FriendlyName "<DeviceName>" -Usage Retired
  4. Find the name of the Virtual Disk :
    Get-VirtualDisk
    If the name is too long use :
    Get-VirtualDisk | ft -AutoSize
  5. For every Virtual Disk in the storage pool do :
    Repair-VirtualDisk -FriendlyName "YourVirtualDisk"
  6. Open a new PowerShell window to monitor the repairs with :
    Get-StorageJob
  7. Remove the PhysicalDisk if all repairs are successfully done:
    Get-PhysicalDisk | Where-Object { $_.Usage -eq ‘Retired’}
  8. Assign the disk to a variable:
    $DiskToRemove = Get-PhysicalDisk | Where-Object { $_.Usage -eq ‘Retired’}
  9. Find the name of the storage pool:
    Get-StoragePool
  10. Delete the physical disk from the storage pool:
    Remove-PhysicalDisk -PhysicalDisks $DiskToRemove -StoragePoolFriendlyName "Storage pool"

If Repair-VirtualDisk takes a long time to execute, let it run its course, before deciding to reformat and rebuild this Storage Spaces array.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.