Get Postgres Tips and Tricks
Subscribe to get advanced Postgres how-tos.
The Cluster Members File¶
Each node in a Failover Manager cluster has a cluster members file (by
default, named efm.nodes) that contains a list of the current Failover
Manager cluster members. When an agent starts, it uses the file to locate
other cluster members. The Failover Manager installer creates a file
template for the cluster members file named efm.nodes.in
in the
/etc/edb/efm-4.0
directory.
After completing the Failover Manager installation, you must make a working copy of the template:
# cp /etc/edb/efm-4.0/efm.nodes.in /etc/edb/efm-4.0/efm.nodes
After copying the template file, change the owner of the file to efm
:
chown efm:efm efm.nodes
By default, Failover Manager expects the cluster members file to be
named efm.nodes
. If you name the cluster members file something other
than efm.nodes
, you must modify the Failover Manager service script to
instruct Failover Manager to use the new name.
The cluster members file on the first node started can be empty; this node will become the Membership Coordinator. On each subsequent node, the cluster member file must contain the address and port number of the Membership Coordinator. Each entry in the cluster members file must be listed in an address:port format, with multiple entries separated by white space.
The Membership Coordinator will update the contents of the efm.nodes
file to match the current members of the cluster. As agents join or
leave the cluster, the efm.nodes
files on other agents are updated to
reflect the current cluster membership. If you invoke the
efm stop-cluster command, Failover Manager
does not modify the file.
If the Membership Coordinator leaves the cluster, another node will assume the role. You can use the efm cluster-status command to find the address of the Membership Coordinator. If a node joins or leaves a cluster while an agent is down, you must manually ensure that the file includes at least the current Membership Coordinator.
If you know the IP addresses and ports of the nodes that will be joining
the cluster, you can include the addresses in the cluster members file
at any time. At startup, any addresses that do not identify cluster
members will be ignored unless the auto.allow.hosts
property (in the
cluster properties file) is set to true
.
If the stable.nodes.file
property (located in the
cluster properties file) is set to true
,
the Membership Coordinator will not update the .nodes
file when cluster
members join or leave the cluster; this behavior is most useful when the
IP addresses of cluster members do not change often.