Upgrading an Existing Cluster¶
Failover Manager provides a utility to assist you when upgrading a Failover Manager cluster. To upgrade an existing cluster, you must:
Install Failover Manager 4.0 on each node of the cluster. For detailed information about installing Failover Manager, see Installing Failover Manager.
After installing Failover Manager, invoke the
efm upgrade-confutility to create the
.nodesfiles for Failover Manager 4.0. The Failover Manager installer installs the upgrade utility (efm upgrade-conf) to the
/usr/edb/efm-4.0/bin directory. To invoke the utility, assume root privileges, and invoke the command:
efm upgrade-conf <cluster_name>
upgrade-confutility locates the
.nodesfiles of pre-existing clusters and copies the parameter values to a new configuration file for use by Failover Manager. The utility saves the updated copy of the configuration files in the
.nodesfiles for EFM 4.0, specifying any new preferences.
Use your choice of editor to modify any additional properties in the properties file (located in the
/etc/edb/efm-4.0directory) before starting the service for that node. For detailed information about property settings, see The Cluster Properties File .
As of version 3.6,
db.bin is a required property. When modifying the properties file, ensure that the
db.bin property specifies the location of the Postgres
Use a version-specific command to stop the old Failover Manager cluster; for example, you can use the following command to stop a version 3.10 cluster:
/usr/efm-3.10/bin/efm stop-cluster efm
Start the new Failover manager service (
edb-efm-4.0) on each node of the cluster.
The following example demonstrates invoking the upgrade utility to
.nodes files for a Failover Manager
[root@localhost efm-4.0]# /usr/edb/efm-4.0/bin/efm upgrade-conf efm Checking directory /etc/edb/efm-3.10 Processing efm.properties file The following properties were added in addition to those in previous installed version: notification.text.prefix encrypt.agent.messages standby.restart.delay The following properties were renamed from those in previous installed version: stop.failed.master => stop.failed.primary master.shutdown.as.failure => primary.shutdown.as.failure script.master.isolated => script.primary.isolated stop.isolated.master => stop.isolated.primary reconfigure.sync.master => reconfigure.sync.primary Checking directory /etc/edb/efm-3.10 Processing efm.nodes file db.password.encrypted re-encoded with stronger encryption. Upgrade of files is finished. The owner and group for properties and nodes files have been set as 'efm'. [root@localhost efm-4.0]#
If you are using a Failover Manager configuration without sudo,
-source flag and specify the name of the directory in which the
configuration files reside when invoking
upgrade-conf. If the directory is not
the configuration default directory, the upgraded files will be created in the directory
from which the
upgrade-conf command was invoked.
Please note: : If you are using a custom service script or unit file, you must manually update the file to reflect the new Failover Manager service name when you perform an upgrade.
Un-installing Failover Manager¶
After upgrading to Failover Manager 4.0, you can use your native package manager to remove previous installations of Failover Manager. For example, use the following command to remove Failover Manager 3.10 and any unneeded dependencies:
On RHEL or CentOS 6.x or 7.x:
yum remove edb-efm310
On RHEL or CentOS 8.x:
dnf remove edb-efm310
On Debian or Ubuntu:
apt-get remove edb-efm310
zypper remove edb-efm310
Performing a Database Update (Minor Version)¶
This section describes how to perform a quick minor database version upgrade. You can use the steps that follow to upgrade from one minor version to another (for example, from 10.1.5 to version 10.2.7), or to apply a patch release for a version.
You should first update the database server on each Standby node of the Failover Manager cluster. Then, perform a switchover, promoting a Standby node to the role of Primary within the Failover Manager cluster. Then, perform a database update on the old primary node.
On each node of the cluster you must perform the following steps to update the database server:
Stop the Failover Manager agent.
Stop the database server.
Update the database server.
Start the database service.
Start the Failover Manager agent.
For detailed information about controlling the Advanced Server service, or upgrading your version of Advanced Server, please see the EDB Postgres Advanced Server Guide, available at:
When your updates are complete, you can use the efm set-priority command to add the old primary to the front of the standby list, and then switchover to return the cluster to its original state.