Windows Server  ·  critical  ·  Failover clustering & Hyper-V

The cluster will not start — quorum lost, event 1177

Not enough votes are available, so the cluster shuts down rather than risk two halves running independently.

What you see

The cluster service stops on every node and will not start. Event 1177 says quorum was lost.

What is actually wrong

More than half the votes are unavailable — nodes down, the witness gone, or a network partition that has split the cluster.

Codes and articles

Event 1177Event 1069Event 1573quorumforcequorumThe cluster service is shutting down

Fixes (3)

Restore or replace the witness
Elevated PowerShell on a node40 minutesmedium riskreversible

The witness is the missing vote.

  1. Check the current quorum configuration and node votes.

    PowerShell
    Get-ClusterQuorum | Format-List Cluster,QuorumResource,QuorumTypeGet-ClusterNode | Format-Table Name,State,NodeWeight,DynamicWeight
  2. If the witness is a file share, check the share is reachable and the cluster name object still has permission on it.

    PowerShell
    Test-Path '\\fileserver\clusterwitness'Get-SmbShareAccess -Name clusterwitness -CimSession fileserver

    The cluster name object needs full control on the witness share. A file server rebuild or a permissions tidy-up removes it, and the cluster carries on with one fewer vote until the day a node reboots.

  3. Reconfigure the witness.

    PowerShell
    Set-ClusterQuorum -FileShareWitness '\\fileserver\clusterwitness'
  4. A cloud witness is a better choice for a two-node cluster with no reliable third location.

    PowerShell
    Set-ClusterQuorum -CloudWitness -AccountName 'storageaccount' -AccessKey 'key'
  5. Confirm dynamic quorum is enabled, which lets the cluster survive sequential node failures.

    PowerShell
    (Get-Cluster).DynamicQuorum(Get-Cluster).WitnessDynamicWeight
Confirm it workedThe witness has a vote and the cluster reports quorum healthy.
PowerShell
Get-ClusterQuorum | Format-ListGet-ClusterNode | Format-Table Name,State,NodeWeight
If you need to undo itSet-ClusterQuorum -NodeMajority returns to the previous model.
Force quorum to bring the cluster back
Elevated PowerShell on the surviving node40 minuteshigh riskreversible

Enough nodes are genuinely lost that quorum cannot be reached. Read the warning first.

  1. Be certain the other nodes are genuinely down and not merely unreachable. Forcing quorum while another partition is also running produces two clusters writing to the same storage.

    This is the split-brain scenario the quorum mechanism exists to prevent, and it is the one way to make a bad outage into data loss. Confirm the other nodes are powered off, not just unreachable.

  2. Confirm the state of every node before forcing anything.

    PowerShell
    Get-ClusterNode | Format-Table Name,StateTest-NetConnection node02 -Port 3343
  3. Start the cluster service with quorum forced on the surviving node.

    PowerShell
    Start-ClusterNode -Name node01 -FixQuorum
  4. Give the surviving node full weight so the cluster is stable while the others are down.

    PowerShell
    (Get-ClusterNode node01).NodeWeight = 1Get-ClusterNode | Where-Object Name -ne 'node01' | ForEach-Object { $_.NodeWeight = 0 }
  5. Bring the other nodes back one at a time, restoring their weight as each joins.

    PowerShell
    Start-ClusterNode -Name node02(Get-ClusterNode node02).NodeWeight = 1
  6. Restore the normal quorum configuration once every node is back.

    PowerShell
    Get-ClusterNode | ForEach-Object { $_.NodeWeight = 1 }Get-ClusterQuorum
Confirm it workedAll nodes are Up with equal weight and the cluster validates.
PowerShell
Get-ClusterNode | Format-Table Name,State,NodeWeightTest-Cluster -Node (Get-ClusterNode).Name -Include 'Inventory','Network','System Configuration'
If you need to undo itWeights can be reset. The forced start itself cannot be undone, which is why the confirmation in step one matters.
Repair the cluster network
Elevated PowerShell60 minutesmedium riskreversible

Nodes are running but cannot see each other.

  1. Look at the cluster networks and their roles.

    PowerShell
    Get-ClusterNetwork | Format-Table Name,State,Role,Address,AddressMaskGet-ClusterNetworkInterface | Format-Table Name,Node,Network,State
  2. Test the cluster heartbeat port between nodes.

    PowerShell
    Test-NetConnection node02 -Port 3343 -InformationLevel Detailed

    Cluster communication is UDP 3343 with a TCP fallback. A firewall change or a VLAN alteration that blocks it partitions the cluster while every other kind of traffic keeps working, which makes it look like a cluster fault rather than a network one.

  3. Check the heartbeat thresholds — on a busy or virtualised cluster the defaults can be too tight.

    PowerShell
    Get-Cluster | Format-List SameSubnetDelay,SameSubnetThreshold,CrossSubnetDelay,CrossSubnetThreshold
  4. Check for a network adapter that has been reconfigured, or a teaming change that dropped the cluster network.

    PowerShell
    Get-NetAdapter | Format-Table Name,Status,LinkSpeed,InterfaceDescriptionGet-ClusterNetwork | Where-Object State -ne 'Up' | Format-List
  5. Run the validation report for the network only — it is quick and does not disrupt running roles.

    PowerShell
    Test-Cluster -Node node01,node02 -Include 'Network' -ReportName C:\clusternet
  6. Check the cluster log for the moment of the partition.

    PowerShell
    Get-ClusterLog -TimeSpan 30 -Destination C:\clusterlogs
Confirm it workedEvery cluster network is Up and the validation report has no network failures.
PowerShell
Get-ClusterNetwork | Format-Table Name,State,Role
If you need to undo itCluster network roles can be set back with Set-ClusterNetwork.

Where this stops. This write-up was written and checked by hand. It says what each step changes, how to confirm it worked and how to reverse it, and anything destructive is flagged before you reach it. If it does not match what your machine is doing, search the Support Centre for the exact code or message — and when something needs a person, get in touch.