资讯专栏INFORMATION COLUMN

PG级联流复制部署步骤

IT那活儿 / 2792人阅读
PG级联流复制部署步骤

点击上方“IT那活儿”公众号,关注后了解更多内容,不管IT什么活儿,干就完了!!!


  
现在业务生产库使用的是ORCLE—DG架构,目前计划使用postgresql作为去O替代品,由于主库承受的系统压力较大,也会使用一主多从的情况,为了减轻主库压力,需要增加从库个数这时就可以使用级联流复制增加从库,下面介绍具体部署步骤。

原理图:

主库配置

1. 配置postgresql.conf参数

使用命令找到postgre进程:

ps -ef | grep postgres

复制目录,cd进入:

cd /var/lib/pgsql/13/data/

vi postgresql.conf

修改下列参数:

wal_level = hot_standby

max_wal_senders = 5

hot_standby = on

2. 修改pg_hba.conf文件

Pg_hba.conf文件在postggresql.config同一目录下:

vi pg_hba.conf

新增一行,允许复制用户访问主库:

host all             all             0.0.0.0/0               md5

3. 新建replication_user用户

create user replication_user replication password 123456;

Master=>Slave1异步流复制配置

1. 在slave1的主机上执行 pg_basebackup

pg_basebackup -h 192.168.XX.132 -U replication_user -D /var/lib/pgsql/13/data2/ -Xs -P -R

2. 执行命令后,主库的一些连接信息会自动写入写入备库postgresql.auto.conf文件,注释掉这些内容.

vi postgresql.auto.conf

#
primary_conninfo = user=replication_user password=123456
channel_binding=prefer host=192.168.xx.132 port=5432
sslmode=prefer sslcompression=0
ssl_min_protocol_version=TLSv1.2 gssencmode=prefer
krbsrvname=postgres target_session_attrs=any

3. 配置postgresql.conf参数

vi postgresql.conf

修改primary_conninfo参数为:

user=replication_user passfile=/var/lib/pgsql/.pgpass 
host=192.168.XX.132 port=5432 application_name=slavedb1

4. 新增.pgpass密码文件

vi ~/.pgpass

#
写入

192.168.XX.132:5432:replication:replication_user:123456

#
修改权限

chmod 0600 ~/.pgpass

5. 开启slavedb1的postgres服务进程

/usr/pgsql-13/bin/pg_ctl -D /var/lib/pgsql/13/data2/ start

查看日志:

Slave1=>Slave2异步流复制配置

1. 在slave1的主机上执行 pg_basebackup基础备份与恢复。

2. 执行命令后,步骤同2.2,注释掉postgresql.auto.conf多出来的内容,配置postgresql.conf参数文件。

3. 配置postgresql.conf参数

修改primary_conninfo参数为:

user=replication_user passfile=/var/lib/pgsql/.pgpass host=192.168.XX.128

port=5433 application_name=slavedb3

4. 新增.pgpass密码文件

vi ~/.pgpass

#
写入

192.168.XX.128:5433:replication:replication_user:123456

#
修改权限

chmod 0600 ~/.pgpass

5. 开启slavedb1的postgres服务进程

/usr/pgsql-13/bin/pg_ctl -D /var/lib/pgsql/13/data2/ start

查看日志:

查看级联复制状态

1. 主库查询

Select 
pid,usename,application_name,client_addr,state,sync_state,sy
nc_priority from pg_stat_replication;

2. Slave1上查询

Select 
pid,usename,application_name,client_addr,state,sync_state,sy
nc_priority from pg_stat_replication;

3. 验证数据

  • 主库操作:

create table t_sr(id int4);

Insert into t_sr values(1);

Select * from t_sr;

  • Slave1上查询:

Select * from t_sr;

  • Slave3上查询:

Select * from t_sr;

总结:

PG级联流复制可以解决主库压力或跨机房的多份数据传输的问题,一般都会和repmgr工具搭配使用,来实现基于NAS共享存储的负载均衡策略。

由于篇幅限制,本次展示的部署步骤没有repmgr的内容,所以步骤跟mysql的级联复制差不多,都是从库套从库。但PostgreSQL 借助repmgr工具管理的级联数据复制有些不同,可以从PG的从库进行数据的CLONE 制作新的从节点,然后在将从节点连接到主库,并且PostgreSQL 中的复制是stream replication 而不是类似MYSQL 的逻辑复制。

关于repmgr工具的内容,以后有机会再行展示。


本文作者:吴航舟(上海新炬王翦团队)

本文来源:“IT那活儿”公众号

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/129299.html

相关文章

  • 新书推荐 |《PostgreSQL实战》出版(提供样章下载)

    摘要:作者谭峰张文升出版日期年月页数页定价元本书特色中国开源软件推进联盟分会特聘专家撰写,国内多位开源数据库专家鼎力推荐。张文升中国开源软件推进联盟分会核心成员之一。 很高兴《PostgreSQL实战》一书终于出版,本书大体上系统总结了笔者 PostgreSQL DBA 职业生涯的经验总结,本书的另一位作者张文升拥有丰富的PostgreSQL运维经验,目前就职于探探科技任首席PostgreS...

    Martin91 评论0 收藏0
  • 初识Postgres-XL

    摘要:所有节点中分为三种角色全局事务管理器协调器和数据节点。一旦故障,整个集群立刻无法访问,此时可以切换到节点上。 第一节 简介Postgres-XL是一款开源的PG集群软件,XL代表eXtensible Lattice,即可扩展的PG格子之意,以下简称PGXL。官方称其既适合写操作压力较大的OLTP应用,又适合读操作为主的大数据应用。它的前身是Postgres-XC(简称PGXC),...

    JasinYip 评论0 收藏0
  • 私有云搭建-私有云搭建之存储虚拟化

    摘要:平台采用分布式存储系统作为虚拟化存储,用于对接虚拟化计算及通用数据存储服务,消除集中式网关,使客户端直接与存储系统进行交互,并以多副本纠删码多级故障域数据重均衡故障数据重建等数据保护机制,确保数据安全性和可用性。云计算平台通过硬件辅助的虚拟化计算技术最大程度上提高资源利用率和业务运维管理的效率,整体降低 IT 基础设施的总拥有成本,并有效提高业务服务的可用性、可靠性及稳定性。在解决计算资源的...

    ernest.wang 评论0 收藏0
  • PostgreSQL升级方案

    摘要:小版本更新不受影响,比如到升级不受影响。下面介绍两种升级方案可供选择,均是官方文档提及的方案官方文档参考。方案命令是直接对旧的数据库目录文件进行升级的方案,直接将旧版本的数据文件格式升级为新版本使用的格式。 PostgreSQL在默认情况下,是不能跨版本升级的(9.4, 9.5, 9.6等等这些版本跨版本升级。小版本更新不受影响,比如9.6.1到9.6.2升级不受影响)。甚至PG为了数...

    darkerXi 评论0 收藏0
  • PostgreSQL9.5:pg_rewind 快速恢复备节点

    摘要:上操作备注执行抛出以上错误,错误内容很明显。再次上操作备注成功。启动原主库,上操作数据验证上操作备注成功,原主库现在是以备库角色启动,而且数据表也同步过来了。三原理四参考的主备切换使用搭建流复制环境 了解 PG 的朋友应该知道 PG 的主备切换并不容易,步骤较严谨,在激活备节点前需主动关闭主节点,否则再想以备节点角色拉起主节点会比较困难,之前博客介绍过主备切换,PostgreSQL H...

    hersion 评论0 收藏0

发表评论

0条评论

IT那活儿

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<