From 9d2241a10d79eaff97366ed8a171fe480c409208 Mon Sep 17 00:00:00 2001 From: Santo <31849787+sleto-it@users.noreply.github.com> Date: Mon, 9 Sep 2024 11:48:40 +0000 Subject: [PATCH 01/10] use bold for every --- docs/details/architecture.md | 3 +-- docs/install/initial-setup.md | 4 ++-- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/docs/details/architecture.md b/docs/details/architecture.md index 3b2d1b71..c95c0475 100644 --- a/docs/details/architecture.md +++ b/docs/details/architecture.md @@ -2,7 +2,7 @@ Percona Backup for MongoDB consists of the following components: -* [`pbm-agent`](../reference/glossary.md#pbm-agent) is a process running on every `mongod` node within the cluster or within a replica set that performs backup and restore operations. +* [`pbm-agent`](../reference/glossary.md#pbm-agent) is a process running on **every** `mongod` node within the cluster or within a replica set that performs backup and restore operations. * [`pbm` CLI](../reference/glossary.md#pbm-cli) is a command-line utility that instructs `pbm-agents` to perform an operation. @@ -14,4 +14,3 @@ Percona Backup for MongoDB consists of the following components: The following diagram illustrates how Percona Backup for MongoDB components communicate with MongoDB. ![image](../_images/pbm-architecture.png){ align=center} - diff --git a/docs/install/initial-setup.md b/docs/install/initial-setup.md index 762c23a3..633b1217 100644 --- a/docs/install/initial-setup.md +++ b/docs/install/initial-setup.md @@ -4,7 +4,7 @@ The following diagram outlines the installation and setup steps: ![image](../_images/setup.png) -After you [installed Percona Backup for MongoDB](../installation.md) on every server with the `mongod` node that is not an arbiter node, complete the following setup steps: +After you [installed Percona Backup for MongoDB](../installation.md) on **every** server with the `mongod` node that is not an arbiter node, complete the following setup steps: 1. [Configure authentication in MongoDB](configure-authentication.md). @@ -14,4 +14,4 @@ After you [installed Percona Backup for MongoDB](../installation.md) on every se ## Next steps -[Configure authentication :material-arrow-right:](configure-authentication.md){.md-button} \ No newline at end of file +[Configure authentication :material-arrow-right:](configure-authentication.md){.md-button} From 2787f20a086bb3f9bee56af9deca7672170cc651 Mon Sep 17 00:00:00 2001 From: Santo <31849787+sleto-it@users.noreply.github.com> Date: Mon, 9 Sep 2024 11:58:20 +0000 Subject: [PATCH 02/10] exclude arbiter `mongod` As we do on `install/initial-setup.md` --- docs/details/architecture.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/details/architecture.md b/docs/details/architecture.md index c95c0475..aaf88c86 100644 --- a/docs/details/architecture.md +++ b/docs/details/architecture.md @@ -2,7 +2,7 @@ Percona Backup for MongoDB consists of the following components: -* [`pbm-agent`](../reference/glossary.md#pbm-agent) is a process running on **every** `mongod` node within the cluster or within a replica set that performs backup and restore operations. +* [`pbm-agent`](../reference/glossary.md#pbm-agent) is a process running on **every** `mongod` node that is not an arbiter node within the cluster or within a replica set that performs backup and restore operations. * [`pbm` CLI](../reference/glossary.md#pbm-cli) is a command-line utility that instructs `pbm-agents` to perform an operation. From 7a4976caed084a26af574c1664a87e59ec6ccd80 Mon Sep 17 00:00:00 2001 From: Santo <31849787+sleto-it@users.noreply.github.com> Date: Mon, 9 Sep 2024 12:04:16 +0000 Subject: [PATCH 03/10] remove extra space --- docs/details/architecture.md | 1 - 1 file changed, 1 deletion(-) diff --git a/docs/details/architecture.md b/docs/details/architecture.md index aaf88c86..4f9e048b 100644 --- a/docs/details/architecture.md +++ b/docs/details/architecture.md @@ -8,7 +8,6 @@ Percona Backup for MongoDB consists of the following components: * [PBM Control collections](../reference/glossary.md#pbm-control-collections) are special collections in MongoDB that store the configuration data and backup states. Both `pbm` CLI and `pbm-agent` use PBM Control collections to check backup status in MongoDB and communicate with each other. - * Remote backup storage is where Percona Backup for MongoDB saves backups. It can be either [an S3 compatible storage](../reference/glossary.md#s3-compatible-storage) or a filesystem-type storage. The following diagram illustrates how Percona Backup for MongoDB components communicate with MongoDB. From a0e9e576ad1f59432c3fd8401d412254968a11ff Mon Sep 17 00:00:00 2001 From: Santo <31849787+sleto-it@users.noreply.github.com> Date: Mon, 9 Sep 2024 12:25:35 +0000 Subject: [PATCH 04/10] possible warning message (v1) --- docs/details/architecture.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/docs/details/architecture.md b/docs/details/architecture.md index 4f9e048b..e5f71768 100644 --- a/docs/details/architecture.md +++ b/docs/details/architecture.md @@ -10,6 +10,9 @@ Percona Backup for MongoDB consists of the following components: * Remote backup storage is where Percona Backup for MongoDB saves backups. It can be either [an S3 compatible storage](../reference/glossary.md#s3-compatible-storage) or a filesystem-type storage. +??? info "Nomination and election process within PBM" + If the `pbm-agent` running on the primary node of the replica set or in the primary node of the config replica set fails, the backup will not start as these agents are responsible for internal nomination process. It is therefore required to ensure all the `pbm-agent` are up and running. + The following diagram illustrates how Percona Backup for MongoDB components communicate with MongoDB. ![image](../_images/pbm-architecture.png){ align=center} From 304eef72b303b47a9c4b391fee12328439705682 Mon Sep 17 00:00:00 2001 From: Santo <31849787+sleto-it@users.noreply.github.com> Date: Mon, 9 Sep 2024 12:29:29 +0000 Subject: [PATCH 05/10] fix --- docs/details/architecture.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/details/architecture.md b/docs/details/architecture.md index e5f71768..2fa84a93 100644 --- a/docs/details/architecture.md +++ b/docs/details/architecture.md @@ -11,7 +11,7 @@ Percona Backup for MongoDB consists of the following components: * Remote backup storage is where Percona Backup for MongoDB saves backups. It can be either [an S3 compatible storage](../reference/glossary.md#s3-compatible-storage) or a filesystem-type storage. ??? info "Nomination and election process within PBM" - If the `pbm-agent` running on the primary node of the replica set or in the primary node of the config replica set fails, the backup will not start as these agents are responsible for internal nomination process. It is therefore required to ensure all the `pbm-agent` are up and running. + If the `pbm-agent` running on the primary node of the replica set or in the primary node of the config replica set fails, the backup will not start as these agents are responsible for internal nomination process. It is therefore required ensuring that all the `pbm-agent` processes are up and running. The following diagram illustrates how Percona Backup for MongoDB components communicate with MongoDB. From c3f40898d0eabe214257f61f7f4196fbdb821f00 Mon Sep 17 00:00:00 2001 From: Santo <31849787+sleto-it@users.noreply.github.com> Date: Mon, 9 Sep 2024 12:35:32 +0000 Subject: [PATCH 06/10] Anastasia's feedback Co-authored-by: Anastasia Alexandrova --- docs/details/architecture.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/details/architecture.md b/docs/details/architecture.md index 2fa84a93..192bdeb8 100644 --- a/docs/details/architecture.md +++ b/docs/details/architecture.md @@ -11,7 +11,7 @@ Percona Backup for MongoDB consists of the following components: * Remote backup storage is where Percona Backup for MongoDB saves backups. It can be either [an S3 compatible storage](../reference/glossary.md#s3-compatible-storage) or a filesystem-type storage. ??? info "Nomination and election process within PBM" - If the `pbm-agent` running on the primary node of the replica set or in the primary node of the config replica set fails, the backup will not start as these agents are responsible for internal nomination process. It is therefore required ensuring that all the `pbm-agent` processes are up and running. + If the `pbm-agent` running on the primary node of the replica set or on the primary node of the config replica set fails, the backup will not start as these agents are responsible for internal nomination process. You must therefore ensure that all the `pbm-agent` processes are up and running. The following diagram illustrates how Percona Backup for MongoDB components communicate with MongoDB. From 9791bfb820467eb8491e204135475d3f41e00374 Mon Sep 17 00:00:00 2001 From: Santo <31849787+sleto-it@users.noreply.github.com> Date: Tue, 10 Sep 2024 13:54:18 +0000 Subject: [PATCH 07/10] pablo's feedback --- docs/details/architecture.md | 3 --- docs/details/pbm-agent.md | 5 ++++- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/details/architecture.md b/docs/details/architecture.md index 192bdeb8..4f9e048b 100644 --- a/docs/details/architecture.md +++ b/docs/details/architecture.md @@ -10,9 +10,6 @@ Percona Backup for MongoDB consists of the following components: * Remote backup storage is where Percona Backup for MongoDB saves backups. It can be either [an S3 compatible storage](../reference/glossary.md#s3-compatible-storage) or a filesystem-type storage. -??? info "Nomination and election process within PBM" - If the `pbm-agent` running on the primary node of the replica set or on the primary node of the config replica set fails, the backup will not start as these agents are responsible for internal nomination process. You must therefore ensure that all the `pbm-agent` processes are up and running. - The following diagram illustrates how Percona Backup for MongoDB components communicate with MongoDB. ![image](../_images/pbm-architecture.png){ align=center} diff --git a/docs/details/pbm-agent.md b/docs/details/pbm-agent.md index 93b4befd..5e856f17 100644 --- a/docs/details/pbm-agent.md +++ b/docs/details/pbm-agent.md @@ -8,6 +8,9 @@ An operation is triggered when the [`pbm` CLI](../reference/glossary.md#pbm-cli) The elected `pbm-agent` acquires a lock for an operation. This prevents mutually exclusive operations like backup and restore to be executed simultaneously. +??? info "Nomination and election process within PBM" + If the `pbm-agent` running on the primary node of the replica set or on the primary node of the config replica set fails, the backup will not start as these agents are responsible for internal nomination process. You must therefore ensure that all the `pbm-agent` processes are up and running. + When the operation is complete, the `pbm-agent` releases the lock and updates the PBM control collections. -A single `pbm-agent` is involved with only one cluster (or non-sharded replica set). The `pbm` CLI utility can connect to any cluster to which it has network access, so it is possible for one user to list and launch backups or restores on many clusters. \ No newline at end of file +A single `pbm-agent` is involved with only one cluster (or non-sharded replica set). The `pbm` CLI utility can connect to any cluster to which it has network access, so it is possible for one user to list and launch backups or restores on many clusters. From c83231e0c08420bea9ebd0b5aa99b0a3fdbfa372 Mon Sep 17 00:00:00 2001 From: Santo <31849787+sleto-it@users.noreply.github.com> Date: Tue, 10 Sep 2024 13:55:24 +0000 Subject: [PATCH 08/10] excludes arbiters, as done elsewhere --- docs/details/pbm-agent.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/details/pbm-agent.md b/docs/details/pbm-agent.md index 5e856f17..ad523030 100644 --- a/docs/details/pbm-agent.md +++ b/docs/details/pbm-agent.md @@ -2,7 +2,7 @@ A `pbm-agent` is a process that runs backup, restore, delete, and other operations available with Percona Backup for MongoDB. -A `pbm-agent` instance must run for each `mongod` instance. This includes replica set nodes that are currently secondaries and config server replica set nodes in a sharded cluster. +A `pbm-agent` instance must run for each `mongod` instance that is not an arbiter node. This includes replica set nodes that are currently secondaries and config server replica set nodes in a sharded cluster. An operation is triggered when the [`pbm` CLI](../reference/glossary.md#pbm-cli) makes an update to the [PBM Control collection](../reference/glossary.md#pbm-control-collections). All `pbm-agents` monitor changes to the PBM control collections, but only one `pbm-agent` in each replica set will be elected to execute an operation. The elections are done by a random choice among secondary nodes. If no secondary nodes respond, then the `pbm-agent` on the primary node is elected for an operation. From 5a84d1fd310ca25211318befa31464134f356f48 Mon Sep 17 00:00:00 2001 From: Santo <31849787+sleto-it@users.noreply.github.com> Date: Tue, 10 Sep 2024 13:56:14 +0000 Subject: [PATCH 09/10] highligt every --- docs/details/pbm-agent.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/details/pbm-agent.md b/docs/details/pbm-agent.md index ad523030..55e7a75f 100644 --- a/docs/details/pbm-agent.md +++ b/docs/details/pbm-agent.md @@ -2,7 +2,7 @@ A `pbm-agent` is a process that runs backup, restore, delete, and other operations available with Percona Backup for MongoDB. -A `pbm-agent` instance must run for each `mongod` instance that is not an arbiter node. This includes replica set nodes that are currently secondaries and config server replica set nodes in a sharded cluster. +A `pbm-agent` instance must run for **every** `mongod` instance that is not an arbiter node. This includes replica set nodes that are currently secondaries and config server replica set nodes in a sharded cluster. An operation is triggered when the [`pbm` CLI](../reference/glossary.md#pbm-cli) makes an update to the [PBM Control collection](../reference/glossary.md#pbm-control-collections). All `pbm-agents` monitor changes to the PBM control collections, but only one `pbm-agent` in each replica set will be elected to execute an operation. The elections are done by a random choice among secondary nodes. If no secondary nodes respond, then the `pbm-agent` on the primary node is elected for an operation. From a202978c8e1547c51f1e159970b0ee9125501e76 Mon Sep 17 00:00:00 2001 From: Santo <31849787+sleto-it@users.noreply.github.com> Date: Tue, 10 Sep 2024 14:07:27 +0000 Subject: [PATCH 10/10] Anastasia's feedback Co-authored-by: Anastasia Alexandrova --- docs/details/pbm-agent.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/docs/details/pbm-agent.md b/docs/details/pbm-agent.md index 55e7a75f..c2e45a8d 100644 --- a/docs/details/pbm-agent.md +++ b/docs/details/pbm-agent.md @@ -9,7 +9,8 @@ An operation is triggered when the [`pbm` CLI](../reference/glossary.md#pbm-cli) The elected `pbm-agent` acquires a lock for an operation. This prevents mutually exclusive operations like backup and restore to be executed simultaneously. ??? info "Nomination and election process within PBM" - If the `pbm-agent` running on the primary node of the replica set or on the primary node of the config replica set fails, the backup will not start as these agents are responsible for internal nomination process. You must therefore ensure that all the `pbm-agent` processes are up and running. + + If the `pbm-agent` running on the primary node of the replica set or on the primary node of the config replica set fails, the backup will not start as these agents are responsible for internal nomination process. You must therefore ensure that all the `pbm-agent` processes are up and running. When the operation is complete, the `pbm-agent` releases the lock and updates the PBM control collections.