GitLab adatbázisának migrálása külső PostgreSQL-re

Mindenkinek szia!

Ebben a cikkben a GitLab adatbázisát migráljuk az integrált PostgreSQL-ről, amely a GitLab-bal együtt települ, egy külső PostgreSQL-re, amely már egy másik szerveren van telepítve.

GitLab adatbázisának migrálása külső PostgreSQL-re

MEGJEGYZÉS
Minden lépés garantáltan működik CentOS 7.7.1908, PostgreSQL 12 és GitLab 12.4.2-ee.0 verziókkal.

Előzetes előkészítés

Előre végezzünk el három lépést:

1. A szerveren PostgreSQL esetében a tűzfalhoz adjunk hozzá egy szabályt, amely engedélyezi a bejövő kapcsolatok fogadását a PostgreSQL 5432/TCP porton.

Az én esetemben:

firewall-cmd --add-service=postgresql --zone=internal --permanent
siker
firewall-cmd --reload
siker

2. Ugyanott, de a postgresql.conf fájlban engedélyezzük a hálózati interfész számára a bejövő kapcsolatok fogadását. Nyissuk meg a postgresql.conf fájlt, keressük meg a kommentált sort „#listen_addresses = ‘localhost’” és alatta adjuk hozzá a következő sort. Itt – 10.0.0.2, az ön interfésze.

Az én esetemben:

vi /var/lib/pgsql/12/data/postgresql.conf
# - Kapcsolati beállítások -

#listen_addresses = 'localhost'         # milyen IP-cím(ek)et figyeljen;
listen_addresses = 'localhost, 10.0.0.2'
                                        # vesszővel elválasztott címek listája;

3. Mivel a GitLab szerver csatlakozik a külső adatbázishoz, ezt engedélyezni kell a pg_hba.conf fájlban. Az én GitLab szerverem címe 10.0.0.4. szerveren Nyissuk meg a pg_hba.conf fájlt, és adjuk hozzá a következő sort:

host all gitlab 10.0.0.4/24 md5

Ez így fog kinézni:

És végül indítsuk újra a postgresql szolgáltatást:

# TYPE  DATABASE        USER            ADDRESS                 METHOD

# "local" is for Unix domain socket connections only
local   all             postgres                                     md5

# IPv4 local connections:
host    all             postgres             127.0.0.1/32            md5
host    all             gitlab               10.0.0.4/24             md5

systemctl restart postgresql-12.service

GitLab adatbázis exportálása

Készítsük el az adatbázis biztonsági másolatát a GitLab szerveren:

sudo -u gitlab-psql /opt/gitlab/embedded/bin/pg_dumpall -U gitlab-psql --host=/var/opt/gitlab/postgresql > /tmp/internal-gitlab.sql

A biztonsági másolat megjelent a /tmp mappában:

ls -lh total 836K -rw-r--r--. 1 root root 836K Nov 18 12:59 internal-gitlab.sql

Másoljuk át ezt a másolatot a PostgreSQL szerverre:

scp /tmp/internal-gitlab.sql 10.0.0.2:/tmp/ internal-gitlab.sql 100% 835KB 50.0MB/s 00:00

Az „internal-gitlab.sql” importálása PostgreSQL-be

Importáljuk az adatbázist PostgreSQL-be:

sudo -u postgres psql -f /tmp/internal-gitlab.sql

Ellenőrizzük, hogy az adatbázis most már a PostgreSQL-ben van:

sudo -u postgres psql -l

Meg kell jelennie a következő sornak:

gitlabhq_production | gitlab | UTF8 | en_US.UTF-8 | en_US.UTF-8 |

GitLab konfigurálása

Az adatbázis PostgreSQL-be való importálása után létrejött a gitlab felhasználó. Meg kell változtatnia ennek a felhasználónak a jelszavát.

A jelszó megváltoztatása:

sudo -u postgres psql -c "ALTER USER gitlab ENCRYPTED PASSWORD 'JELSZÓ' VALID UNTIL 'infinity';" Jelszó a postgres felhasználónak: ALTER ROLE

Ezután a GitLab szerveren a /etc/gitlab/gitlab.rb konfigurációs fájlban adjuk meg az összes külső PostgreSQL adatot.

Készítsünk egy biztonsági másolatot a gitlab.rb fájlról:

cp /etc/gitlab/gitlab.rb /etc/gitlab/gitlab.rb.orig

Most a gitlab.rb fájl végére adjuk hozzá ezeket a sorokat:

Mentjük a /etc/gitlab/gitlab.rb fájlt, és újra konfiguráljuk a GitLab-ot:

# Отключить встроенный PostgreSQL.
postgresql['enable'] = false

# Данные для подключения к внешней базе. Указывайте свои.
gitlab_rails['db_adapter'] = 'postgresql'
gitlab_rails['db_encoding'] = 'utf8'
gitlab_rails['db_host'] = '10.0.0.2'
gitlab_rails['db_port'] = 5432
gitlab_rails['db_database'] = "gitlabhq_production"
gitlab_rails['db_username'] = 'gitlab'
gitlab_rails['db_password'] = '******'

gitlab-ctl reconfigure && gitlab-ctl restart

És ez mind 🙂

Ennyi volt 🙂

Kérlek, ha mínusz jelet adtál, írd meg az okát a megjegyzésben.

Forrás: habr.com

Megbízható hosting vásárlása weboldalak számára, DDoS védelemmel, VPS VDS szerverek. 🔥 Megbízható webtárhely vásárlása DDoS védelemmel, VPS VDS szerverek | ProHoster