Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'doc/administration/geo/replication/multiple_servers.md')
-rw-r--r--doc/administration/geo/replication/multiple_servers.md28
1 files changed, 20 insertions, 8 deletions
diff --git a/doc/administration/geo/replication/multiple_servers.md b/doc/administration/geo/replication/multiple_servers.md
index 850ab9f0707..9298281561f 100644
--- a/doc/administration/geo/replication/multiple_servers.md
+++ b/doc/administration/geo/replication/multiple_servers.md
@@ -61,6 +61,9 @@ The following steps enable a GitLab site to serve as the Geo **primary** site.
### Step 1: Configure the **primary** frontend nodes
+NOTE:
+Avoid using [`geo_primary_role`](https://docs.gitlab.com/omnibus/roles/#gitlab-geo-roles) because it is intended for a single-node site.
+
1. Edit `/etc/gitlab/gitlab.rb` and add the following:
```ruby
@@ -126,14 +129,7 @@ NOTE:
[NFS](../../nfs.md) can be used in place of Gitaly but is not
recommended.
-### Step 2: Configure PostgreSQL streaming replication
-
-Follow the [Geo database replication instructions](../setup/database.md).
-
-If using an external PostgreSQL instance, refer also to
-[Geo with external PostgreSQL instances](../setup/external_database.md).
-
-### Step 3: Configure the Geo tracking database on the Geo **secondary** site
+### Step 2: Configure the Geo tracking database on the Geo **secondary** site
If you want to run the Geo tracking database in a multi-node PostgreSQL cluster,
then follow [Configuring Patroni cluster for the tracking PostgreSQL database](../setup/database.md#configuring-patroni-cluster-for-the-tracking-postgresql-database).
@@ -183,8 +179,20 @@ After making these changes, [reconfigure GitLab](../../restart_gitlab.md#reconfi
If using an external PostgreSQL instance, refer also to
[Geo with external PostgreSQL instances](../setup/external_database.md).
+### Step 3: Configure PostgreSQL streaming replication
+
+Follow the [Geo database replication instructions](../setup/database.md).
+
+If using an external PostgreSQL instance, refer also to
+[Geo with external PostgreSQL instances](../setup/external_database.md).
+
+After streaming replication is enabled in the secondary Geo site's read-replica database, then commands such as `gitlab-rake db:migrate:status:geo` will fail, until [configuration of the secondary site is complete](#step-7-copy-secrets-and-add-the-secondary-site-in-the-application), specifically [Geo configuration - Step 3. Add the secondary site](configuration.md#step-3-add-the-secondary-site).
+
### Step 4: Configure the frontend application nodes on the Geo **secondary** site
+NOTE:
+Avoid using [`geo_secondary_role`](https://docs.gitlab.com/omnibus/roles/#gitlab-geo-roles) because it is intended for a single-node site.
+
In the minimal [architecture diagram](#architecture-overview) above, there are two
machines running the GitLab application services. These services are enabled
selectively in the configuration.
@@ -364,3 +372,7 @@ application nodes above, with some changes to run only the `sidekiq` service:
`sidekiq['enable'] = false`.
These nodes do not need to be attached to the load balancer.
+
+### Step 7: Copy secrets and add the secondary site in the application
+
+1. [Configure GitLab](configuration.md) to set the **primary** and **secondary** sites.