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