Event ID 1250

Fix Cluster Resource Rebalancing Failure on Windows Server 2022

Server & Cloud Intermediate 👁 7 views 📅 Jul 3, 2026

Cluster resource rebalancing fails when nodes drift or fail to communicate. This often happens after patching or network changes. Here's how to fix it fast.

1. Quorum Not Set Correctly

This one trips up most people. When you patch nodes or change the witness, the cluster might not know which node is the boss. Without a clear quorum, rebalancing just sits there.

I've seen this happen after a node loses power during a patch cycle. The cluster tries to rebalance resources but fails because it can't agree on a leader.

Check the quorum status:

Get-ClusterQuorum

If it says NodeMajorty with no witness, that's fine for a 3-node cluster. But if you have 2 nodes and no witness, you'll get stuck every time.

Fix it:

  1. Open Failover Cluster Manager.
  2. Right-click the cluster, choose More Actions > Configure Cluster Quorum Settings.
  3. Pick a witness—file share or cloud witness works well. I prefer file share if you have a NAS that's always on.
  4. Run this PowerShell to force it:
Set-ClusterQuorum -NodeMajority -FileShareWitness \\your-nas\witness

After you set the witness, run Get-ClusterResource to check if rebalancing starts moving resources again. It won't fix the problem right away—give it 30 seconds. Then run Get-ClusterNode | Select-Object Name, State to see if all nodes are up.

"Don't skip the witness on 2-node clusters. I've seen admins fight rebalancing for hours only to find no witness configured."

2. Network Configuration Conflicts

Another common cause: nodes can't talk to each other on the heartbeat network. This happens after you change IP addresses or add a new network adapter.

For example, you add a new VLAN for storage and suddenly rebalancing fails. It's because the cluster heartbeat runs on a different subnet now, and the nodes don't know which path to use.

Diagnose the issue:

Get-ClusterNetwork | Format-Table Name, Role, Status

Look for a network with role ClusterAndClient that should be ClusterOnly. Or a network stuck at InvalidConfiguration.

Fix it:

  1. Identify the correct heartbeat network (usually a private subnet like 10.10.10.x).
  2. Set it to ClusterOnly:
Get-ClusterNetwork "Heartbeat" | Set-ClusterNetwork -Role ClusterOnly
  1. Make sure all nodes have the same NIC priority for heartbeat. In Network Settings, move the heartbeat NIC to the top.

Also check DNS. The cluster name must resolve to the correct IP. Test with Resolve-DnsName on each node. If you find mismatched records, flush DNS with ipconfig /flushdns and update the A record.

3. Disk Latency or Storage Timeout

This one sneaks up on you. Rebalancing fails because disks respond slowly or time out. Your storage might be overloaded, or the fiber channel path is congested.

I've seen this on a cluster with 50 VMs running on a single SAN controller. The disks looked fine in performance monitor, but rebalancing threw Event ID 1250 with a storage timeout.

Check for slow disks:

Get-ClusterResource | Where-Object {$_.ResourceType -eq "Physical Disk"} | Get-ClusterParameter

Look at the TimeOutValue—default is 60 seconds. If disks are slower than that, rebalancing fails.

Fix it:

  1. Increase the timeout for the specific disk resource to 120 seconds:
Get-ClusterResource "Cluster Disk 1" | Set-ClusterParameter -Name TimeOutValue -Value 120
  1. Run Get-StorageSubSystem to check if the storage array reports any errors. If you see latency above 20ms, you need to optimize the SAN.
  2. I recommend moving less critical VMs to another datastore to reduce load.

Also, check if the cluster disk ownership is stuck on one node. Run Get-ClusterResource | Select-Object Name, OwnerNode. If all disks are on the same node, manual rebalance might be needed:

Move-ClusterResource "Cluster Disk 1" -Node Node2

Then let automatic rebalancing kick in again.

Quick-Reference Summary Table

Cause Check This Fix It With Time to Fix
Quorum not set Get-ClusterQuorum Add a witness via GUI or PowerShell 5 minutes
Network conflict Get-ClusterNetwork Set heartbeat network to ClusterOnly 10 minutes
Disk latency Get-ClusterParameter Increase TimeOutValue or reduce storage load 15 minutes

Most of the time, the fix is one of these three. If none works, you might have a broken cluster resource dependency—but that's rare. Start with #1 and work down. You'll chase it down in under 30 minutes.

Was this solution helpful?