A cluster is configured as an ordered list of GSS instances. In normal operation, the primary node is Active while other nodes are Passive. The active node sends a regular heartbeat message to passive nodes through UDP and the passive nodes send a reply if they are online.
The active node regularly checks that it can access the Primary DNS server for the health-check zone and sends a DNS update to signal that a server is still active when heartbeat communication fails.
While the heartbeat traffic is seen on all nodes as expected and the active node can reach the DNS server, the nodes continue to operate in this state.
- If DNS has been updated by the active node after the last successful communication with the active server, the server remains Passive.
- If DNS has not been updated due to the issues with the Active server, this Candidate server updates the timestamp in DNS and changes to an Active state. In the Active state, the server sends heartbeat traffic to the other nodes.
The nodes in the cluster are configured as an ordered list where the first node has the highest priority. When all nodes lose connectivity with the Active node, the nodes first mode to a Candidate state. The node with the highest priority checks DNS first and changes to an Active state if the timestamp in DNS has not been updated. Lower priority nodes wait longer to allow time for the higher priority nodes to update DNS and restart the heartbeat traffic.
In the event that the Active node is unable to reach the Primary DNS server, the Active node moves to a Passive state. Heartbeat traffic stops, triggering the promotion of a Passive node. New heartbeat traffic starts from the new Active node.