Migrasi database GitLab menyang PostgreSQL eksternal

ВсСм ΠŸΡ€ΠΈΠ²Π΅Ρ‚!

Ing artikel iki, kita bakal migrasi database GitLab saka PostgreSQL internal, sing diinstal karo GitLab, menyang PostgreSQL eksternal, sing wis diinstal ing server liyane.

Migrasi database GitLab menyang PostgreSQL eksternal

CATETAN
Kabeh tumindak dijamin bisa digunakake ing CentOS 7.7.1908, PostgreSQL 12 lan GitLab 12.4.2-ee.0.

Persiyapan awal

Ayo padha nindakake telung perkara sadurunge:

1. Ing server PostgreSQL, nambah aturan kanggo firewall sing ngidini sambungan mlebu menyang port PostgreSQL 5432/TCP.

Ing kasusku:

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

2. Ing panggonan sing padha, nanging ing file postgresql.conf, ngidini antarmuka jaringan kanggo nampa sambungan mlebu saka njaba. Bukak file postgresql.conf, golek baris komentar "#listen_addresses = 'localhost'"lan ing ngisor iki tambahake baris kaya ing ngisor iki. Where - 10.0.0.2, alamat antarmuka sampeyan.

Ing kasusku:

vi /var/lib/pgsql/12/data/postgresql.conf
# - Connection Settings -

#listen_addresses = 'localhost'         # what IP address(es) to listen on;
listen_addresses = 'localhost, 10.0.0.2'
                                        # comma-separated list of addresses;

3. Wiwit server GitLab bakal nyambung menyang database external, iki kudu diijini ing server PostgreSQL ing file pg_hba.conf. Alamat server GitLabku yaiku 10.0.0.4.

Ayo mbukak file pg_hba.conf lan tambahake baris ing kana:

host    all             gitlab               10.0.0.4/24             md5

Bakal katon kaya iki:

# 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

Lan pungkasane, kita miwiti maneh layanan postgresql:

systemctl restart postgresql-12.service

Ngekspor database GitLab

Ayo gawe serep database ing server GitLab:

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

Cadangan katon ing /tmp:

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

Ayo nyalin salinan iki menyang server PostgreSQL:

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

Ngimpor "internal-gitlab.sql" menyang PostgreSQL

Ngimpor database menyang PostgreSQL:

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

Priksa manawa database saiki ana ing PostgreSQL:

sudo -u postgres psql -l

Garis ing ngisor iki kudu katon:

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

Konfigurasi GitLab

Sawise ngimpor database menyang PostgreSQL, pangguna gitlab digawe. Sampeyan kudu ngganti tembung sandhi pangguna iki.

Ngganti tembung sandhi:

sudo -u postgres psql -c "ALTER USER gitlab ENCRYPTED PASSWORD 'ΠŸΠΠ ΠžΠ›Π¬' VALID UNTIL 'infinity';"
Password for user postgres:
ALTER ROLE

Banjur, ing server GitLab, ing file konfigurasi /etc/gitlab/gitlab.rb, kita bakal nuduhake kabeh data saka PostgreSQL eksternal.

Ayo nggawe salinan serep file gitlab.rb:

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

Saiki tambahake baris iki menyang mburi file gitlab.rb:

# ΠžΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ встроСнный 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'] = '******'

Simpen file /etc/gitlab/gitlab.rb lan konfigurasi ulang GitLab:

gitlab-ctl reconfigure && gitlab-ctl restart

Wis ngono wae :)

Panjaluk gedhe. Yen sampeyan menehi minus, tulis alesan ing komentar.

Source: www.habr.com

Add a comment