π ~1 min read
Table of contents
Symptom & Impact
The Failover Cluster service (clussvc) on Windows Server 2019 hangs in a Starting state, preventing the node from joining the cluster. Highly available roles do not start, witness quorum becomes uncertain, and cluster validation tooling fails.
Environment & Reproduction
Reproduce after storage replication issues, witness loss, or a corrupted cluster database. Inspect ClusterLog and System events.
Get-Service -Name cluster
Get-WinEvent -LogName System -MaxEvents 40
Get-HotFix | Sort-Object InstalledOn -Descending | Select-Object -First 10
Root Cause Analysis
Causes include unreachable cluster witness, corrupt cluster database, ACL drift on the cluster registry hive, or networking changes that break heartbeat.
Quick Triage
Capture clussvc state, witness type and health, and the most recent cluster error event before remediation.
sc.exe query cluster
Get-Service -Name cluster | Select-Object Status,StartType
Get-EventLog -LogName System -Newest 30 | Where-Object {$_.Source -match 'cluster'}
Step-by-Step Diagnosis
Generate ClusterLog and inspect Cluster events for the join failure entries.
Get-WinEvent -LogName System -MaxEvents 50 | Where-Object {$_.ProviderName -match 'cluster'} | Select TimeCreated,Id,LevelDisplayName,Message
sc.exe qfailure cluster
sfc /verifyonly

Solution β Primary Fix
Restore witness availability, repair networking, and start clussvc with the cluster database forced if needed.
Still having issues? Our IT Solutions & Services team can diagnose and resolve this for you. Get in touch for a free consultation.
Restart-Service -Name cluster -Force
Get-Service -Name cluster | Select-Object Status,StartType
Get-WinEvent -LogName System -MaxEvents 20 | Where-Object {$_.ProviderName -match 'cluster'}

Solution β Alternative Approaches
If the cluster database is unrecoverable on the node, evict and rejoin the node to inherit the current cluster state.
sc.exe config cluster start= auto
sc.exe failure cluster reset= 86400 actions= restart/60000/restart/60000/run/1000
Restart-Service -Name cluster -Force
Verification & Acceptance Criteria
Node joins the cluster, all owned roles come online, and validation tooling returns no critical issues.
Get-Service -Name cluster
Get-WinEvent -LogName System -MaxEvents 25 | Where-Object {$_.ProviderName -match 'cluster' -and $_.LevelDisplayName -eq 'Error'}
Test-NetConnection -ComputerName localhost -Port
Rollback Plan
Restore the prior cluster database from an Active Directory or file backup if the rejoin step loses configuration.
Get-HotFix | Sort-Object InstalledOn -Descending | Select-Object -First 5
wbadmin get versions
# Restore previous configuration export if available
Prevention & Hardening
Protect the witness, document cluster IPs, and back up the cluster database on a regular schedule.
Get-Service -Name cluster | Export-Clixml C:/Temp/cluster-baseline.xml
Get-WinEvent -LogName System -MaxEvents 50 > C:/Temp/cluster-events.txt
Get-ScheduledTask | Where-Object {$_.TaskName -match 'cluster'}
Related Errors & Cross-Refs
Related to events 1135, 1564, and 1006 from FailoverClustering.
Related tutorial: View the step-by-step tutorial for Windows Server 2019.
View all Windows Server 2019 tutorials on the Tutorials Hub β
Browse all common problems & solutions on the Tutorials Hub.
References & Further Reading
Microsoft Learn references for Failover Clustering recovery on Windows Server 2019.
Need Expert Help?
If you cannot resolve this yourself, our team offers hands-on Server Management, Managed IT Services, and flexible Support Plans. Contact us today β we respond within one business day.