Balancing storage after drive upgrade in S2D

Micheal Brown 45 Reputation points
2026-09-04T09:08:04.1133333+00:00

Hey

We recently replaced several 2TB capacity HDDs with larger 8TB drives in our Storage Spaces Direct (S2D) cluster. After the upgrade, the new storage space remained unallocated, which has led to capacity starvation across the cluster.

Even though the physical drives show the additional capacity, the cluster does not automatically rebalance or redistribute the storage slabs to make use of it. The technical issue seems to be that the pool metadata has not been optimized to recognize the new drive sizes.

How can we correctly run Optimize-StoragePool to redistribute storage slabs evenly across all drives and ensure the cluster takes full advantage of the new capacity ?

Windows for business | Windows 365 Business
0 comments No comments

2 answers

Sort by: Newest
  1. Chen Tran 12,770 Reputation points Independent Advisor
    2026-09-04T10:21:49.9433333+00:00

    Hello Micheal,

    Thank you for posting question on Microsoft Windows Forum!

    Based on the issue description. Well! The plausible explanation to symptom is that when you replace smaller HDDs with larger ones (such as 2 TB → 8 TB) in a Storage Spaces Direct (S2D) cluster, the new capacity is not automatically utilized until the pool metadata is updated and slabs are redistributed.

    To force S2D to utilize the new 8TB drives and eliminate capacity starvation, you must manually rebalance the pool using the Optimize-StoragePool cmdlet. This moves existing data slabs evenly across all available disks based on their new capacity. For more information https://learn.microsoft.com/en-us/powershell/module/storage/optimize-storagepool?view=windowsserver2025-ps

    Please note: Slab redistribution generates significant backend storage traffic. It is best practice to initiate Optimize-StoragePool outside of peak production hours to prevent performance degradation for your virtual machines. Also, never let your S2D cluster get completely to 100% full before doing this. Optimize-StoragePool requires at least a small amount of working space to successfully shuffle slabs around.

    For further reference.

    Hope the above information is helpful!

    Was this answer helpful?

    0 comments No comments

  2. AI answer

    2026-09-04T09:08:21.5466667+00:00

    Run the storage pool optimization manually. Optimize-StoragePool rebalances Spaces allocations in a pool to disks with available capacity, which is the supported way to redistribute slabs after adding capacity or changing fault domains. Note that this operation is I/O intensive.

    Use PowerShell:

    Get-StoragePool
    Optimize-StoragePool -FriendlyName <StoragePoolName>
    

    If the pool name is not known, Get-StoragePool returns it first. In S2D and Failover Cluster environments, Storage module cmdlets operate at the cluster level across all servers in the cluster.

    For an S2D pool, this pattern is also documented:

    Get-StoragePool S2D* | Optimize-StoragePool
    

    After starting the optimization, monitor progress with:

    Get-StorageJob
    

    Recommended checks if capacity still does not rebalance as expected:

    1. In Server Manager or PowerShell, verify the health and operational states of the storage pools and other S2D components.
    2. In Event Viewer, review Storage Spaces Direct warnings or errors.
    3. Verify drive firmware is current and storage controller and drive drivers are updated to supported versions.
    4. If changes are made, test performance and compare with earlier measurements.

    If the pool uses HDD drives, manual defragmentation is listed as a maintenance step. Do not do this for SSD pools, because defragmentation can reduce SSD lifespan and performance.


    AI-generated content may be incorrect. Read our transparency notes for more information.

    Was this answer helpful?

Your answer

Answers can be marked as 'Accepted' by the question author and 'Recommended' by moderators, which helps users know the answer solved the author's problem.