【Gitlab 15.3.2高可用搭建】

Gitlab高可用

1.PG主从安装

#postgres 安装
 
yum -y install readline readline-devel zlib-devel
 
 
tar -xvf postgresql-12.10.tar.gz
 
cd postgresql-12.10
 
 ./configure
 
make && make install

PostgreSQL默认安装目录为 /usr/local/pgsql/

#创建用户:
 
groupadd -g 1004  postgres
 
useradd postgres -u 1004 -g postgres
 
pass@pg
 
 
 
#建议数据及日志目录
 
mkdir -p /data/pgsql/5432
 
mkdir -p /data/logs/pgsql
 
mkdir /data/pgsql/5432/arch
 
mkdir /data/pgsql/5432/arch_master

更改文件夹所有者为用户postgres

chown postgres.postgres -R /data/pgsql/

chown postgres.postgres -R /data/logs/pgsql

chown postgres.postgres -R /usr/local/pgsql

设置 profile

export PGHOME="/usr/local/pgsql/"

export PGDATA="/data/pgsql/5432/"

PATH=$PATH:$HOME/.local/bin:$HOME/bin:$PGHOME/bin

export PATH

初始化数据库

su "postgres"

/usr/local/pgsql/bin/initdb -D /data/pgsql/5432

设置开机自启

cd /data/xjk/software/mysql/postgresql-10.3/contrib/start-scripts

cp linux /etc/init.d/postgresql

chkconfig --add postgresql

chkconfig  postgresql on

上面安装步骤需要在主备库都安装
在主库操作:

su postgres

cd /usr/local/pgsql/bin

./psql

创建replication 用户 同步数据库

CREATE ROLE repl login replication password 'repl123';

创建 gitlab 用户设置

ALTER ROLE gitlab CREATEROLE CREATEDB

CREATE USER gitlab WITH PASSWORD 'password@gitlab';

CREATE DATABASE gitlabhq_production OWNER gitlab;

GRANT ALL PRIVILEGES ON DATABASE gitlabhq_production TO gitlab;

ALTER ROLE gitlab CREATEROLE SUPERUSER;

修改Master库的pg_hba.conf,把Master库和Standby库的IP地址添加进Master库网络策略白名单中,使Standby库可以连上Master库,同时便于主备切换。

host    all             all             192.168.1.205/32         trust

host    all             all             192.168.1.207/32         trust

host    replication     repl            192.168.1.205/32         md5

host    replication     repl            192.168.1.207/32         md5

修改参数文件

vi postgresql.conf

************************************

wal_level= logical

max_wal_senders = 10   # at least the number of standby

archive_mode = on

archive_command =  'test ! -f /data/pgsql/5432/arch/%f && cp %p /data/pgsql/5432/arch/%f'

synchronous_standby_names = ''   #standby application name, in recover.conf

hot_standby=on

$ vi recovery.done

******************************************

standby_mode=on

restore_command = 'cp /data/pgsql/5432/arch_master/%f %p'

primary_conninfo='application_name=pg2 host=192.168.1.207 port=5432 user=repl password=repl123'

archive_cleanup_command ='pg_archivecleanup /data/pgsql/5432/arch_master %r'

recovery_target_timeline = 'latest'

*********************************************

重启数据库

/usr/local/pgsql/bin/pg_ctl -D /data/pgsql/5432  -l /data/logs/pgsql/postgres.log restart

查看服务是否启动成功

ps -ef | grep postgres

在备库操作:
同步pg到 备库

scp -r postgres@192.168.1.205: /data/pgsql/5432  /data/pgsql/5432

/usr/local/pgsql/bin/pg_basebackup -h 192.168.1.205 -U repl -D  /data/pgsql/5432 -X stream –P

psql -h 192.168.1.205 -U gitlab -d gitlabhq_production -p 5432
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值