Identify the failed physical disk


Below is a picture of a degraded drive in your VMStorage. The following will show you how to change that failed Hard Drive without interrupting your Storage Jobs or destroying any data. 


Step 1: Identify the Failed Disk


To Identify the failed disk, Open Powershell and type the Cmdlet below. 



Get-StoragePool *S2D* | Get-PhysicalDisk



You will see that one of your drives is in an Unhealthy status with Transient Errors or IO Errors.


Once you have the failing disk, you can single it out with the Powershell Cmdlet below. 



$Disk Get-PhysicalDisk |? OperationalStatus -Notlike ok



Retire and Physically Identify Storage Device


Next step is to set the usage of this disk to "Retired" to stop writing on this disk and avoid loss of data. To do so use the Cmdlet below. 



Set-PhysicalDisk -InputObject $Disk -Usage Retired


You can open Server Manager now to make sure the failed disk is now in the "Retired" state. 

 


Next, you may remove it from the storage pool using the Cmdlet below. 



Get-StoragePool *S2D* | Remove-PhysicalDisk -PhysicalDisks $Disk



Run the following Cmdlet to turn on the storage device LED to physically identify it in the DataCenter (Server).



Get-PhysicalDisk |? OperationalStatus -notlike OK | Enable-PhysicalDiskIdentification



Next, move to the server and you will see which drive is defecting by the Warning Indicator light. You may now change that disk out. 



Once the disk is replaced, you can turn off the LED using: 



Get-PhysicalDisk |? OperationalStatus -like OK | Disable-PhysicalDiskIdentification


Add Physical Disk to the Storage Pool


Before a reboot of the server, the physical disk can't identify its enclosure name. The Disk automatically joined the Storage Pool but 

without enclosure information. So, you have to reboot the server to get the right information. Storage Spaces Direct Spread automatically the data across the new disk. This process takes almost 30 minutes. 




Sometimes the physical disk doesn't join automatically to the Storage Pool. So, you can run the following Cmdlet to add the new Physical Disk into the Storage Pool. 



Get-PhysicalDisk


To see the new drive you physically added into the server and the CanPool of this Drive read "True", use:



To add the new Disk into the Storage Pool, use: 



$Disk = Get-PhysicalDisk |? CanPool -like True


and



Get-StoragePool *S2D* | Add-PhysicalDisk -PhysicalDisk $Disk



Click Here for more Information.