lunix gitlab+postgresql搭建gitlab私服实现高可用

任务目标:搭建内网高可用gitlab私服。/ 参考博客 /
实现方法:两台服务器上部署完全一样的gitlab,其中gitlab有关文件采用 inotify + rsync 进行同步,数据库采用psql主从,且实现开机自启与数据自动备份。
准备两台服务器,环境如下

系统版本:    Centos7
数据库版本:  9.6.11
主库:       192.168.32.123
从库:       192.168.32.124
安装有gcc:  yum install gcc(安装命令)

安装前查了下内存情况,确保内存充足
192.168.32.123
在这里插入图片描述
192.168.32.124
在这里插入图片描述

一、安装postgresql

1. 安装postgresql
以下操作步骤主从两个节点都执行:

# 下载源码包
wget --no-check-certificate https://ftp.postgresql.org/pub/source/v9.6.11/postgresql-9.6.11.tar.gz
# 安装psql
yum install readline* zlib –y
tar -zxvf postgresql-9.6.11.tar.gz
cd postgresql-9.6.11
./configure --prefix=/data/postgresql/ --without-zlib
make 
make install
adduser postgres
mkdir /data/postgresql/data
chown postgres /data/postgresql/data

2. 主库初始化
以下操作步骤只在主库执行:

# 只在主库初始化
su - postgres
/data/postgresql/bin/initdb -D /data/postgresql/data
#初始化完毕之后启动数据库
/data/postgresql/bin/pg_ctl -D /data/postgresql/data -l logfile start

在这里插入图片描述

# 修改监听配置
vim /data/postgresql/data/postgresql.conf
# 修改内容
listen_addresses = '*'

在这里插入图片描述

# 添加允许访问数据库的网段
vim /data/postgresql/data/pg_hba.conf
# 添加内容
host    all             all             0.0.0.0/0            trust

在这里插入图片描述
3. 主库配置

# 以下为主数据库配置
# 创建复制用户,专门进行主从同步使用
su – postgres
/data/postgresql/bin/psql
create user rpl superuser password '123456';

在这里插入图片描述

# 主库上配置从库允许的网段
vim /data/postgresql/data/pg_hba.conf
# 添加内容
host    replication     rpl            192.168.32.0/0         md5

在这里插入图片描述

# 修改主库参数文件
vim /data/postgresql/data/postgresql.conf
# 添加内容
wal_level = hot_standby   #启用流复制  
max_wal_senders=2         #流复制允许连接进程  
wal_keep_segments =64     #xlog目录中最多容纳多少个wal日志文件,超过了则删掉最初的几个。
max_connections = 1000    #主库最大连接数

# 重启主库服务
/data/postgresql/bin/pg_ctl -D /data/postgresql/data -l logfile restart

在这里插入图片描述
4. 从库配置
以下操作步骤只在从库执行:

# 基础备份
#在从库无需拷贝主库的数据文件到本地,使用pg_basebackup可将主库的数据文件通过网络复制到本地、包括目录结构
#备注:如果主库存在自定义表空间,此操作会失败
/data/postgresql/bin/pg_basebackup -h 192.168.32.123 -p 5432 -U rpl -F p -x -P -R -D /data/postgresql/data/

在这里插入图片描述

# 从库配置文件配置
vim /data/postgresql/data/postgresql.conf
# 添加内容
hot_standby = on #从库上执行只读操作   
max_standby_streaming_delay = 30s #从库接收主库日志最大超时时间  
wal_receiver_status_interval = 10s #从库向主库报告的最大时间间隔  
hot_standby_feedback = off #从库与主库发生冲突的反馈信息  
max_connections = 1500 #数据库最大连接数

# 创建恢复文件recovery.conf
# recovery.conf 用于主库,从库切换时的参数配置。如果从库没有recovery.conf文件可拷贝模板
vim /data/postgresql/data/recovery.conf
# 添加内容
recovery_target_timeline = 'latest'
standby_mode = 'on'
primary_conninfo = 'host=192.168.32.123 port=5432 user=rpl password=123456'

# 启动从库服务
chmod -R 0700 /data/postgresql/data/
su - postgres
/data/postgresql/bin/pg_ctl -D /data/postgresql/data -l logfile start 

在这里插入图片描述

# 重启(此操作是为了看下是否正常启动)
/data/postgresql/bin/pg_ctl -D /data/postgresql/data -l logfile restart 

重启如果报如下错误,请赋予权限
在这里插入图片描述
回到root用户下执行chown -R postgres:root /data/postgresql/data

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值