Hello kila mtu!
Katika nakala hii, tutahamisha hifadhidata ya GitLab kutoka kwa PostgreSQL ya ndani, ambayo imewekwa na GitLab, hadi PostgreSQL ya nje, ambayo tayari imewekwa kwenye seva nyingine.
NOTE
Vitendo vyote vimehakikishiwa kufanya kazi kwenye CentOS 7.7.1908, PostgreSQL 12 na GitLab 12.4.2-ee.0.
Maandalizi ya awali
Wacha tufanye mambo matatu mapema:
1. Kwenye seva ya PostgreSQL, ongeza sheria kwenye ngome inayoruhusu miunganisho inayoingia kwenye mlango wa PostgreSQL 5432/TCP.
Katika kesi yangu:
firewall-cmd --add-service=postgresql --zone=internal --permanent
success
firewall-cmd --reload
success
2. Katika sehemu moja, lakini katika faili ya postgresql.conf, ruhusu kiolesura cha mtandao kukubali miunganisho inayoingia kutoka nje. Fungua faili ya postgresql.conf, pata mstari uliotolewa maoni "#sikiliza_anwani = 'mwenyeji wa ndani'" na chini yake ongeza mstari kama hapa chini. Ambapo - 10.0.0.2, anwani ya kiolesura chako.
Katika kesi yangu:
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. Kwa kuwa seva ya GitLab itaunganishwa kwenye hifadhidata ya nje, hii lazima iruhusiwe kwenye seva ya PostgreSQL katika faili ya pg_hba.conf. Anwani yangu ya seva ya GitLab ni 10.0.0.4.
Wacha tufungue faili ya pg_hba.conf na tuongeze laini hapo:
host all gitlab 10.0.0.4/24 md5
Itakuwa kama hii:
# 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
Na mwishowe, tunaanza tena huduma ya postgresql:
systemctl restart postgresql-12.service
Inahamisha hifadhidata ya GitLab
Wacha tufanye nakala rudufu kwenye seva ya GitLab:
sudo -u gitlab-psql /opt/gitlab/embedded/bin/pg_dumpall -U gitlab-psql --host=/var/opt/gitlab/postgresql > /tmp/internal-gitlab.sql
Hifadhi rudufu ilionekana katika /tmp:
ls -lh
total 836K
-rw-r--r--. 1 root root 836K Nov 18 12:59 internal-gitlab.sql
Wacha tunakili nakala hii kwa seva ya PostgreSQL:
scp /tmp/internal-gitlab.sql 10.0.0.2:/tmp/
internal-gitlab.sql 100% 835KB 50.0MB/s 00:00
Kuingiza "internal-gitlab.sql" kwenye PostgreSQL
Ingiza hifadhidata kwenye PostgreSQL:
sudo -u postgres psql -f /tmp/internal-gitlab.sql
Angalia kuwa hifadhidata sasa iko kwenye PostgreSQL:
sudo -u postgres psql -l
Mstari ufuatao unapaswa kuonekana:
gitlabhq_production | gitlab | UTF8 | en_US.UTF-8 | en_US.UTF-8 |
Inasanidi GitLab
Baada ya kuingiza hifadhidata kwenye PostgreSQL, mtumiaji wa gitlab aliundwa. Unahitaji kubadilisha nenosiri la mtumiaji huyu.
Kubadilisha nenosiri:
sudo -u postgres psql -c "ALTER USER gitlab ENCRYPTED PASSWORD 'ΠΠΠ ΠΠΠ¬' VALID UNTIL 'infinity';"
Password for user postgres:
ALTER ROLE
Kisha, kwenye seva ya GitLab, katika faili ya usanidi /etc/gitlab/gitlab.rb, tutaonyesha data zote za PostgreSQL ya nje.
Wacha tutengeneze nakala rudufu ya faili ya gitlab.rb:
cp /etc/gitlab/gitlab.rb /etc/gitlab/gitlab.rb.orig
Sasa ongeza mistari hii hadi mwisho wa faili ya 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'] = '******'
Hifadhi faili /etc/gitlab/gitlab.rb na upange upya GitLab:
gitlab-ctl reconfigure && gitlab-ctl restart
Ni hayo tu :)
Ombi kubwa. Ikiwa utaweka minus, andika sababu katika maoni.
Chanzo: mapenzi.com