debian-mirror-gitlab/doc/administration/geo/disaster_recovery/bring_primary_back.md
2022-07-17 14:43:12 +02:00

3.2 KiB

stage group info type
Enablement Geo To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments howto

Bring a demoted primary site back online (PREMIUM SELF)

After a failover, it is possible to fail back to the demoted primary site to restore your original configuration. This process consists of two steps:

  1. Making the old primary site a secondary site.
  2. Promoting a secondary site to a primary site.

WARNING: If you have any doubts about the consistency of the data on this site, we recommend setting it up from scratch.

Configure the former primary site to be a secondary site

Since the former primary site will be out of sync with the current primary site, the first step is to bring the former primary site up to date. Note, deletion of data stored on disk like repositories and uploads will not be replayed when bringing the former primary site back into sync, which may result in increased disk usage. Alternatively, you can set up a new secondary GitLab instance to avoid this.

To bring the former primary site up to date:

  1. SSH into the former primary site that has fallen behind.

  2. Make sure all the services are up:

    sudo gitlab-ctl start
    

    NOTE: If you disabled the primary site permanently, you need to undo those steps now. For Debian/Ubuntu you just need to run sudo systemctl enable gitlab-runsvdir. For CentOS 6, you need to install the GitLab instance from scratch and set it up as a secondary site by following Setup instructions. In this case, you don't need to follow the next step.

    NOTE: If you changed the DNS records for this site during disaster recovery procedure you may need to block all the writes to this site during this procedure.

  3. Set up database replication. In this case, the secondary site refers to the former primary site.

    1. If PgBouncer was enabled on the current secondary site (when it was a primary site) disable it by editing /etc/gitlab/gitlab.rb and running sudo gitlab-ctl reconfigure.
    2. You can then set up database replication on the secondary site.

If you have lost your original primary site, follow the setup instructions to set up a new secondary site.

Promote the secondary site to primary site

When the initial replication is complete and the primary site and secondary site are closely in sync, you can do a planned failover.

Restore the secondary site

If your objective is to have two sites again, you need to bring your secondary site back online as well by repeating the first step (configure the former primary site to be a secondary site) for the secondary site.