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.
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.
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.
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:
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.
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|
|Get-StoragePool *S2D* | Add-PhysicalDisk -PhysicalDisk $Disk|