全国最完整的Repmgr高可用Postgresql

本文详述了使用Repmgr构建Postgresql高可用集群的完整过程,包括服务器选择、环境安装、集群架构、步骤配置及测试。通过Keepalived实现主备虚拟IP,确保单点故障时的平滑切换。避免使用shell脚本处理VIP,强调避免编译安装repmgr以减少问题。每一步骤都至关重要,确保数据一致性和高可用性。
摘要由CSDN通过智能技术生成

标题应该没有违反广告法,因为不是商品

本教程为全国最完整的PGSQL高可用集群方案,以下的每一个步骤都事关重要。

如果你发现网上有比这个完整的教程,那肯定是百度搜索引擎的问题。

repmgr做主备搭建相对PGPOOL要容易一些,而且也不像PGPOOL那样有性能损耗。

用keepalived的目的是为了主备虚拟一个集群IP地址出来,避免单节点故障。

使用VIP进程守护的目的是为了避免VIP漂移到备用节点上。

不使用shell脚本处理VIP保持主节点的原因是不够灵活,逻辑不易理解,会给后续部署带来麻烦。

尽量避免使用编译安装的方式安装repmgr,会遇到很多问题。

为什么主节点挂了之后,主节点漂移,原来主节点需要手动添加到集群,当遇到这种情况的时候,建议人工介入检查一下,避免数据不一致。

田尚滨

----2021年15月01日

准备服务器

PGSQL一定要CPU多

数据库服务嘛,硬盘要大

安装环境

Centos7.8

Posgresql10

Repmgr10

两台服务器:

192.168.126.143

192.168.126.144

服务器名称:

hostnamectl set-hostname post1

hostnamectl set-hostname post2

数据库集群架构图

整体设计思路

1.先两台机器都安装Posgresql

2.两台机器都安装Repmgr

3.两台机器都设置postgres用户的相互信任

4.其中一台机器设置好po stgresql的配置文件,并且初始化数据库

5.另一台机器克隆数据库

6.修改repmgr的配置

7.将两台机器加入集群节点

8.测试两台都关机

9.测试关机一台

10.安装keepalived配置VIP

11.配置高可用

安装步骤

1.分别安装Postgresql和Repmgr

 
两节点同时操作

yum install -y gcc bison gcc-c++ readline readline-devel zlib zlib-devel perl perl-devel telnet openssl openssl-devel

systemctl stop firewalld

安装PGSQL

sudo yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm

sudo yum install -y postgresql10-server

sudo /usr/pgsql-10/bin/postgresql-10-setup initdb

sudo systemctl enable postgresql-10

sudo systemctl start postgresql-10

安装REPMGR

curl https://dl.2ndquadrant.com/default/release/get/10/rpm | sudo bash

sudo yum repolist

yum search repmgr

yum --showduplicates list repmgr10

yum install repmgr10-4.4-1.el7

su postgres

ln -s /usr/pgsql-11/bin/repmgr /usr/local/sbin/

exit

安装完成后的路径如下:

可执行目录/usr/pgsql-10/bin/

数据实例的目录/var/lib/pgsql/10/data/

修改主节点的postgesql.conf


别的地方不改,默认改这几个地方

listen_addresses = '*' # what IP address(es) to listen on;

# comma-separated list of addresses;

# defaults to 'localhost'; use '' for all

# (change requires restart)

port = 5432 # (change requires restart)

max_connections = 1000 # (change requires restart)

wal_log_hints=on

archive_mode=on

archive_command='test ! -f /pgarch/%f && cp %p /pgarch/%f'

shared_preload_libraries='repmgr'

修改主节点的pg_hba.conf


注意IP地址根据自己情况来配置

local all all peer

# IPv4 local connections:

host all all 127.0.0.1/32 trust

host all all 172.16.108.54/32 md5

host all all 192.168.126.144/32 trust

host all all 192.168.126.143/32 trust

host all all 0.0.0.0/0 md5

# IPv6 local connections:

host all all ::1/128 ident

# Allow replication connections from localhost, by a user with the

# replication privilege.

local replication repmgr trust

local repmgr repmgr trust

host replication repmgr 127.0.0.1/32 trust

host replication repmgr 192.168.126.143/32 trust

host replication 
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

xcagy

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值