diff options
Diffstat (limited to 'doc/administration/geo/replication/multiple_servers.md')
-rw-r--r-- | doc/administration/geo/replication/multiple_servers.md | 28 |
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. |