Using Failover Manager for high availability v9
Note
This procedure is for setting up Failover Manager for a PEM server with a new installation, not with an existing one. The provided commands apply to the configuration on RHEL-based systems where HTTPD is used for the web server services.
Postgres Enterprise Manager (PEM) helps database administrators, system architects, and performance analysts to administer, monitor, and tune Postgres database servers.
Failover Manager is a high-availability tool from EDB that enables a Postgres primary node to failover to a standby node during a software or hardware failure on the primary.
The examples that follow use these IP addresses:
- 172.16.161.200 - PEM Primary
- 172.16.161.201 - PEM Standby 1
- 172.16.161.202 - PEM Standby 2
- 172.16.161.203 - EFM Witness Node
- 172.16.161.245 - PEM VIP (used by agents and users to connect)
The following must use the VIP address:
- The PEM agent binding of the monitored database servers
- Accessing the PEM web client
- Accessing the webserver services
Initial product installation and configuration
Install the following on the primary and one or more standbys:
- EDB Postgres Advanced Server (backend database for PEM Server)
- PEM server
- EDB Failover Manager 4.1
Refer to the installation instructions in the product documentation using these links or see the instructions on the EDB repos website. Replace
USERNAME:PASSWORD
with your username and password in the instructions to access the EDB repositories.Make sure that the database server is configured to use the scram-sha-256 authentication method, as the PEM server configuration script doesn't work with trust authentication.
You must install the
java-1.8.0-openjdk
package to install EFM.Configure the PEM server on the primary server as well as on all the standby servers with an initial configuration of type 1 (web services and database):
For more detail on configuration types see, Configuring the PEM server on Linux.
Add the following ports in the firewall on the primary and all the standby servers to allow the access:
8443
for PEM Server (https)5444
for EPAS 137800
for EFM7908
for EFM Admin
For example:
Set up the primary node for streaming replication
Create the replication role:
Give the password of your choice.
Configure the following in the
postgresql.conf
file:For more information on configuring parameters for streaming replication, see the PostgreSQL documentation.
Note
The configuration parameters might differ for different versions of the database server. You can email EDB Support at techsupport@enterprisedb.com for help with setting up these parameters.
Add the following entry in the host-based authentication (
/var/lib/edb/as13/data/pg_hba.conf
) file to allow the replication user to connect from all the standbys:Note
You can change the cidr range of the IP address, if needed.
Modify the host-based authentication (
/var/lib/edb/as13/data/pg_hba.conf
) file for the pem_user role to connect to all databases using the scram-sha-256 authentication method:Restart the EPAS 13 server.
Set up the standby nodes for streaming replication
Stop the service for EPAS 13 on all the standby nodes:
Note
This example uses the pg_basebackup utility to create the replicas of the PEM backend database server on the standby servers. When using pg_basebackup, you need to stop the existing database server and remove the existing data directories.
Remove the data directory of the database server on all the standby nodes:
Create the
.pgpass
file in the home directory of the enterprisedb user on all the standby nodes:Take the backup of the primary node on each of the standby nodes using pg_basebackup:
The
backup
command creates thepostgresql.auto.conf
andstandby.signal
files on the standby nodes. Thepostgresql.auto.conf
file has the following content: