Storage Spaces Direct Needs Rebalance

When you write or delete a lot of data in your storage pool it could be that your volumes end up with the operational status of “Needs Rebalance”

Needs rebalance

This operation needs to be executed by the Administrator (Yes, i’m pointing at you right now) when your disks need a rebalance.
You can use the following Powershell cmdlet to do so:

$UniqueId = (Get-StoragePool | Where {$_.IsPrimordial -eq $false}).UniqueId
Optimize-StoragePool -UniqueId $UniqueId

The output will be a progress bar for the optimization job:


You could also use the “Get-StorageJob” cmdlet to show the status of the job:


After the job is completed, everything is ok:

S2D Storage Pools

Happy days!

Thank you for reading my blog.
If you have any questions or feedback, leave a comment or drop me an email.

Darryl van der Peijl


5 thoughts to “Storage Spaces Direct Needs Rebalance”

  1. Thanks for the article Darryl. We have a problem where every time we pause then resume a node, or remove and replace a disk (still containing all data), the virtual disk status is ‘Warning, Needs Rebalance’. It then proceeds to initiate a repair job for the entire capacity volume, taking several hours. Could you shed some light on whether this can be avoided in any way?


    1. Hi Reshad,

      Are you sure it says “Needs Rebalance” and not “Degraded”?
      When a node is paused, data is changing on the other nodes which have to be replicated again, this will cause a repair job to kick in. Based on the churn of data it will take the time needed.

      The “Needs Rebalance” status is caused when data is fragmented to much.

  2. Hi Darryl

    I expanded our 4-node cluster to 6-nodes last weekend and it triggered a Optimize and Rebalance Storage Job. But after 2 days the job is on 99% and seems to never finish, because the Bytestotal seems to grow every couple of minutes and the BytesProcessed just never catches up.

    The healthstatus of the pool is Healthy btw. Not sure if is was on ‘needs rebalance’ earlier.

    Do I need more patience ?

    Thanks, Richard

    1. Hi Richard,

      If the “BytesTotal” keeps growing, it does mean S2D sees blocks that need to be rebalanced.
      I think patience is a must here, keep in mind it’s a background job and does not eat up all your IOPS.


Leave a Reply

Your email address will not be published. Required fields are marked *