ಬಾಹ್ಯ PostgreSQL ಗೆ GitLab ಡೇಟಾಬೇಸ್‌ನ ಸ್ಥಳಾಂತರ

ಎಲ್ಲರೂ ಹಲೋ!

ಈ ಲೇಖನದಲ್ಲಿ, ನಾವು GitLab ಡೇಟಾಬೇಸ್ ಅನ್ನು GitLab ನೊಂದಿಗೆ ಸ್ಥಾಪಿಸಲಾದ ಆಂತರಿಕ PostgreSQL ನಿಂದ ಬಾಹ್ಯ PostgreSQL ಗೆ ಸ್ಥಳಾಂತರಿಸುತ್ತೇವೆ, ಇದನ್ನು ಈಗಾಗಲೇ ಮತ್ತೊಂದು ಸರ್ವರ್‌ನಲ್ಲಿ ಸ್ಥಾಪಿಸಲಾಗಿದೆ.

ಬಾಹ್ಯ PostgreSQL ಗೆ GitLab ಡೇಟಾಬೇಸ್‌ನ ಸ್ಥಳಾಂತರ

ಸೂಚನೆ
ಎಲ್ಲಾ ಕ್ರಿಯೆಗಳು 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

ಕಾಮೆಂಟ್ ಅನ್ನು ಸೇರಿಸಿ