ಎಲ್ಲರೂ ಹಲೋ!
ಈ ಲೇಖನದಲ್ಲಿ, ನಾವು GitLab ಡೇಟಾಬೇಸ್ ಅನ್ನು GitLab ನೊಂದಿಗೆ ಸ್ಥಾಪಿಸಲಾದ ಆಂತರಿಕ PostgreSQL ನಿಂದ ಬಾಹ್ಯ PostgreSQL ಗೆ ಸ್ಥಳಾಂತರಿಸುತ್ತೇವೆ, ಇದನ್ನು ಈಗಾಗಲೇ ಮತ್ತೊಂದು ಸರ್ವರ್ನಲ್ಲಿ ಸ್ಥಾಪಿಸಲಾಗಿದೆ.
ಸೂಚನೆ
ಎಲ್ಲಾ ಕ್ರಿಯೆಗಳು CentOS 7.7.1908, PostgreSQL 12 ಮತ್ತು GitLab 12.4.2-ee.0 ನಲ್ಲಿ ಕೆಲಸ ಮಾಡಲು ಖಾತರಿಪಡಿಸಲಾಗಿದೆ.
ПредвР° рительнР° СЏ подготовкР°
ಮೂರು ವಿಷಯಗಳನ್ನು ಮುಂಚಿತವಾಗಿ ಮಾಡೋಣ:
1. PostgreSQL ಸರ್ವರ್ನಲ್ಲಿ, PostgreSQL ಪೋರ್ಟ್ 5432/TCP ಗೆ ಒಳಬರುವ ಸಂಪರ್ಕಗಳನ್ನು ಅನುಮತಿಸುವ ಫೈರ್ವಾಲ್ಗೆ ನಿಯಮವನ್ನು ಸೇರಿಸಿ.
ನನ್ನ ವಿಷಯದಲ್ಲಿ:
firewall-cmd --add-service=postgresql --zone=internal --permanent
success
firewall-cmd --reload
success
2. ಅದೇ ಸ್ಥಳದಲ್ಲಿ, ಆದರೆ postgresql.conf ಕಡತದಲ್ಲಿ, ಹೊರಗಿನಿಂದ ಒಳಬರುವ ಸಂಪರ್ಕಗಳನ್ನು ಸ್ವೀಕರಿಸಲು ನೆಟ್ವರ್ಕ್ ಇಂಟರ್ಫೇಸ್ ಅನ್ನು ಅನುಮತಿಸಿ. postgresql.conf ಫೈಲ್ ಅನ್ನು ತೆರೆಯಿರಿ, ಕಾಮೆಂಟ್ ಮಾಡಿದ ಲೈನ್ ಅನ್ನು ಹುಡುಕಿ "#listen_addresses = 'ಸ್ಥಳೀಯ ಹೋಸ್ಟ್'" ಮತ್ತು ಅದರ ಅಡಿಯಲ್ಲಿ ಕೆಳಗಿನಂತೆ ಒಂದು ಸಾಲನ್ನು ಸೇರಿಸಿ. ಎಲ್ಲಿ - 10.0.0.2, ನಿಮ್ಮ ಇಂಟರ್ಫೇಸ್ ವಿಳಾಸ.
ನನ್ನ ವಿಷಯದಲ್ಲಿ:
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. GitLab ಸರ್ವರ್ ಬಾಹ್ಯ ಡೇಟಾಬೇಸ್ಗೆ ಸಂಪರ್ಕಗೊಳ್ಳುವುದರಿಂದ, ಇದನ್ನು pg_hba.conf ಫೈಲ್ನಲ್ಲಿರುವ PostgreSQL ಸರ್ವರ್ನಲ್ಲಿ ಅನುಮತಿಸಬೇಕು. ನನ್ನ GitLab ಸರ್ವರ್ ವಿಳಾಸ 10.0.0.4.
pg_hba.conf ಫೈಲ್ ಅನ್ನು ತೆರೆಯೋಣ ಮತ್ತು ಅಲ್ಲಿ ಸಾಲನ್ನು ಸೇರಿಸೋಣ:
host all gitlab 10.0.0.4/24 md5
ಇದು ಈ ರೀತಿ ಕಾಣಿಸುತ್ತದೆ:
# 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
ಮತ್ತು ಅಂತಿಮವಾಗಿ, ನಾವು postgresql ಸೇವೆಯನ್ನು ಮರುಪ್ರಾರಂಭಿಸುತ್ತೇವೆ:
systemctl restart postgresql-12.service
GitLab ಡೇಟಾಬೇಸ್ ಅನ್ನು ರಫ್ತು ಮಾಡಲಾಗುತ್ತಿದೆ
GitLab ಸರ್ವರ್ನಲ್ಲಿ ಡೇಟಾಬೇಸ್ ಬ್ಯಾಕಪ್ ಅನ್ನು ನಿರ್ವಹಿಸೋಣ:
sudo -u gitlab-psql /opt/gitlab/embedded/bin/pg_dumpall -U gitlab-psql --host=/var/opt/gitlab/postgresql > /tmp/internal-gitlab.sql
ಬ್ಯಾಕಪ್ / tmp ನಲ್ಲಿ ಕಾಣಿಸಿಕೊಂಡಿದೆ:
ls -lh
total 836K
-rw-r--r--. 1 root root 836K Nov 18 12:59 internal-gitlab.sql
ಈ ನಕಲನ್ನು PostgreSQL ಸರ್ವರ್ಗೆ ನಕಲಿಸೋಣ:
scp /tmp/internal-gitlab.sql 10.0.0.2:/tmp/
internal-gitlab.sql 100% 835KB 50.0MB/s 00:00
PostgreSQL ಗೆ "internal-gitlab.sql" ಅನ್ನು ಆಮದು ಮಾಡಿಕೊಳ್ಳಲಾಗುತ್ತಿದೆ
PostgreSQL ಗೆ ಡೇಟಾಬೇಸ್ ಅನ್ನು ಆಮದು ಮಾಡಿ:
sudo -u postgres psql -f /tmp/internal-gitlab.sql
ಡೇಟಾಬೇಸ್ ಈಗ PostgreSQL ನಲ್ಲಿದೆಯೇ ಎಂದು ಪರಿಶೀಲಿಸಿ:
sudo -u postgres psql -l
ಕೆಳಗಿನ ಸಾಲು ಕಾಣಿಸಿಕೊಳ್ಳಬೇಕು:
gitlabhq_production | gitlab | UTF8 | en_US.UTF-8 | en_US.UTF-8 |
GitLab ಅನ್ನು ಕಾನ್ಫಿಗರ್ ಮಾಡಲಾಗುತ್ತಿದೆ
ಡೇಟಾಬೇಸ್ ಅನ್ನು PostgreSQL ಗೆ ಆಮದು ಮಾಡಿದ ನಂತರ, gitlab ಬಳಕೆದಾರರನ್ನು ರಚಿಸಲಾಗಿದೆ. ನೀವು ಈ ಬಳಕೆದಾರರ ಪಾಸ್ವರ್ಡ್ ಅನ್ನು ಬದಲಾಯಿಸಬೇಕಾಗಿದೆ.
ಗುಪ್ತಪದವನ್ನು ಬದಲಾಯಿಸುವುದು:
sudo -u postgres psql -c "ALTER USER gitlab ENCRYPTED PASSWORD 'ПАРОЛЬ' VALID UNTIL 'infinity';"
Password for user postgres:
ALTER ROLE
ನಂತರ, GitLab ಸರ್ವರ್ನಲ್ಲಿ, ಕಾನ್ಫಿಗರೇಶನ್ ಫೈಲ್ /etc/gitlab/gitlab.rb ನಲ್ಲಿ, ನಾವು ಬಾಹ್ಯ PostgreSQL ನ ಎಲ್ಲಾ ಡೇಟಾವನ್ನು ಸೂಚಿಸುತ್ತೇವೆ.
ನಾವು gitlab.rb ಫೈಲ್ನ ಬ್ಯಾಕಪ್ ನಕಲನ್ನು ಮಾಡೋಣ:
cp /etc/gitlab/gitlab.rb /etc/gitlab/gitlab.rb.orig
ಈಗ ಈ ಸಾಲುಗಳನ್ನು 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'] = '******'
/etc/gitlab/gitlab.rb ಫೈಲ್ ಅನ್ನು ಉಳಿಸಿ ಮತ್ತು GitLab ಅನ್ನು ಮರುಸಂರಚಿಸಿ:
gitlab-ctl reconfigure && gitlab-ctl restart
ಅಷ್ಟೇ :)
ದೊಡ್ಡ ವಿನಂತಿ. ನೀವು ಮೈನಸ್ ಹಾಕಿದರೆ, ಕಾಮೆಂಟ್ಗಳಲ್ಲಿ ಕಾರಣವನ್ನು ಬರೆಯಿರಿ.
ಮೂಲ: www.habr.com