|
| 1 | +--- |
| 2 | +title: Troubleshoot Site Configuration Issues |
| 3 | +description: Describes how to troubleshoot site configuration issues. |
| 4 | +ms.date: 12/05/2025 |
| 5 | +manager: dcscontentpm |
| 6 | +audience: itpro |
| 7 | +ms.topic: troubleshooting |
| 8 | +ms.reviewer: kaushika, v-ryanberg, v-gsitser |
| 9 | +ms.custom: |
| 10 | +- sap:site configuration and high availability\site configuration issues |
| 11 | +- pcy:WinComm Storage High Avail |
| 12 | +- appliesto: |
| 13 | + - <a href=https://learn.microsoft.com/windows/release-health/windows-server-release-info target=_blank>Supported versions of Windows Server</a> |
| 14 | +--- |
| 15 | +# Troubleshoot site configuration issues |
| 16 | + |
| 17 | +## Summary |
| 18 | + |
| 19 | +This article provides guidance for troubleshooting site configuration issues in Windows Server failover clustering. |
| 20 | + |
| 21 | +Site-aware configuration is essential for disaster recovery and high availability. The process enables optimal distribution of resources and nodes across physical locations (*sites*). Misconfiguration or environmental issues can create various problems, including incorrect resource placement, dependency handling failures, connectivity issues, and impaired disaster recovery. This article helps you to identify and resolve common site configuration issues. |
| 22 | + |
| 23 | +## Prerequisites |
| 24 | + |
| 25 | +- Windows Server failover clustering that's configured and operational |
| 26 | +- Administrator privileges for both Active Directory and the cluster environment |
| 27 | +- Familiarity with tools such as Failover Cluster Manager snap-in, PowerShell, and Active Directory Sites and Services |
| 28 | + |
| 29 | +## Potential workarounds |
| 30 | + |
| 31 | +### Manually assign nodes to the correct site |
| 32 | + |
| 33 | +1. Open PowerShell on the cluster node. |
| 34 | +2. Specify the site for the node: |
| 35 | + |
| 36 | + ```powershell |
| 37 | + |
| 38 | + Set-ClusterFaultDomain -Name -Type Site -Location |
| 39 | +
|
| 40 | + ``` |
| 41 | +
|
| 42 | +3. Verify the assignment: |
| 43 | +
|
| 44 | + ```powershell |
| 45 | + |
| 46 | + Get-ClusterFaultDomain |
| 47 | +
|
| 48 | + ``` |
| 49 | +
|
| 50 | +### Review and update Active Directory subnet mappings |
| 51 | +
|
| 52 | +1. Open Active Directory Sites and Services. |
| 53 | +2. Verify that subnets are correctly mapped to their respective sites. |
| 54 | +3. Avoid overly broad subnet masks (such as `/9`), and make sure that you use precise subnet definitions. |
| 55 | +
|
| 56 | +## Troubleshooting checklist |
| 57 | +
|
| 58 | +### Check cluster site assignment |
| 59 | +
|
| 60 | +- Use Failover Cluster Manager or PowerShell to review site mappings for all nodes. |
| 61 | +- Verify that subnet-to-site relationships are accurate and unambiguous. |
| 62 | +
|
| 63 | +### Check Active Directory subnets and sites |
| 64 | +
|
| 65 | +- To verify the Active Directory site assignment, run the following command on each cluster node: |
| 66 | +
|
| 67 | + ```powershell |
| 68 | + |
| 69 | + nltest /dsgetsite |
| 70 | +
|
| 71 | + ``` |
| 72 | +
|
| 73 | +- Inspect Active Directory for duplicate or excessively broad subnet definitions. |
| 74 | +
|
| 75 | +### Review cluster configuration |
| 76 | +
|
| 77 | +Verify site and fault domain settings in Failover Cluster Manager or PowerShell. |
| 78 | +
|
| 79 | +### Check health and connectivity |
| 80 | +
|
| 81 | +- Verify network communication between sites and nodes. |
| 82 | +- Make sure that firewall and network security rules allow cross-site traffic. |
| 83 | +
|
| 84 | +### Verify site-awareness in the cluster |
| 85 | +
|
| 86 | +- Check resource placement policies and dependency assignments. |
| 87 | +- Review the placement of critical resources across sites. |
| 88 | +
|
| 89 | +### Update and review documentation |
| 90 | +
|
| 91 | +- Make sure that all steps align with Microsoft recommendations for site-aware clusters. |
| 92 | +
|
| 93 | +## Cause: Incorrect automatic site assignment |
| 94 | +
|
| 95 | +### Solution: Manually assign sites and correct Active Directory subnets |
| 96 | +
|
| 97 | +1. Run the following command to manually assign nodes to fault domain sites: |
| 98 | +
|
| 99 | + ```powershell |
| 100 | + |
| 101 | + Set-ClusterFaultDomain -Name -Type Site -Location |
| 102 | +
|
| 103 | + ``` |
| 104 | +
|
| 105 | +2. Review and correct Active Directory subnet definitions. Make sure that you: |
| 106 | +
|
| 107 | + - Remove overly broad subnets. |
| 108 | + - Define precise subnet masks, avoiding configurations that group multiple `/24` subnets under a single broad definition. |
| 109 | +
|
| 110 | +1. Verify the changes: |
| 111 | +
|
| 112 | + ```powershell |
| 113 | + |
| 114 | + Get-ClusterNode |
| 115 | +
|
| 116 | + ``` |
| 117 | +
|
| 118 | +4. To apply the changes, restart the cluster service as necessary. |
| 119 | +
|
| 120 | +## Cause: Inconsistent failover or resource placement |
| 121 | +
|
| 122 | +### Solution: Review fault domains and placement policies |
| 123 | +
|
| 124 | +1. Run the following command, and verify fault domain configurations: |
| 125 | +
|
| 126 | + ```powershell |
| 127 | + |
| 128 | + Get-ClusterFaultDomain |
| 129 | +
|
| 130 | + ``` |
| 131 | +
|
| 132 | + - Make sure that the nodes are correctly grouped under the appropriate sites. |
| 133 | +
|
| 134 | +2. Adjust the resource placement policies using PowerShell or Failover Cluster Manager. Run the following command: |
| 135 | +
|
| 136 | + ```powershell |
| 137 | + |
| 138 | + Set-ClusterGroup -Name -PreferredOwner |
| 139 | +
|
| 140 | + ``` |
| 141 | +
|
| 142 | +3. To validate site-awareness, simulate failover: |
| 143 | +
|
| 144 | + ```powershell |
| 145 | +
|
| 146 | + Move-ClusterGroup -Name -Node |
| 147 | +
|
| 148 | + ``` |
| 149 | +
|
| 150 | +## Cause: Resource dependencies don't honor site assignment |
| 151 | +
|
| 152 | +### Solution: Configure and verify resource dependencies |
| 153 | +
|
| 154 | +1. Set dependencies in Failover Cluster Manager to align with site assignments. |
| 155 | +2. Test cross-site storage and network connectivity for all resources. |
| 156 | +3. Update resource metadata using PowerShell: |
| 157 | +
|
| 158 | + ```powershell |
| 159 | +
|
| 160 | + Set-ClusterResourceDependency -Resource -Dependency "[ResourceA] AND [ResourceB]" |
| 161 | +
|
| 162 | + ``` |
| 163 | +
|
| 164 | +## Cause: Cluster validation fails because of site assignment issues |
| 165 | +
|
| 166 | +### Solution: Update topology and rerun validation tests |
| 167 | +
|
| 168 | +1. Update Active Directory and cluster topology. Make sure that you: |
| 169 | + |
| 170 | + - Verify that each subnet is accurately mapped to a site. |
| 171 | + - Force Active Directory replication to make sure that updates propagate across the environment. |
| 172 | +
|
| 173 | +1. To perform cluster validation tests, run the following command: |
| 174 | +
|
| 175 | + ```powershell |
| 176 | + |
| 177 | + Test-Cluster |
| 178 | +
|
| 179 | + ``` |
| 180 | +
|
| 181 | +3. Resolve errors that are reported in the validation output, and then rerun the tests to verify that all issues are resolved. |
| 182 | +
|
| 183 | +### Commands for advanced troubleshooting and data collection |
| 184 | +
|
| 185 | +**View cluster fault domains** |
| 186 | +
|
| 187 | +```powershell |
| 188 | + |
| 189 | + Get-ClusterFaultDomain |
| 190 | +
|
| 191 | +``` |
| 192 | + |
| 193 | +**Manually assign sites** |
| 194 | + |
| 195 | +```powershell |
| 196 | + |
| 197 | +Set-ClusterFaultDomain -Name -Type Site -Location |
| 198 | +
|
| 199 | +``` |
| 200 | + |
| 201 | +**Verify Active Directory site assignment** |
| 202 | + |
| 203 | +```powershell |
| 204 | +
|
| 205 | + nltest /dsgetsite |
| 206 | +
|
| 207 | +``` |
| 208 | + |
| 209 | +**Generate cluster logs** |
| 210 | + |
| 211 | +```powershell |
| 212 | + |
| 213 | + Get-ClusterLog -Node -TimeSpan |
| 214 | +
|
| 215 | +``` |
| 216 | + |
| 217 | +**Run cluster validation tests** |
| 218 | + |
| 219 | +```powershell |
| 220 | + |
| 221 | + Test-Cluster |
| 222 | +
|
| 223 | +``` |
| 224 | + |
| 225 | +### Collect event logs |
| 226 | + |
| 227 | +Use Event Viewer to export logs. Be sure to filter for FailoverClustering, system event logs, and Application event logs. |
| 228 | + |
| 229 | +### Common issues quick reference table |
| 230 | + |
| 231 | +| Symptom | Likely cause | Resolution steps | Command or tool | |
| 232 | +| --- | --- | --- | --- | |
| 233 | +| Nodes assigned to the wrong site | Broad Active Directory subnet masks | Manually assign sites and review Active Directory subnet mapping | `Set-ClusterFaultDomain`, `nltest` | |
| 234 | +| Resources don't fail over to correct site | Misconfigured placement policies | Review fault domains and simulate failover | `Get-ClusterFaultDomain`, `Move-ClusterGroup` | |
| 235 | +| Resource dependencies not honored by site | Dependency misconfiguration | Configure dependencies and verify resource locality | Failover Cluster Manager, `Set-ClusterResourceDependency` | |
| 236 | +| Cluster validation errors on site or subnets | Incorrect Active Directory or subnet configuration | Update Active Directory topology and rerun validation tests | `Test-Cluster`, Active Directory Sites and Services | |
| 237 | + |
| 238 | +## References |
| 239 | + |
| 240 | +- [Fault domain awareness](/windows-server/failover-clustering/fault-domains) |
0 commit comments