Real case: Storage Spaces Direct physical disk replacement

This week I was in Stockholm to build a Storage Spaces Direct cluster (hyperconverged model). When implementing the cluster, I have seen that a physical disk was failing. I’ve written this topic to show you how I have replaced this disk.

Identify the failed physical disk

I was deploying VMFleet when I saw the both virtual disks in a degraded state. So, I checked the job my running Get-StorageSubSystem *Cluster* | Get-StorageJob. Then I opened the Storage Pool and I have seen the following:

So, it seems that this physical disk was not healthy and I decided to change it. First, I ran the following cmdlet because my trust in the Failover Cluster Manager is limited:

Get-StoragePool *S2D* | Get-PhysicalDisk

Then I add the physical disk object into a PowerShell variable (called $Disk) to manipulate the disk. You can change the OperationalStatus filter by another thing while you get the right disk.

$Disk = Get-PhysicalDisk |? OperationalStatus -Notlike ok

Retire and physically identify storage device

Next I set the usage of this disk to Retired to stop writing on this disk and avoid data loss.

Set-PhysicalDisk -InputObject $Disk -Usage Retired

Next I tried to remove the physical disk from the Storage Pool. It seems that the physical disk is in really bad state. I can’t remove it from the pool. So, I decided to change it anyway.

I ran the following cmdlet to turn on the storage device LED to identify it easily in the datacenter:

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

Next I move to the server room and as you can see in the below photo, the LED is turned on. So, I changed this disk.

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

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

Add physical disk to 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 took almost 30mn.

Sometime the physical disk doesn’t join automatically the Storage Pool. So, you can run the following cmdlet to add the physical disk to the Storage Pool.


With storage solutions, you can be sure that a physical disk, either SSD or HDD will fail some days. With Storage Spaces Direct, Microsoft provides all required tools to change properly failed disks easily. Just set the physical disk as retired, then remove the physical disk (if you can) from the storage pool. To finish you can change the disk.

About Romain Serre

Romain Serre works in Lyon as a Senior Consultant. He is focused on Microsoft Technology, especially on Hyper-V, System Center, Storage, networking and Cloud OS technology as Microsoft Azure or Azure Stack. He is a MVP and he is certified Microsoft Certified Solution Expert (MCSE Server Infrastructure & Private Cloud), on Hyper-V and on Microsoft Azure (Implementing a Microsoft Azure Solution).


  1. Why drive not detected without rebooting the server? It is only in this case, or it is a normal for s2d? Windows?

Leave a Reply


Check Also

Patch management of Storage Spaces Direct cluster

A Storage Spaces Direct cluster is based on a Windows Server 2016. Even if you ...

Storage Spaces Direct with triple tiers in Windows Server 2016

Before Technical Preview 5, Windows Server enabled to create Storage Pool with a mix of ...

Storage Quality of Service in Windows Server 2016

To manage the storage performance priority of virtual machines, Microsoft has introduced in Windows Server ...