Upgrading an Existing Cluster¶
|variable_prod_name| provides a utility to assist you when upgrading a |variable_prod_name| cluster. To upgrade an existing cluster, you must:
Install |variable_prod_name| |variable_prod_version| on each node of the cluster. For detailed information about installing |variable_prod_name|, see Installing Failover Manager.
After installing |variable_prod_name|, invoke the
efm upgrade-confutility to create the.propertiesand.nodesfiles for Failover Manager |variable_prod_version|. The |variable_prod_name| installer installs the upgrade utility (efm upgrade-conf) to the/usr/edb/efm-3.10/bin directory. To invoke the utility, assume root privileges, and invoke the command:efm upgrade-conf <cluster_name>The efm
upgrade-confutility locates the.propertiesand.nodesfiles of pre-existing clusters and copies the parameter values to a new configuration file for use by |variable_prod_name|. The utility saves the updated copy of the configuration files in the/etc/edb/efm-3.10directory.Modify the
.propertiesand.nodesfiles for EFM |variable_prod_version|, specifying any new preferences.Use your choice of editor to modify any additional properties in the properties file (located in the
/etc/edb/efm-3.10directory) before starting the service for that node. For detailed information about property settings, see The Cluster Properties File .
Note
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 bin directory.
Use a version-specific command to stop the old |variable_prod_name| cluster; for example, you can use the following command to stop a version 3.9 cluster:
/usr/efm-3.9/bin/efm stop-cluster efmStart the new Failover manager service (
edb-efm-3.10) on each node of the cluster.
The following example demonstrates invoking the upgrade utility to
create the .properties and .nodes files for a |variable_prod_name|
installation:
# /usr/edb/efm-3.10/bin/efm upgrade-conf efm
Checking directory /etc/edb/efm-3.9
Processing efm.properties file
The following properties were added in addition to those in previous installed version:
external.address
update.physical.slots.period
Checking directory /etc/edb/efm-3.9
Processing efm.nodes file
Upgrade of files is finished. The owner and group for properties and nodes files have been set as 'efm'.
If you are using a Failover Manager configuration without sudo,
include the -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 |variable_prod_name| service name when you perform an upgrade.
Un-installing Failover Manager¶
After upgrading to |variable_prod_name| |variable_prod_version|, you can use yum to remove previous installations of |variable_prod_name|. For example, use the following command to remove |variable_prod_name| 3.9 and any unneeded dependencies:
On RHEL or CentOS 6.x or 7.x:
yum remove edb-efm39On RHEL or CentOS 8.x:
dnf remove edb-efm39On Debian or Ubuntu:
apt-get remove edb-efm39On SLES:
zypper remove edb-efm39
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 |variable_prod_name| cluster. Then, perform a switchover, promoting a Standby node to the role of Master within the |variable_prod_name| cluster. Then, perform a database update on the old master node.
On each node of the cluster you must perform the following steps to update the database server:
Stop the |variable_prod_name| agent.
Stop the database server.
Update the database server.
Start the database service.
Start the |variable_prod_name| 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 master to the front of the standby list, and then switchover to return the cluster to its original state.