From d8c69e42e68b47a755515068118f6f2cb7931990 Mon Sep 17 00:00:00 2001 From: Bobby Bissett Date: Mon, 18 Sep 2023 15:46:23 -0400 Subject: [PATCH] Initial updates for efm 4.8. There are still some things marked "TODO" and more work needed on the release notes (including a release date). --- .../products/failover-manager/base.njk | 14 ++++----- .../01_cluster_properties.mdx | 4 +-- .../02_encrypting_database_password.mdx | 10 +++---- .../04_configuring_efm/03_cluster_members.mdx | 2 +- .../04_extending_efm_permissions.mdx | 16 +++++----- product_docs/docs/efm/4/05_using_efm.mdx | 15 +++++----- .../docs/efm/4/07_using_efm_utility.mdx | 11 +++++++ .../docs/efm/4/08_controlling_efm_service.mdx | 14 ++++----- .../docs/efm/4/13_troubleshooting.mdx | 12 ++++++-- .../14_configuring_streaming_replication.mdx | 2 +- .../docs/efm/4/efm_quick_start/index.mdx | 18 +++++------ .../4/efm_rel_notes/02_efm_48_rel_notes.mdx | 19 ++++++++++++ .../docs/efm/4/efm_rel_notes/index.mdx | 1 + .../4/installing/linux_ppc64le/efm_rhel_8.mdx | 2 +- .../4/installing/linux_ppc64le/efm_rhel_9.mdx | 2 +- .../installing/linux_ppc64le/efm_sles_12.mdx | 2 +- .../installing/linux_ppc64le/efm_sles_15.mdx | 2 +- .../installing/linux_x86_64/efm_centos_7.mdx | 2 +- .../installing/linux_x86_64/efm_debian_10.mdx | 2 +- .../installing/linux_x86_64/efm_debian_11.mdx | 2 +- .../linux_x86_64/efm_other_linux_8.mdx | 2 +- .../linux_x86_64/efm_other_linux_9.mdx | 2 +- .../4/installing/linux_x86_64/efm_rhel_7.mdx | 2 +- .../4/installing/linux_x86_64/efm_rhel_8.mdx | 2 +- .../4/installing/linux_x86_64/efm_rhel_9.mdx | 2 +- .../4/installing/linux_x86_64/efm_sles_12.mdx | 2 +- .../4/installing/linux_x86_64/efm_sles_15.mdx | 2 +- .../installing/linux_x86_64/efm_ubuntu_18.mdx | 2 +- .../installing/linux_x86_64/efm_ubuntu_20.mdx | 2 +- .../installing/linux_x86_64/efm_ubuntu_22.mdx | 2 +- .../docs/efm/4/installing/prerequisites.mdx | 8 ++--- product_docs/docs/efm/4/upgrading.mdx | 30 +++++++++---------- 32 files changed, 124 insertions(+), 86 deletions(-) create mode 100644 product_docs/docs/efm/4/efm_rel_notes/02_efm_48_rel_notes.mdx diff --git a/install_template/templates/products/failover-manager/base.njk b/install_template/templates/products/failover-manager/base.njk index 7004f34dd2d..e543d9be41e 100644 --- a/install_template/templates/products/failover-manager/base.njk +++ b/install_template/templates/products/failover-manager/base.njk @@ -2,10 +2,10 @@ {% set packageName %}edb-efm<4x>{% endset %} {% import "platformBase/_deploymentConstants.njk" as deploy %} {% block frontmatter %} -{# +{# If you modify deployment path here, please first copy the old expression - and add it to the list under "redirects:" below - this ensures we don't - break any existing links. + and add it to the list under "redirects:" below - this ensures we don't + break any existing links. #} deployPath: efm/{{ product.version }}/installing/linux_{{platform.arch}}/efm_{{deploy.map_platform[platform.name]}}.mdx redirects: @@ -16,12 +16,12 @@ redirects: - Install Postgres on the same host (not needed for witness nodes). - See [Installing EDB Postgres Advanced Server](/epas/latest/epas_inst_linux) - + - See [PostgreSQL Downloads](https://www.postgresql.org/download/) {{ super() }} {% endblock product_prerequisites %} {% block postinstall %} -Where `<4x>` is the version of Failover Manager that you are installing. For example, if you are installing version 4.7, the package name would be `edb-efm47`. +Where `<4x>` is the version of Failover Manager that you are installing. For example, if you are installing version 4.8, the package name would be `edb-efm48`. The installation process creates a user named efm that has privileges to invoke scripts that control the Failover Manager service for clusters owned by enterprisedb or postgres. @@ -35,8 +35,8 @@ After installing on each node of the cluster: 2. Modify the [cluster members file](../../04_configuring_efm/03_cluster_members/#cluster_members) on each node. 3. If applicable, configure and test virtual IP address settings and any scripts that are identified in the cluster properties file. 4. Start the agent on each node of the cluster. For more information, see [Controlling the Failover Manager service](../../08_controlling_efm_service/). -{% endblock postinstall %} +{% endblock postinstall %} -xxxxxx \ No newline at end of file +xxxxxx diff --git a/product_docs/docs/efm/4/04_configuring_efm/01_cluster_properties.mdx b/product_docs/docs/efm/4/04_configuring_efm/01_cluster_properties.mdx index 744369e89f2..1113b74e799 100644 --- a/product_docs/docs/efm/4/04_configuring_efm/01_cluster_properties.mdx +++ b/product_docs/docs/efm/4/04_configuring_efm/01_cluster_properties.mdx @@ -15,7 +15,7 @@ Each node in a Failover Manager cluster has a properties file (by default, named After completing the Failover Manager installation, make a working copy of the template before modifying the file contents: ```text -# cp /etc/edb/efm-4.7/efm.properties.in /etc/edb/efm-4.7/efm.properties +# cp /etc/edb/efm-4.8/efm.properties.in /etc/edb/efm-4.8/efm.properties ``` After copying the template file, change the owner of the file to efm: @@ -690,7 +690,7 @@ auto.failover=true -Use the `auto.reconfigure` property to instruct Failover Manager to enable or disable automatic reconfiguration of remaining standby servers after the primary standby is promoted to primary. Set the property to `true` (the default) to enable automatic reconfiguration or `false` to disable automatic reconfiguration. This property isn't required on a dedicated witness node. If you're using EDB Postgres Advanced Server or PostgreSQL version 11 or earlier, the `recovery.conf` file is backed up during the reconfiguration process. +Use the `auto.reconfigure` property to instruct Failover Manager to enable or disable automatic reconfiguration of remaining standby servers after the primary standby is promoted to primary. Set the property to `true` (the default) to enable automatic reconfiguration or `false` to disable automatic reconfiguration. This property isn't required on a dedicated witness node. If you're using EDB Postgres Advanced Server or PostgreSQL version 11, the `recovery.conf` file is backed up during the reconfiguration process. ```ini # After a standby is promoted, Failover Manager will attempt to diff --git a/product_docs/docs/efm/4/04_configuring_efm/02_encrypting_database_password.mdx b/product_docs/docs/efm/4/04_configuring_efm/02_encrypting_database_password.mdx index 1b6ecdf8a5a..55a32440c2f 100644 --- a/product_docs/docs/efm/4/04_configuring_efm/02_encrypting_database_password.mdx +++ b/product_docs/docs/efm/4/04_configuring_efm/02_encrypting_database_password.mdx @@ -35,7 +35,7 @@ This example shows using the `encrypt` utility to encrypt a password for the `ac # efm encrypt acctg This utility will generate an encrypted password for you to place in your Failover Manager cluster property file: -/etc/edb/efm-4.7/acctg.properties +/etc/edb/efm-4.8/acctg.properties Please enter the password and hit enter: Please enter the password again to confirm: The encrypted password is: 516b36fb8031da17cfbc010f7d09359c @@ -49,16 +49,16 @@ db.password.encrypted=516b36fb8031da17cfbc010f7d09359c After receiving your encrypted password, paste the password into the properties file and start the Failover Manager service. If there's a problem with the encrypted password, the Failover Manager service doesn't start: ```text -[witness@localhost ~]# systemctl start edb-efm-4.7 -Job for edb-efm-4.7.service failed because the control process exited with error code. See "systemctl status edb-efm-4.7.service" and "journalctl -xe" for details. +[witness@localhost ~]# systemctl start edb-efm-4.8 +Job for edb-efm-4.8.service failed because the control process exited with error code. See "systemctl status edb-efm-4.8.service" and "journalctl -xe" for details. ``` -If you receive this message when starting the Failover Manager service, see the startup log `/var/log/efm-4.7/startup-efm.log` for more information. +If you receive this message when starting the Failover Manager service, see the startup log `/var/log/efm-4.8/startup-efm.log` for more information. If you are using RHEL/CentOS 7.x or RHEL/Rocky Linux/AlmaLinux 8.x, startup information is also available with the following command: ```shell -systemctl status edb-efm-4.7 +systemctl status edb-efm-4.8 ``` To prevent a cluster from inadvertently connecting to the database of another cluster, the cluster name is incorporated into the encrypted password. If you modify the cluster name, you must re-encrypt the database password and update the cluster properties file. diff --git a/product_docs/docs/efm/4/04_configuring_efm/03_cluster_members.mdx b/product_docs/docs/efm/4/04_configuring_efm/03_cluster_members.mdx index 134b071df39..aae28ced623 100644 --- a/product_docs/docs/efm/4/04_configuring_efm/03_cluster_members.mdx +++ b/product_docs/docs/efm/4/04_configuring_efm/03_cluster_members.mdx @@ -15,7 +15,7 @@ Each node in a Failover Manager cluster has a cluster members file (by default n After completing the Failover Manager installation, make a working copy of the template: ```shell -cp /etc/edb/efm-4.7/efm.nodes.in /etc/edb/efm-4.7/efm.nodes +cp /etc/edb/efm-4.8/efm.nodes.in /etc/edb/efm-4.8/efm.nodes ``` After copying the template file, change the owner of the file to efm: diff --git a/product_docs/docs/efm/4/04_configuring_efm/04_extending_efm_permissions.mdx b/product_docs/docs/efm/4/04_configuring_efm/04_extending_efm_permissions.mdx index 59d7e9ce6ec..004880724b2 100644 --- a/product_docs/docs/efm/4/04_configuring_efm/04_extending_efm_permissions.mdx +++ b/product_docs/docs/efm/4/04_configuring_efm/04_extending_efm_permissions.mdx @@ -36,18 +36,18 @@ The `efm-42` file is located in `/etc/sudoers.d` and contains the following entr # If you run your db service under a non-default account, you will need to copy # this file to grant the proper permissions and specify the account in your efm # cluster properties file by changing the 'db.service.owner' property. -efm ALL=(postgres) NOPASSWD: /usr/edb/efm-4.7/bin/efm_db_functions -efm ALL=(enterprisedb) NOPASSWD: /usr/edb/efm-4.7/bin/efm_db_functions +efm ALL=(postgres) NOPASSWD: /usr/edb/efm-4.8/bin/efm_db_functions +efm ALL=(enterprisedb) NOPASSWD: /usr/edb/efm-4.8/bin/efm_db_functions # Allow user 'efm' to sudo efm_root_functions as 'root' to write/delete the PID file, # validate the db.service.owner property, etc. -efm ALL=(ALL) NOPASSWD: /usr/edb/efm-4.7/bin/efm_root_functions +efm ALL=(ALL) NOPASSWD: /usr/edb/efm-4.8/bin/efm_root_functions # Allow user 'efm' to sudo efm_address as root for VIP tasks. -efm ALL=(ALL) NOPASSWD: /usr/edb/efm-4.7/bin/efm_address +efm ALL=(ALL) NOPASSWD: /usr/edb/efm-4.8/bin/efm_address # Allow user 'efm' to sudo efm_pgpool_functions as root for pgpool tasks. -efm ALL=(ALL) NOPASSWD: /usr/edb/efm-4.7/bin/efm_pgpool_functions +efm ALL=(ALL) NOPASSWD: /usr/edb/efm-4.8/bin/efm_pgpool_functions # relax tty requirement for user 'efm' Defaults:efm !requiretty @@ -89,9 +89,9 @@ To run Failover Manager without sudo, you must select a database process owner w ```shell su - enterprisedb - cp /etc/edb/efm-4.7/efm.properties.in .properties + cp /etc/edb/efm-4.8/efm.properties.in .properties - cp /etc/edb/efm-4.7/efm.nodes.in /.nodes + cp /etc/edb/efm-4.8/efm.nodes.in /.nodes ``` Then, modify the cluster properties file, providing the name of the user in the `db.service.owner` property. Also make sure that the `db.service.name` property is blank. Without sudo, you can't run services without root access. @@ -99,7 +99,7 @@ Then, modify the cluster properties file, providing the name of the user in the After modifying the configuration, the new user can control Failover Manager with the following command: ```shell -/usr/edb/efm-4.7/bin/runefm.sh start|stop .properties +/usr/edb/efm-4.8/bin/runefm.sh start|stop .properties ``` Where `` specifies the full path of the cluster properties file. The user provides the full path to the properties file whenever the nondefault user is controlling agents or using the `efm` script. diff --git a/product_docs/docs/efm/4/05_using_efm.mdx b/product_docs/docs/efm/4/05_using_efm.mdx index e12d056f786..85597bd7c55 100644 --- a/product_docs/docs/efm/4/05_using_efm.mdx +++ b/product_docs/docs/efm/4/05_using_efm.mdx @@ -23,6 +23,7 @@ By default, [some of the efm commands](07_using_efm_utility/#using_efm_utility) - [efm allow-node](07_using_efm_utility/#efm_allow_node) - [efm disallow-node](07_using_efm_utility/#efm_disallow_node) - [efm promote](07_using_efm_utility/#efm_promote) +- [efm reset-members](07_using_efm_utility/#efm_reset_members) - [efm resume](07_using_efm_utility/#efm_resume) - [efm set-priority](07_using_efm_utility/#efm_set_priority) - [efm stop-cluster](07_using_efm_utility/#efm_stop_cluster) @@ -129,7 +130,7 @@ Where: During switchover: -- For server versions 11 and prior, the `recovery.conf` file is copied from an existing standby to the primary node. For server version 12 and later, the `primary_conninfo` and `restore_command` parameters are copied and stored in memory. +- For server versions 11, the `recovery.conf` file is copied from an existing standby to the primary node. For server version 12 and later, the `primary_conninfo` and `restore_command` parameters are copied and stored in memory. - The primary database is stopped. - If you are using a VIP, the address is released from the primary node. - A standby is promoted to replace the primary node and acquires the VIP. @@ -166,7 +167,7 @@ To stop the Failover Manager agent on RHEL/CentOS 7.x or RHEL/Rocky Linux/AlmaLi `systemctl stop edb-efm-4.` -Until you invoke the `efm disallow-node` command (removing the node's address from the Allowed Node host list), you can use the `service edb-efm-4. start` command to restart the node later without first running the `efm allow-node` command again. +Until you invoke the `efm disallow-node` or `efm reset-members` command (removing the node's address from the Allowed Node host list), you can use the `service edb-efm-4. start` command to restart the agent later without first running the `efm allow-node` command again. If you are not planning to add the agent back to the cluster, it is recommended to use the [efm reset-members](07_using_efm_utility/#efm_reset_members) command after this agent has stopped. Stopping an agent doesn't signal the cluster that the agent has failed unless the [primary.shutdown.as.failure](04_configuring_efm/01_cluster_properties/#primary_shutdown_as_failure) property is set to `true`. @@ -267,11 +268,11 @@ After creating the `acctg.properties` and `sales.properties` files, create a ser If you're using RHEL/CentOS 7.x or RHEL/Rocky Linux/AlmaLinux 8.x, copy the service file `/usr/lib/systemd/system/edb-efm-4..service` to `/etc/systemd/system` with a new name that's unique for each cluster. -For example, if you have two clusters named `acctg` and `sales` managed by Failover Manager 4.7, the unit file names might be `efm-acctg.service` and `efm-sales.service`. You can create them with: +For example, if you have two clusters named `acctg` and `sales` managed by Failover Manager 4.8, the unit file names might be `efm-acctg.service` and `efm-sales.service`. You can create them with: ```shell -cp /usr/lib/systemd/system/edb-efm-4.7.service /etc/systemd/system/efm-acctg.service -cp /usr/lib/systemd/system/edb-efm-4.7.service /etc/systemd/system/efm-sales.service +cp /usr/lib/systemd/system/edb-efm-4.8.service /etc/systemd/system/efm-acctg.service +cp /usr/lib/systemd/system/edb-efm-4.8.service /etc/systemd/system/efm-sales.service ``` Then use `systemctl edit` to edit the `CLUSTER` variable in each unit file, changing the specified cluster name from `efm` to the new cluster name. @@ -282,7 +283,7 @@ In this example, edit the `acctg` cluster by running `systemctl edit efm-acctg.s ```ini [Service] Environment=CLUSTER=acctg -PIDFile=/run/efm-4.7/acctg.pid +PIDFile=/run/efm-4.8/acctg.pid ``` Edit the `sales` cluster by running `systemctl edit efm-sales.service` and write: @@ -290,7 +291,7 @@ Edit the `sales` cluster by running `systemctl edit efm-sales.service` and write ```ini [Service] Environment=CLUSTER=sales -PIDFile=/run/efm-4.7/sales.pid +PIDFile=/run/efm-4.8/sales.pid ``` !!!Note diff --git a/product_docs/docs/efm/4/07_using_efm_utility.mdx b/product_docs/docs/efm/4/07_using_efm_utility.mdx index 8669da1a3cc..6da5b4e1fdd 100644 --- a/product_docs/docs/efm/4/07_using_efm_utility.mdx +++ b/product_docs/docs/efm/4/07_using_efm_utility.mdx @@ -30,6 +30,9 @@ This command must be invoked by efm, a member of the efm group, or root. Invoke the `efm disallow-node` command to remove the specified node from the allowed hosts list and prevent the node from joining a cluster. Provide the name of the cluster and the address of the node when calling the `efm disallow-node` command. This command must be invoked by efm, a member of the efm group, or root. +!!! Note + If you have removed the node from the cluster and are not planning to add it again, the [efm reset-members](07_using_efm_utility/#efm_reset_members) command can be used instead. + ## efm cluster-status @@ -117,6 +120,14 @@ This command must be invoked by efm, a member of the efm group, or root. !!! Note This command instructs the service to ignore the value specified in the `auto.failover` parameter in the cluster properties file. +## efm reset-members + + + +`efm reset-members ` + +Invoke the `efm reset-members` command to TODO. update .nodes files, update allowed nodes. standby priority list may need to be updated. + ## efm resume diff --git a/product_docs/docs/efm/4/08_controlling_efm_service.mdx b/product_docs/docs/efm/4/08_controlling_efm_service.mdx index 384354d2d06..3a9ddfc1005 100644 --- a/product_docs/docs/efm/4/08_controlling_efm_service.mdx +++ b/product_docs/docs/efm/4/08_controlling_efm_service.mdx @@ -40,12 +40,12 @@ Stop the Failover Manager on the current node. This command must be invoked by r The `status` command returns the status of the Failover Manager agent on which it is invoked. You can invoke the status command on any node to instruct Failover Manager to return status and server startup information. ```text -[root@ONE ~]}> systemctl status edb-efm-4.7 - edb-efm-4.7.service - EnterpriseDB Failover Manager 4.7 - Loaded: loaded (/usr/lib/systemd/system/edb-efm-4.7.service; disabled; vendor preset: disabled) - Active: active (running) since Wed 2013-02-14 14:02:16 EST; 4s ago - Process: 58125 ExecStart=/bin/bash -c /usr/edb/edb-efm-4.7/bin/runefm.sh start ${CLUSTER} (code=exited, status=0/SUCCESS) +[root@ONE ~]}> systemctl status edb-efm-4.8 + edb-efm-4.8.service - EnterpriseDB Failover Manager 4.8 + Loaded: loaded (/usr/lib/systemd/system/edb-efm-4.8.service; disabled; vendor preset: disabled) + Active: active (running) since Mon 2023-09-18 09:57:13 EDT; 1min 32s ago + Process: 58125 ExecStart=/bin/bash -c /usr/edb/edb-efm-4.8/bin/runefm.sh start ${CLUSTER} (code=exited, status=0/SUCCESS) Main PID: 58180 (java) - CGroup: /system.slice/edb-efm-4.7.service - └─58180 /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.161-0.b14.el7_4.x86_64/jre/bin/java -cp /usr/edb/edb-efm-4.7/lib/EFM-4.7.jar -Xmx128m... + CGroup: /system.slice/edb-efm-4.8.service + └─58180 /usr/lib/jvm/java-11-openjdk-11.0.20.0.8-1.el7_9.x86_64/bin/java -cp /usr/edb/efm-4.8/lib/EFM-4.8.jar -Xmx128m... ``` diff --git a/product_docs/docs/efm/4/13_troubleshooting.mdx b/product_docs/docs/efm/4/13_troubleshooting.mdx index b7242de3b7c..1467b3ff838 100644 --- a/product_docs/docs/efm/4/13_troubleshooting.mdx +++ b/product_docs/docs/efm/4/13_troubleshooting.mdx @@ -43,9 +43,9 @@ Failover Manager is tested with OpenJDK. We strongly recommend using OpenJDK. Yo ```shell # java -version -openjdk version "1.8.0_191" -OpenJDK Runtime Environment (build 1.8.0_191-b12) -OpenJDK 64-Bit Server VM (build 25.191-b12, mixed mode) +openjdk version "11.0.20" 2023-07-18 LTS +OpenJDK Runtime Environment (Red_Hat-11.0.20.0.8-1.el7_9) (build 11.0.20+8-LTS) +OpenJDK 64-Bit Server VM (Red_Hat-11.0.20.0.8-1.el7_9) (build 11.0.20+8-LTS, mixed mode, sharing) ``` !!! Note There's a temporary issue with OpenJDK version 11 on RHEL and its derivatives. When starting Failover Manager, you might see an error like the following: @@ -53,3 +53,9 @@ OpenJDK 64-Bit Server VM (build 25.191-b12, mixed mode) `java.lang.Error: java.io.FileNotFoundException: /usr/lib/jvm/java-11-openjdk-11.0.20.0.8-2.el8.x86_64/lib/tzdb.dat (No such file or directory)` If you see this message, the workaround is to manually install the missing package using the command `sudo dnf install tzdata-java`. + +## Unexpected connection attempts from outside the cluster + +TODO: something outside the cluster attempts to connect, Failover Manager will show source address. Need example.Manager + +TODO: if from another running cluster, run reset-members there. need example output diff --git a/product_docs/docs/efm/4/14_configuring_streaming_replication.mdx b/product_docs/docs/efm/4/14_configuring_streaming_replication.mdx index f7e722ea2ac..531e5773671 100644 --- a/product_docs/docs/efm/4/14_configuring_streaming_replication.mdx +++ b/product_docs/docs/efm/4/14_configuring_streaming_replication.mdx @@ -15,7 +15,7 @@ Configuring a replication scenario can be complex. For detailed information abou You might want to use a `.pgpass` file to enable md5 authentication for the replication user. This might not be the safest authentication method for your environment. For more information about the supported authentication options, see the [PostgreSQL core documentation](https://www.postgresql.org/docs/current/client-authentication.html). !!! Note - From Version 3.10 onwards, Failover Manager uses `pg_ctl` utility for standby promotion. You don't need to set the `trigger_file` or `promote_trigger_file` parameter for promotion of a standby server. + Failover Manager uses `pg_ctl` utility for standby promotion. You don't need to set the `trigger_file` or `promote_trigger_file` parameter for promotion of a standby server. ## Limited support for cascading replication diff --git a/product_docs/docs/efm/4/efm_quick_start/index.mdx b/product_docs/docs/efm/4/efm_quick_start/index.mdx index abd3e1eb16a..dbdf46b95c7 100644 --- a/product_docs/docs/efm/4/efm_quick_start/index.mdx +++ b/product_docs/docs/efm/4/efm_quick_start/index.mdx @@ -31,7 +31,7 @@ Start the configuration process on a primary or standby node. Then, copy the con 1. Create working configuration files. Copy the provided sample files to create Failover Manager configuration files, and correct the ownership and version number if you are installing a different version: ```shell - cd /etc/edb/efm-4.7 + cd /etc/edb/efm-4.8 cp efm.properties.in efm.properties @@ -45,7 +45,7 @@ Start the configuration process on a primary or standby node. Then, copy the con 1. Create an [encrypted password](/efm/latest/04_configuring_efm/02_encrypting_database_password/) needed for the properties file: ```shell - /usr/edb/efm-4.7/bin/efm encrypt efm + /usr/edb/efm-4.8/bin/efm encrypt efm ``` Follow the onscreen instructions to produce the encrypted version of your database password. @@ -83,22 +83,22 @@ Start the configuration process on a primary or standby node. Then, copy the con The Failover Manager agent doesn't validate the addresses in the `efm.nodes` file. The agent expects that some of the addresses in the file can't be reached (for example, that another agent hasn’t been started yet). -1. Configure the other nodes. Copy the `efm.properties` and `efm.nodes` files to `/etc/edb/efm-4.7` on the other nodes in your sample cluster. After copying the files, change the file ownership so the files are owned by efm:efm. The `efm.properties` file can be the same on every node, except for the following properties: +1. Configure the other nodes. Copy the `efm.properties` and `efm.nodes` files to `/etc/edb/efm-4.8` on the other nodes in your sample cluster. After copying the files, change the file ownership so the files are owned by efm:efm. The `efm.properties` file can be the same on every node, except for the following properties: - Modify the `bind.address` property to use the node’s local address. - Set `is.witness` to `true` if the node is a witness node. If the node is a witness node, the properties relating to a local database installation are ignored. -1. Start the Failover Manager cluster. On any node, start the Failover Manager agent. The agent is named `edb-efm-4.7`; you can use your platform-specific service command to control the service. For example, on a RHEL 7.x or Rocky Linux/AlmaLinux/RHEL 8.x host, use the command: +1. Start the Failover Manager cluster. On any node, start the Failover Manager agent. The agent is named `edb-efm-4.8`; you can use your platform-specific service command to control the service. For example, on a RHEL 7.x or Rocky Linux/AlmaLinux/RHEL 8.x host, use the command: ```shell - systemctl start edb-efm-4.7 + systemctl start edb-efm-4.8 ``` 1. After the agent starts, run the following command to see the status of the single-node cluster. The addresses of the other nodes appear in the `Allowed node host` list. ```shell - /usr/edb/efm-4.7/bin/efm cluster-status efm + /usr/edb/efm-4.8/bin/efm cluster-status efm ``` 1. Start the agent on the other nodes. Run the `efm cluster-status efm` command on any node to see the cluster status. @@ -106,7 +106,7 @@ Start the configuration process on a primary or standby node. Then, copy the con If any agent fails to start, see the startup log for information about what went wrong: ```shell - cat /var/log/efm-4.7/startup-efm.log + cat /var/log/efm-4.8/startup-efm.log ``` ## Perform a switchover @@ -114,7 +114,7 @@ Start the configuration process on a primary or standby node. Then, copy the con If the cluster status output shows that the primary and standby nodes are in sync, you can perform a switchover: ```shell - /usr/edb/efm-4.7/bin/efm promote efm -switchover + /usr/edb/efm-4.8/bin/efm promote efm -switchover ``` The command promotes a standby and reconfigures the primary database as a new standby in the cluster. To switch back, run the command again. @@ -124,5 +124,5 @@ The command promotes a standby and reconfigures the primary database as a new st For quick access to online help, use: ```shell -/usr/edb/efm-4.7/bin/efm --help +/usr/edb/efm-4.8/bin/efm --help ``` diff --git a/product_docs/docs/efm/4/efm_rel_notes/02_efm_48_rel_notes.mdx b/product_docs/docs/efm/4/efm_rel_notes/02_efm_48_rel_notes.mdx new file mode 100644 index 00000000000..89ffbf818cd --- /dev/null +++ b/product_docs/docs/efm/4/efm_rel_notes/02_efm_48_rel_notes.mdx @@ -0,0 +1,19 @@ +--- +title: "Version 4.8" +--- + +Enhancements, bug fixes, and other changes in EFM 4.8 include: + +| Type | Description | +| ---- |------------ | +| Enhancement | The minimum Java version required to run Failover Manager is now version 11 instead of 8. | +| Enhancement | The minimum database server version now supported is 11. | +| Enhancement | New CLI command 'efm reset-members added' to remove cached node addreses after a node is removed from a cluster. | +| Enhancement | Changed the order to retrieve WAL replay/receive queries from a standby during a cluster status call. This can help avoid confusing output when the database cluster is under load. | +| Enhancement | Failover Manager agents can be started before the local database has been initialized. | +| Enhancement | Failover Manager will now log more information about outside processes attempting to connect to a running agent's address/port. | +| Enhancement | Failover Manager will no longer start if ping==VIP. (TODO: want this one?). | +| Enhancement | Placeholder text. [Support tickets: #12345, #12346] | +| Bug Fix | Fixed an edge case that could result in two primary nodes in the case of an even split of a cluster (e.g. between two data centers with equal number of nodes). | +| Bug Fix | TODO: During a cluster shutdown, the coordinator will wait a couple seconds before exiting to prevent edge cases of other nodes logging warnings about cluster communication problems. | +| Bug Fix | Placeholder text. [Support ticket #23456]| diff --git a/product_docs/docs/efm/4/efm_rel_notes/index.mdx b/product_docs/docs/efm/4/efm_rel_notes/index.mdx index 6eb796f3255..3bee068dc5b 100644 --- a/product_docs/docs/efm/4/efm_rel_notes/index.mdx +++ b/product_docs/docs/efm/4/efm_rel_notes/index.mdx @@ -9,6 +9,7 @@ about the release that introduced the feature. | Version | Release Date | | ------- | ------------ | +| [4.8](02_efm_48_rel_notes) | TODO Sep 2023| | [4.7](03_efm_47_rel_notes) | 20 Jun 2023| | [4.6](04_efm_46_rel_notes) | 14 Feb 2023| | [4.5](05_efm_45_rel_notes) | 30 Aug 2022| diff --git a/product_docs/docs/efm/4/installing/linux_ppc64le/efm_rhel_8.mdx b/product_docs/docs/efm/4/installing/linux_ppc64le/efm_rhel_8.mdx index cd5bb9276a5..aa8338803ae 100644 --- a/product_docs/docs/efm/4/installing/linux_ppc64le/efm_rhel_8.mdx +++ b/product_docs/docs/efm/4/installing/linux_ppc64le/efm_rhel_8.mdx @@ -54,7 +54,7 @@ Before you begin the installation process: sudo dnf -y install edb-efm<4x> ``` -Where `<4x>` is the version of Failover Manager that you are installing. For example, if you are installing version 4.7, the package name would be `edb-efm47`. +Where `<4x>` is the version of Failover Manager that you are installing. For example, if you are installing version 4.8, the package name would be `edb-efm48`. The installation process creates a user named efm that has privileges to invoke scripts that control the Failover Manager service for clusters owned by enterprisedb or postgres. diff --git a/product_docs/docs/efm/4/installing/linux_ppc64le/efm_rhel_9.mdx b/product_docs/docs/efm/4/installing/linux_ppc64le/efm_rhel_9.mdx index 9f24c34c58d..69a4ac393d5 100644 --- a/product_docs/docs/efm/4/installing/linux_ppc64le/efm_rhel_9.mdx +++ b/product_docs/docs/efm/4/installing/linux_ppc64le/efm_rhel_9.mdx @@ -54,7 +54,7 @@ Before you begin the installation process: sudo dnf -y install edb-efm<4x> ``` -Where `<4x>` is the version of Failover Manager that you are installing. For example, if you are installing version 4.7, the package name would be `edb-efm47`. +Where `<4x>` is the version of Failover Manager that you are installing. For example, if you are installing version 4.8, the package name would be `edb-efm48`. The installation process creates a user named efm that has privileges to invoke scripts that control the Failover Manager service for clusters owned by enterprisedb or postgres. diff --git a/product_docs/docs/efm/4/installing/linux_ppc64le/efm_sles_12.mdx b/product_docs/docs/efm/4/installing/linux_ppc64le/efm_sles_12.mdx index a72db4dc70b..10e013007cf 100644 --- a/product_docs/docs/efm/4/installing/linux_ppc64le/efm_sles_12.mdx +++ b/product_docs/docs/efm/4/installing/linux_ppc64le/efm_sles_12.mdx @@ -56,7 +56,7 @@ Before you begin the installation process: sudo zypper -n install edb-efm<4x> ``` -Where `<4x>` is the version of Failover Manager that you are installing. For example, if you are installing version 4.7, the package name would be `edb-efm47`. +Where `<4x>` is the version of Failover Manager that you are installing. For example, if you are installing version 4.8, the package name would be `edb-efm48`. The installation process creates a user named efm that has privileges to invoke scripts that control the Failover Manager service for clusters owned by enterprisedb or postgres. diff --git a/product_docs/docs/efm/4/installing/linux_ppc64le/efm_sles_15.mdx b/product_docs/docs/efm/4/installing/linux_ppc64le/efm_sles_15.mdx index 548ad0f3d5d..d913753f7d8 100644 --- a/product_docs/docs/efm/4/installing/linux_ppc64le/efm_sles_15.mdx +++ b/product_docs/docs/efm/4/installing/linux_ppc64le/efm_sles_15.mdx @@ -57,7 +57,7 @@ Before you begin the installation process: sudo zypper -n install edb-efm<4x> ``` -Where `<4x>` is the version of Failover Manager that you are installing. For example, if you are installing version 4.7, the package name would be `edb-efm47`. +Where `<4x>` is the version of Failover Manager that you are installing. For example, if you are installing version 4.8, the package name would be `edb-efm48`. The installation process creates a user named efm that has privileges to invoke scripts that control the Failover Manager service for clusters owned by enterprisedb or postgres. diff --git a/product_docs/docs/efm/4/installing/linux_x86_64/efm_centos_7.mdx b/product_docs/docs/efm/4/installing/linux_x86_64/efm_centos_7.mdx index 406f537e858..0e606cc6c3b 100644 --- a/product_docs/docs/efm/4/installing/linux_x86_64/efm_centos_7.mdx +++ b/product_docs/docs/efm/4/installing/linux_x86_64/efm_centos_7.mdx @@ -50,7 +50,7 @@ Before you begin the installation process: sudo yum -y install edb-efm<4x> ``` -Where `<4x>` is the version of Failover Manager that you are installing. For example, if you are installing version 4.7, the package name would be `edb-efm47`. +Where `<4x>` is the version of Failover Manager that you are installing. For example, if you are installing version 4.8, the package name would be `edb-efm48`. The installation process creates a user named efm that has privileges to invoke scripts that control the Failover Manager service for clusters owned by enterprisedb or postgres. diff --git a/product_docs/docs/efm/4/installing/linux_x86_64/efm_debian_10.mdx b/product_docs/docs/efm/4/installing/linux_x86_64/efm_debian_10.mdx index b37428d5abb..4823af7fe01 100644 --- a/product_docs/docs/efm/4/installing/linux_x86_64/efm_debian_10.mdx +++ b/product_docs/docs/efm/4/installing/linux_x86_64/efm_debian_10.mdx @@ -45,7 +45,7 @@ Before you begin the installation process: sudo apt-get -y install edb-efm<4x> ``` -Where `<4x>` is the version of Failover Manager that you are installing. For example, if you are installing version 4.7, the package name would be `edb-efm47`. +Where `<4x>` is the version of Failover Manager that you are installing. For example, if you are installing version 4.8, the package name would be `edb-efm48`. The installation process creates a user named efm that has privileges to invoke scripts that control the Failover Manager service for clusters owned by enterprisedb or postgres. diff --git a/product_docs/docs/efm/4/installing/linux_x86_64/efm_debian_11.mdx b/product_docs/docs/efm/4/installing/linux_x86_64/efm_debian_11.mdx index 91945fd53a6..aed926c23cc 100644 --- a/product_docs/docs/efm/4/installing/linux_x86_64/efm_debian_11.mdx +++ b/product_docs/docs/efm/4/installing/linux_x86_64/efm_debian_11.mdx @@ -45,7 +45,7 @@ Before you begin the installation process: sudo apt-get -y install edb-efm<4x> ``` -Where `<4x>` is the version of Failover Manager that you are installing. For example, if you are installing version 4.7, the package name would be `edb-efm47`. +Where `<4x>` is the version of Failover Manager that you are installing. For example, if you are installing version 4.8, the package name would be `edb-efm48`. The installation process creates a user named efm that has privileges to invoke scripts that control the Failover Manager service for clusters owned by enterprisedb or postgres. diff --git a/product_docs/docs/efm/4/installing/linux_x86_64/efm_other_linux_8.mdx b/product_docs/docs/efm/4/installing/linux_x86_64/efm_other_linux_8.mdx index a3aa26bd88c..7d413d9584a 100644 --- a/product_docs/docs/efm/4/installing/linux_x86_64/efm_other_linux_8.mdx +++ b/product_docs/docs/efm/4/installing/linux_x86_64/efm_other_linux_8.mdx @@ -56,7 +56,7 @@ Before you begin the installation process: sudo dnf -y install edb-efm<4x> ``` -Where `<4x>` is the version of Failover Manager that you are installing. For example, if you are installing version 4.7, the package name would be `edb-efm47`. +Where `<4x>` is the version of Failover Manager that you are installing. For example, if you are installing version 4.8, the package name would be `edb-efm48`. The installation process creates a user named efm that has privileges to invoke scripts that control the Failover Manager service for clusters owned by enterprisedb or postgres. diff --git a/product_docs/docs/efm/4/installing/linux_x86_64/efm_other_linux_9.mdx b/product_docs/docs/efm/4/installing/linux_x86_64/efm_other_linux_9.mdx index dc548b84296..57b907d622d 100644 --- a/product_docs/docs/efm/4/installing/linux_x86_64/efm_other_linux_9.mdx +++ b/product_docs/docs/efm/4/installing/linux_x86_64/efm_other_linux_9.mdx @@ -56,7 +56,7 @@ Before you begin the installation process: sudo dnf -y install edb-efm<4x> ``` -Where `<4x>` is the version of Failover Manager that you are installing. For example, if you are installing version 4.7, the package name would be `edb-efm47`. +Where `<4x>` is the version of Failover Manager that you are installing. For example, if you are installing version 4.8, the package name would be `edb-efm48`. The installation process creates a user named efm that has privileges to invoke scripts that control the Failover Manager service for clusters owned by enterprisedb or postgres. diff --git a/product_docs/docs/efm/4/installing/linux_x86_64/efm_rhel_7.mdx b/product_docs/docs/efm/4/installing/linux_x86_64/efm_rhel_7.mdx index f33e3ea5e8c..97b91e3d00c 100644 --- a/product_docs/docs/efm/4/installing/linux_x86_64/efm_rhel_7.mdx +++ b/product_docs/docs/efm/4/installing/linux_x86_64/efm_rhel_7.mdx @@ -56,7 +56,7 @@ Before you begin the installation process: sudo yum -y install edb-efm<4x> ``` -Where `<4x>` is the version of Failover Manager that you are installing. For example, if you are installing version 4.7, the package name would be `edb-efm47`. +Where `<4x>` is the version of Failover Manager that you are installing. For example, if you are installing version 4.8, the package name would be `edb-efm48`. The installation process creates a user named efm that has privileges to invoke scripts that control the Failover Manager service for clusters owned by enterprisedb or postgres. diff --git a/product_docs/docs/efm/4/installing/linux_x86_64/efm_rhel_8.mdx b/product_docs/docs/efm/4/installing/linux_x86_64/efm_rhel_8.mdx index a4c7f824031..8f7bbed1b19 100644 --- a/product_docs/docs/efm/4/installing/linux_x86_64/efm_rhel_8.mdx +++ b/product_docs/docs/efm/4/installing/linux_x86_64/efm_rhel_8.mdx @@ -50,7 +50,7 @@ Before you begin the installation process: sudo dnf -y install edb-efm<4x> ``` -Where `<4x>` is the version of Failover Manager that you are installing. For example, if you are installing version 4.7, the package name would be `edb-efm47`. +Where `<4x>` is the version of Failover Manager that you are installing. For example, if you are installing version 4.8, the package name would be `edb-efm48`. The installation process creates a user named efm that has privileges to invoke scripts that control the Failover Manager service for clusters owned by enterprisedb or postgres. diff --git a/product_docs/docs/efm/4/installing/linux_x86_64/efm_rhel_9.mdx b/product_docs/docs/efm/4/installing/linux_x86_64/efm_rhel_9.mdx index a4cca2907dc..8367e274bcd 100644 --- a/product_docs/docs/efm/4/installing/linux_x86_64/efm_rhel_9.mdx +++ b/product_docs/docs/efm/4/installing/linux_x86_64/efm_rhel_9.mdx @@ -50,7 +50,7 @@ Before you begin the installation process: sudo dnf -y install edb-efm<4x> ``` -Where `<4x>` is the version of Failover Manager that you are installing. For example, if you are installing version 4.7, the package name would be `edb-efm47`. +Where `<4x>` is the version of Failover Manager that you are installing. For example, if you are installing version 4.8, the package name would be `edb-efm48`. The installation process creates a user named efm that has privileges to invoke scripts that control the Failover Manager service for clusters owned by enterprisedb or postgres. diff --git a/product_docs/docs/efm/4/installing/linux_x86_64/efm_sles_12.mdx b/product_docs/docs/efm/4/installing/linux_x86_64/efm_sles_12.mdx index 70d00690261..0ae8a903ac9 100644 --- a/product_docs/docs/efm/4/installing/linux_x86_64/efm_sles_12.mdx +++ b/product_docs/docs/efm/4/installing/linux_x86_64/efm_sles_12.mdx @@ -56,7 +56,7 @@ Before you begin the installation process: sudo zypper -n install edb-efm<4x> ``` -Where `<4x>` is the version of Failover Manager that you are installing. For example, if you are installing version 4.7, the package name would be `edb-efm47`. +Where `<4x>` is the version of Failover Manager that you are installing. For example, if you are installing version 4.8, the package name would be `edb-efm48`. The installation process creates a user named efm that has privileges to invoke scripts that control the Failover Manager service for clusters owned by enterprisedb or postgres. diff --git a/product_docs/docs/efm/4/installing/linux_x86_64/efm_sles_15.mdx b/product_docs/docs/efm/4/installing/linux_x86_64/efm_sles_15.mdx index c55f201fdd5..cfc27aade83 100644 --- a/product_docs/docs/efm/4/installing/linux_x86_64/efm_sles_15.mdx +++ b/product_docs/docs/efm/4/installing/linux_x86_64/efm_sles_15.mdx @@ -57,7 +57,7 @@ Before you begin the installation process: sudo zypper -n install edb-efm<4x> ``` -Where `<4x>` is the version of Failover Manager that you are installing. For example, if you are installing version 4.7, the package name would be `edb-efm47`. +Where `<4x>` is the version of Failover Manager that you are installing. For example, if you are installing version 4.8, the package name would be `edb-efm48`. The installation process creates a user named efm that has privileges to invoke scripts that control the Failover Manager service for clusters owned by enterprisedb or postgres. diff --git a/product_docs/docs/efm/4/installing/linux_x86_64/efm_ubuntu_18.mdx b/product_docs/docs/efm/4/installing/linux_x86_64/efm_ubuntu_18.mdx index d859af00fdb..7ac3915948b 100644 --- a/product_docs/docs/efm/4/installing/linux_x86_64/efm_ubuntu_18.mdx +++ b/product_docs/docs/efm/4/installing/linux_x86_64/efm_ubuntu_18.mdx @@ -45,7 +45,7 @@ Before you begin the installation process: sudo apt-get -y install edb-efm<4x> ``` -Where `<4x>` is the version of Failover Manager that you are installing. For example, if you are installing version 4.7, the package name would be `edb-efm47`. +Where `<4x>` is the version of Failover Manager that you are installing. For example, if you are installing version 4.8, the package name would be `edb-efm48`. The installation process creates a user named efm that has privileges to invoke scripts that control the Failover Manager service for clusters owned by enterprisedb or postgres. diff --git a/product_docs/docs/efm/4/installing/linux_x86_64/efm_ubuntu_20.mdx b/product_docs/docs/efm/4/installing/linux_x86_64/efm_ubuntu_20.mdx index 14f30ae98f1..39c512770de 100644 --- a/product_docs/docs/efm/4/installing/linux_x86_64/efm_ubuntu_20.mdx +++ b/product_docs/docs/efm/4/installing/linux_x86_64/efm_ubuntu_20.mdx @@ -45,7 +45,7 @@ Before you begin the installation process: sudo apt-get -y install edb-efm<4x> ``` -Where `<4x>` is the version of Failover Manager that you are installing. For example, if you are installing version 4.7, the package name would be `edb-efm47`. +Where `<4x>` is the version of Failover Manager that you are installing. For example, if you are installing version 4.8, the package name would be `edb-efm48`. The installation process creates a user named efm that has privileges to invoke scripts that control the Failover Manager service for clusters owned by enterprisedb or postgres. diff --git a/product_docs/docs/efm/4/installing/linux_x86_64/efm_ubuntu_22.mdx b/product_docs/docs/efm/4/installing/linux_x86_64/efm_ubuntu_22.mdx index 46b1218bbe3..1c0323cc738 100644 --- a/product_docs/docs/efm/4/installing/linux_x86_64/efm_ubuntu_22.mdx +++ b/product_docs/docs/efm/4/installing/linux_x86_64/efm_ubuntu_22.mdx @@ -45,7 +45,7 @@ Before you begin the installation process: sudo apt-get -y install edb-efm<4x> ``` -Where `<4x>` is the version of Failover Manager that you are installing. For example, if you are installing version 4.7, the package name would be `edb-efm47`. +Where `<4x>` is the version of Failover Manager that you are installing. For example, if you are installing version 4.8, the package name would be `edb-efm48`. The installation process creates a user named efm that has privileges to invoke scripts that control the Failover Manager service for clusters owned by enterprisedb or postgres. diff --git a/product_docs/docs/efm/4/installing/prerequisites.mdx b/product_docs/docs/efm/4/installing/prerequisites.mdx index a4206bac8c0..463aadb538a 100644 --- a/product_docs/docs/efm/4/installing/prerequisites.mdx +++ b/product_docs/docs/efm/4/installing/prerequisites.mdx @@ -1,6 +1,6 @@ --- title: "Prerequisites" -redirects: +redirects: - ../../efm_user/02_failover_manager_overview/01_prerequisites - /efm/latest/01_prerequisites/ legacyRedirectsGenerated: @@ -13,9 +13,9 @@ legacyRedirectsGenerated: Before configuring a Failover Manager cluster, you must satisfy the prerequisites described below. -## Install Java 1.8 (or later) +## Install Java 11 (or later) -Before using Failover Manager, you must first install Java (version 1.8 or later). Failover Manager is tested with OpenJDK, and we strongly recommend installing that version of Java. [Installation instructions for Java](https://openjdk.java.net/install/) are platform specific. +Before using Failover Manager, you must first install Java (version 11 or later). Failover Manager is tested with OpenJDK, and we strongly recommend installing that version of Java. [Installation instructions for Java](https://openjdk.java.net/install/) are platform specific. !!! Note There's a temporary issue with OpenJDK version 11 on RHEL and its derivatives. When starting Failover Manager, you might see an error like the following: @@ -98,7 +98,7 @@ The database user specified by the `db.user` property in the `efm.properties` fi If the `reconfigure.num.sync` or `reconfigure.sync.primary` property is set to `true`, then: -- For database versions 10 and later, the db.user requires `pg_read_all_stats` privilege and permissions to run `pg_reload_conf()`. +- For database versions 11 and later, the db.user requires `pg_read_all_stats` privilege and permissions to run `pg_reload_conf()`. For detailed information about each of these functions, see the [PostgreSQL core documentation](https://www.postgresql.org/docs/current/index.html). diff --git a/product_docs/docs/efm/4/upgrading.mdx b/product_docs/docs/efm/4/upgrading.mdx index 939d8175781..0bdc743e1af 100644 --- a/product_docs/docs/efm/4/upgrading.mdx +++ b/product_docs/docs/efm/4/upgrading.mdx @@ -14,35 +14,35 @@ legacyRedirectsGenerated: Failover Manager provides a utility to assist you when upgrading a cluster managed by Failover Manager. To upgrade an existing cluster, you must: -1. Install Failover Manager 4.7 on each node of the cluster. For detailed information about installing Failover Manager, see [Installing Failover Manager](installing). +1. Install Failover Manager 4.8 on each node of the cluster. For detailed information about installing Failover Manager, see [Installing Failover Manager](installing). -2. After installing Failover Manager, invoke the `efm upgrade-conf` utility to create the `.properties` and `.nodes` files for Failover Manager 4.7. The Failover Manager installer installs the upgrade utility ([efm upgrade-conf](07_using_efm_utility/#efm_upgrade_conf)) to the `/usr/edb/efm-4.7/bin directory`. To invoke the utility, assume root privileges, and invoke the command: +2. After installing Failover Manager, invoke the `efm upgrade-conf` utility to create the `.properties` and `.nodes` files for Failover Manager 4.8. The Failover Manager installer installs the upgrade utility ([efm upgrade-conf](07_using_efm_utility/#efm_upgrade_conf)) to the `/usr/edb/efm-4.8/bin directory`. To invoke the utility, assume root privileges, and invoke the command: ```shell efm upgrade-conf ``` - The efm `upgrade-conf` utility locates the `.properties` and `.nodes` files of preexisting 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 `/etc/edb/efm-4.7` directory. + The efm `upgrade-conf` utility locates the `.properties` and `.nodes` files of preexisting 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 `/etc/edb/efm-4.8` directory. -3. Modify the `.properties` and `.nodes` files for Failover Manager 4.7, 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.7` directory) before starting the service for that node. For detailed information about property settings, see [The cluster properties file](04_configuring_efm/01_cluster_properties/#cluster_properties). +3. Modify the `.properties` and `.nodes` files for Failover Manager 4.8, 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.8` directory) before starting the service for that node. For detailed information about property settings, see [The cluster properties file](04_configuring_efm/01_cluster_properties/#cluster_properties). 4. If you're using Eager Failover, you must disable it before stopping the Failover Manager cluster. For more information, see [Disabling Eager Failover](04_configuring_efm/06_configuring_for_eager_failover/#disabling-eager-failover). -5. Use a version-specific command to stop the old Failover Manager cluster. For example, you can use the following command to stop a version 4.4 cluster: +5. Use a version-specific command to stop the old Failover Manager cluster. For example, you can use the following command to stop a version 4.7 cluster: ```shell - /usr/efm-4.4/bin/efm stop-cluster efm + /usr/efm-4.7/bin/efm stop-cluster efm ``` -6. Start the new [Failover Manager service](08_controlling_efm_service/#controlling_efm_service) (`edb-efm-4.7`) on each node of the cluster. +6. Start the new [Failover Manager service](08_controlling_efm_service/#controlling_efm_service) (`edb-efm-4.8`) on each node of the cluster. The following example shows invoking the upgrade utility to create the `.properties` and `.nodes` files for a Failover Manager installation: ```text -[root@hostname ~]# /usr/edb/efm-4.7/bin/efm upgrade-conf efm -Checking directory /etc/edb/efm-4.6 +[root@hostname ~]# /usr/edb/efm-4.8/bin/efm upgrade-conf efm +Checking directory /etc/edb/efm-4.7 Processing efm.properties file -Checking directory /etc/edb/efm-4.5 +Checking directory /etc/edb/efm-4.7 Processing efm.nodes file Upgrade of files is finished. The owner and group for properties and nodes files have been set as 'efm'. @@ -56,30 +56,30 @@ If you're [using a Failover Manager configuration without sudo](04_configuring_e !!! Note If you are using custom scripts, check to see if they are calling any Failover Manager scripts. For example, a script that runs after promotion to perform various tasks and then calls Failover Manager's `efm_address` script to acquire a virtual IP address. If you have any custom scripts calling Failover Manager scripts, update the custom scripts to use the newly installed version of the Failover Manager script before uninstalling the older version of the Failover Manager script. -After upgrading to Failover Manager 4.7, you can use your native package manager to remove previous installations of Failover Manager. For example, use the following command to remove Failover Manager 4.4 and any unneeded dependencies: +After upgrading to Failover Manager 4.8, you can use your native package manager to remove previous installations of Failover Manager. For example, use the following command to remove Failover Manager 4.7 and any unneeded dependencies: - On RHEL or CentOS 7.x: ```shell -yum remove edb-efm45 +yum remove edb-efm47 ``` - On RHEL or Rocky Linux or AlmaLinux 8.x: ```shell -dnf remove edb-efm45 +dnf remove edb-efm47 ``` - On Debian or Ubuntu: ```shell -apt-get remove edb-efm45 +apt-get remove edb-efm47 ``` - On SLES: ```shell -zypper remove edb-efm45 +zypper remove edb-efm47 ``` ## Performing a maintenance task