none
Storage Spaces - remove missing retired disk

    Domanda

  • Hi, everyone! I'm having trouble with removing broken physical disk from Windows Server 2016 Storage Spaces pool. Latest updates, three times reboot, powershell and Server Manager - same result.

    Powershell output:

    PS C:\Windows\system32> Get-StoragePool
    
    FriendlyName OperationalStatus HealthStatus IsPrimordial IsReadOnly
    ------------ ----------------- ------------ ------------ ----------
    Primordial   OK                Healthy      True         False
    Primordial   OK                Healthy      True         False
    VmsPool      OK                Healthy      False        False
    MailStore    OK                Healthy      False        False

    PS C:\Windows\system32> Get-VirtualDisk
    
    FriendlyName ResiliencySettingName OperationalStatus HealthStatus IsManualAttach     Size
    ------------ --------------------- ----------------- ------------ --------------     ----
    MixedForVms                        OK                Healthy      True           15.37 TB
    MailStore    Mirror                OK                Healthy      True            2.43 TB

    PS C:\Windows\system32> Get-StoragePool M* | Get-PhysicalDisk
    
    FriendlyName        SerialNumber         CanPool OperationalStatus  HealthStatus Usage            Size
    ------------        ------------         ------- -----------------  ------------ -----            ----
    SEAGATE ST600MM0006 S0M5303Z0000K5366TF4 False   OK                 Healthy      Auto-Select 558.75 GB
    SEAGATE ST600MM0006 S0M52B1A0000K5362S87 False   OK                 Healthy      Auto-Select 558.75 GB
    SEAGATE ST600MM0006 S0M52BP50000K5362SLU False   OK                 Healthy      Auto-Select 558.75 GB
    SEAGATE ST600MM0006 S0M530ML0000K5362R4M False   OK                 Healthy      Auto-Select 558.75 GB
    SEAGATE ST600MM0006 S0M52BCG0000K536677V False   OK                 Healthy      Auto-Select 558.75 GB
    SEAGATE ST600MM0006 S0M530550000K5363TPE False   OK                 Healthy      Auto-Select 558.75 GB
    SEAGATE ST600MM0006 S0M5305Q0000K5363Y1W False   OK                 Healthy      Auto-Select 558.75 GB
    SEAGATE ST600MM0006 S0M530LB0000K5362JF7 False   Lost Communication Warning      Retired     558.75 GB
    SEAGATE ST600MM0006 S0M530AM0000K5364143 False   OK                 Healthy      Auto-Select 558.75 GB
    SEAGATE ST600MM0006 S0M52BM10000K5362U2W False   OK                 Healthy      Auto-Select 558.75 GB
    SEAGATE ST600MM0006 S0M52BP90000K53641KL False   OK                 Healthy      Auto-Select 558.75 GB

    $replace = Get-StoragePool M* | Get-PhysicalDisk -Usage Retired
    
    PS C:\Windows\system32> Remove-PhysicalDisk -PhysicalDisks $replace -StoragePoolFriendlyName MailStore
    
    Confirm
    Are you sure you want to perform this action?
    Removing a physical disk will cause problems with the fault tolerance capabilities of the following storage pool:
    "MailStore".
    [Y] Yes  [A] Yes to All  [N] No  [L] No to All  [S] Suspend  [?] Help (default is "Y"):
    Remove-PhysicalDisk : Failed
    Activity ID: {06a1aeb6-c6e1-4609-8169-fcfba1bdcca1}
    At line:1 char:1
    + Remove-PhysicalDisk -PhysicalDisks $replace -StoragePoolFriendlyName  ...
    + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        + CategoryInfo          : NotSpecified: (StorageWMI:ROOT/Microsoft/..._StorageCmdlets) [Remove-PhysicalDisk], CimE
       xception
        + FullyQualifiedErrorId : StorageWMI 4,Remove-PhysicalDisk

    So, how should I remove it after all?

    lunedì 2 ottobre 2017 12:21

Risposte

  • Finally found the answer! I don't understand the meaning of that operation, but it just works great:

    Get-CimInstance -Namespace root\mscluster -ComputerName WSFC1 -ClassName MScluster_ClusterService | Invoke-CimMethod -Name EnableHealth
    
    Remove-PhysicalDisk -PhysicalDisks (Get-PhysicalDisk | ? OperationalStatus -eq 'Lost Communication') -StoragePoolFriendlyName MailStore
    
    Get-CimInstance -Namespace root\mscluster -ComputerName $ClusterName -ClassName MScluster_ClusterService | Invoke-CimMethod -Name DisableHealth

    where WSFC1 - is name of the cluster and MailStore - name of Storage Pool with missing drive.

    • Contrassegnato come risposta EvgenGematogen martedì 3 ottobre 2017 13:30
    martedì 3 ottobre 2017 13:30

Tutte le risposte

  • Hi EvgenGematogen,

    May I ask is there other error message in the event viewer?

    And in general, when one of the disks in a storage pool is corrupted, we could add a new one to the storage pool and remove the corrupted one. Virtual disk should be moved to the new disk automatically. You could try to add a new disk and replace to do a check.

    If it is still no clue and no error in the event viewer, please backup all your data first. Then check if the disk is locked by system. Maybe you could also refer to the article below.

    https://moln1.wordpress.com/tag/lost-communication/

    Please Note: Since the web site is not hosted by Microsoft, the link may change without notice. Microsoft does not guarantee the accuracy of this information.

    Best Regards,

    Mary


    Please remember to mark the replies as answers if they help.
    If you have feedback for TechNet Subscriber Support, contact tnmff@microsoft.com.

    martedì 3 ottobre 2017 02:40
    Moderatore
  • May I ask is there other error message in the event viewer?

    Nope, nothing suspicious.

    And in general, when one of the disks in a storage pool is corrupted, we could add a new one to the storage pool and remove the corrupted one. Virtual disk should be moved to the new disk automatically. You could try to add a new disk and replace to do a check

    I knew it, and all Virtual Disks of all Storage Pools are healthy now. There were two spare disks in that pool from the beginning and now it's only one. I've added one more HDD to that Storage Pool - nothing changed.

    If it is still no clue and no error in the event viewer, please backup all your data first. Then check if the disk is locked by system. Maybe you could also refer to the article below.

    Maybe it's locked, but how can I find the right one HDD in Device Manager? I can't find Serial Number or Unique ID there.

    martedì 3 ottobre 2017 13:08
  • Finally found the answer! I don't understand the meaning of that operation, but it just works great:

    Get-CimInstance -Namespace root\mscluster -ComputerName WSFC1 -ClassName MScluster_ClusterService | Invoke-CimMethod -Name EnableHealth
    
    Remove-PhysicalDisk -PhysicalDisks (Get-PhysicalDisk | ? OperationalStatus -eq 'Lost Communication') -StoragePoolFriendlyName MailStore
    
    Get-CimInstance -Namespace root\mscluster -ComputerName $ClusterName -ClassName MScluster_ClusterService | Invoke-CimMethod -Name DisableHealth

    where WSFC1 - is name of the cluster and MailStore - name of Storage Pool with missing drive.

    • Contrassegnato come risposta EvgenGematogen martedì 3 ottobre 2017 13:30
    martedì 3 ottobre 2017 13:30
  • Amazing! Works even with 'Simple' resilience!
    venerdì 27 ottobre 2017 19:55
  • Hello EvgenGematogen,

    But running the command 

    Get-CimInstance -Namespace root\mscluster -ComputerName $ClusterName -ClassName MScluster_ClusterService | Invoke-CimMethod -Name DisableHealth

    Makes the health service to be disable, but as well it will remove all the providers from it , test it by running 

    (Get-ClusterResource Health | Get-ClusterParameter).Value | FL * 

    And you'll see the parameters (providers) as empty afetr running that command, so you will have to add them back

    Get-CimInstance -Namespace root\mscluster -ComputerName $ClusterName -ClassName MScluster_ClusterService | Invoke-CimMethod -Name AddHealthProviders -Arguments @{Providers="{bb20ff2e-7127-4d86-9f52-906f891230be}","{e24b3e7e-a73a-4108-b79f-894cc1184295}","{a8c23fac-e655-4f0b-9ee2-fb70e71634df}","{c06b98bf-0dbc-4259-ae0d-5801eda8e7e1}","{29d1f3ee-dbcf-44e9-b0cc-085bfa362499}"}

    By the way, removing / re-adding the poviders is considered not recomended 

    mercoledì 13 giugno 2018 23:35