GitLab datu bāzes migrēšana uz ārējo PostgreSQL

Sveiki visiem!

Šajā rakstā mēs migrēsim GitLab datu bāzi no iekšējā PostgreSQL, kas ir instalēta kopā ar GitLab, uz ārējo PostgreSQL, kas jau ir instalēta citā serverī.

GitLab datu bāzes migrēšana uz ārējo PostgreSQL

PIEZĪME
Tiek garantēts, ka visas darbības darbosies operētājsistēmās CentOS 7.7.1908, PostgreSQL 12 un GitLab 12.4.2-ee.0.

Iepriekšēja sagatavošana

Izdarīsim trīs lietas iepriekš:

1. PostgreSQL serverī pievienojiet ugunsmūrim kārtulu, kas atļauj ienākošos savienojumus ar PostgreSQL portu 5432/TCP.

Manā gadījumā:

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

2. Tajā pašā vietā, bet failā postgresql.conf, ļaujiet tīkla interfeisam pieņemt ienākošos savienojumus no ārpuses. Atveriet failu postgresql.conf, atrodiet komentēto rindiņu "#listen_addresses = 'localhost'" un zem tā pievienojiet rindiņu, piemēram, zemāk. Kur - 10.0.0.2, jūsu interfeisa adrese.

Manā gadījumā:

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. Tā kā GitLab serveris izveidos savienojumu ar ārēju datu bāzi, tas ir jāatļauj PostgreSQL serverī failā pg_hba.conf. Mana GitLab servera adrese ir 10.0.0.4.

Atveram failu pg_hba.conf un pievienosim tur rindiņu:

host    all             gitlab               10.0.0.4/24             md5

Tas izskatīsies šādi:

# 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

Visbeidzot, mēs restartējam pakalpojumu postgresql:

systemctl restart postgresql-12.service

GitLab datu bāzes eksportēšana

Veiksim datu bāzes dublēšanu GitLab serverī:

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

Dublējums parādījās mapē /tmp:

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

Kopēsim šo kopiju uz PostgreSQL serveri:

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

"Internal-gitlab.sql" importēšana programmā PostgreSQL

Importējiet datu bāzi programmā PostgreSQL:

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

Pārbaudiet, vai datu bāze tagad atrodas PostgreSQL:

sudo -u postgres psql -l

Jāparādās šādai rindai:

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

GitLab konfigurēšana

Pēc datu bāzes importēšanas PostgreSQL tika izveidots gitlab lietotājs. Jums ir jāmaina šī lietotāja parole.

Paroles maiņa:

sudo -u postgres psql -c "ALTER USER gitlab ENCRYPTED PASSWORD 'ПАРОЛЬ' VALID UNTIL 'infinity';"
Password for user postgres:
ALTER ROLE

Pēc tam GitLab serverī konfigurācijas failā /etc/gitlab/gitlab.rb mēs norādīsim visus ārējā PostgreSQL datus.

Izveidosim faila gitlab.rb dublējumkopiju:

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

Tagad pievienojiet šīs rindas faila gitlab.rb beigām:

# Отключить встроенный 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'] = '******'

Saglabājiet failu /etc/gitlab/gitlab.rb un atkārtoti konfigurējiet GitLab:

gitlab-ctl reconfigure && gitlab-ctl restart

Tas ir viss :)

Liels lūgums. Ja ieliekat mīnusu, ierakstiet iemeslu komentāros.

Avots: www.habr.com

Pievieno komentāru