1. Stale DNS Records are the Usual Suspect
I've seen this error more times than I can count. 9 times out of 10, you're trying to add an IP address to a cluster resource and the DNS record for that IP still exists from a previous cluster or old server. Windows Failover Cluster checks DNS before it lets you add the IP.
How to fix it
- Open DNS Manager on your domain controller.
- Find the forward lookup zone for your domain.
- Delete the A record and PTR record that match the IP address you're adding.
- If you can't find it, run this from a command prompt:
nslookup <IP_ADDRESS> - It'll tell you the hostname. Delete that record.
- Wait for DNS replication (or force it with
), then try adding the IP again.repadmin /syncall
Real-world trigger: You just decommissioned a physical server that had that IP, but left its DNS record alive. Cluster won't touch a 'claimed' IP.
2. Subnet Mismatch Between the IP and Cluster Network
Your cluster has a set of defined networks. Each IP you add must fall into one of those network's subnets. If the IP is on a subnet the cluster doesn't know about, you get this error.
Check which networks your cluster sees
Run this PowerShell as admin on a cluster node:
Get-ClusterNetwork | Select-Object Name, Address, Mask, RoleThat shows you the cluster's network list. If your IP is, say, 192.168.10.50/24 and you only see 192.168.20.0/24 and 172.16.0.0/16, you've got a mismatch.
Fix options
- Add the missing network: If the subnet exists on your physical network, add it to the cluster. In Failover Cluster Manager, go to Networks, right-click, and choose 'Add Network'. Or use PowerShell:
Add-ClusterNetwork -Name "NewNetwork" -Address 192.168.10.0 -Mask 255.255.255.0 - Change the IP: If you don't want that subnet in the cluster, pick an IP from an already-configured subnet.
- Verify NIC binding: Make sure the node's network interface for that subnet is set to 'Cluster' in Network Connections. If it's on 'Public' or 'Private', the cluster ignores it.
Real-world trigger: Someone added a new VLAN for storage traffic and you're trying to use it for client IPs. Cluster networks don't auto-detect every subnet.
3. Corrupted Cluster Resource or Pending State
Less common, but nasty. A cluster resource (like an IP address resource) might be stuck in a pending state or have corrupted properties. This prevents new IPs from being added.
How to identify it
Check for resources in 'Pending' or 'Failed' state using:
Get-ClusterResource | Where-Object {$_.State -ne 'Online'}If you see any IP address resources stuck, remove them properly.
Fix it
- Take the resource offline if it's not already:
Stop-ClusterResource <ResourceName> - Remove it:
Remove-ClusterResource <ResourceName> - Check for orphaned physical disk resources that reference that IP — remove those too.
- Reboot the cluster node that owns the resource group.
- Try adding the IP again.
If removal fails, you might need to use the WMI method. Run this PowerShell to force removal:
Get-ClusterResource <ResourceName> | % { $_.Delete() }That bypasses normal checks. Use it only if the normal remove fails.
Real-world trigger: A previous admin tried to add an IP, it errored out, and left a zombie resource. Months later, someone else gets the same error.
Quick-Reference Summary Table
| Cause | What to Check | Fix Command/Tool |
|---|---|---|
| Stale DNS record | DNS A and PTR records for the IP | Delete from DNS Manager or nslookup |
| Subnet mismatch | Cluster networks list vs. IP subnet | Get-ClusterNetwork / Add-ClusterNetwork |
| Corrupted resource | Resources in 'Pending' or 'Failed' state | Remove-ClusterResource / WMI delete |