Use a structured check in this order: verify whether background repair or rebalance is still running, inspect disk/resource distribution, collect performance data, and only then trigger a controlled rebalance.
- Check whether storage repair or rebalance jobs are still active
If the node was recently replaced, uneven resource usage can be temporary while Storage Spaces Direct background jobs are still running.
Run:
Get-StorageJob
This shows whether repair or rebalance activity is in progress. If jobs are active, uneven usage can be expected until they complete.
- Inspect physical disk usage and remaining capacity
To identify whether capacity is unevenly distributed across disks or nodes, run:
Get-PhysicalDisk | Select FriendlyName, OperationalStatus, HealthStatus, Usage, Size, MediaType, SizeRemaining
Review for:
- disks with much lower
SizeRemaining - unhealthy or degraded disks
- disks not being used as expected
- Start a manual rebalance if the pool remains uneven
If the environment remains imbalanced after replacement and no blocking issue is found, a manual rebalance can be started:
Optimize-StoragePool -FriendlyName "S2D on <ClusterName>"
This is the supported PowerShell action mentioned for rebalancing storage placement.
- If faster recovery is required, increase storage job throughput carefully
By default, repair and rebalance jobs run with low priority to reduce impact on production workloads. Throughput can be increased temporarily:
Get-StorageSubSystem | Set-StorageSubSystem -ThrottleLimit 100
Or raise the priority of a running job:
Get-StorageJob | Set-StorageJob -Priority High
Risk: this can increase I/O and CPU consumption and affect live workloads. Use it during a maintenance window or when workload impact is acceptable.
- Collect performance evidence before and after rebalancing
Use Performance Monitor to focus on disk I/O and latency. This is specifically recommended for collecting performance data when diagnosing cluster and storage performance issues. Event Viewer data covering the problem period should also be collected.
Useful data to gather:
- Event Viewer logs from the affected period
- performance data focused on disk I/O and latency
- recent configuration changes related to the cluster or storage environment
- firmware and driver versions for storage components
- Check for hardware or driver causes if imbalance persists
After node replacement, persistent degradation can also come from storage hardware, controller cache issues, or outdated firmware and drivers. Review:
- storage controller and cache health
- firmware and driver versions
- any faulty storage hardware detected by vendor diagnostics
If diagnostics show hardware faults, replace the affected component before attempting further balancing.
- Use a simple performance analysis model during troubleshooting
Break the system into these logical areas while reviewing PerfMon data:
- memory
- storage
- CPU
- network
This helps determine whether the degradation is truly storage placement related or whether CPU, memory, or network contention is the main bottleneck.
- If the issue is still unresolved
Collect logs and performance data, then escalate with:
- Event Viewer exports
- PerfMon data
- storage diagnostic reports
- cluster-related logs if applicable
- Azure Local 3-way mirroring - Microsoft Q&A
- I want to adjust storage job priority levels which will speed up storage rebalancing in our S2D cluster. - Microsoft Q&A
- Troubleshoot slow startup and performance issues on a failover cluster that runs SQL Server
- Scenario guide: Troubleshoot performance problems in Windows
- Monitor Windows Server performance