repmgr+pg12构建高可用集群(1)

1、概述

repmgr是第二象限开源的一套流复制集群管理工具,看一下官方的介绍:

repmgr是一个开源工具套件,用于管理PostgreSQL服务器群集中的复制和故障转移。它通过设置备用服务器,监视复制以及执行管理任务(如故障转移或手动切换操作)的工具,增强了PostgreSQL的内置热备用功能。

repmgrde 的特点:

分布式管理集群节点,易扩展,可在线增删集群节点;

架构如下:

repmgr+pg12构建高可用集群(1)

 2、部署

主节点:

  1. 配置好相关参数
  2. 启动数据库
  3. 利用“repmgr primary register”命令实现对主节点的注册。(该注册的目的是把配置文件的一些主要参数写到元数据表中,以便repmgr系统对集群节点的识别操作等。)
  4. 启动repmgrd守护进程。

备节点:

  1. 配置好相关参数
  2. 利用“repmgr standby clone”命令对主节点进行物理拷贝。
  3. 启动数据库
  4. 利用“repmgr standby register”命令实现对备节点的注册。
  5. 启动repmgrd守护进程。

集群每个节点部署成功后都会启动repmgrd守护进程,该守护进程可以处理故障转移和记录监控数据;

3、实际操作

操作环境:

centos7.6

3.1.安装pg12(见前面的帖子)

3.2.获取repmgr安装包

https://yum.postgresql.org/12/redhat/rhel-7-x86_64/repoview/

repmgr+pg12构建高可用集群(1)

 3.3.安装repmgr

rpm -ivh repmgr12-5.1.0-1.rhel7.x86_64.rpm

3.4.repmgr参数配置

vim /etc/repmgr/12/repmgr.conf
##填写必须配置项
node_id=1
node_name=node1
conninfo=‘host=192.168.101.9 port=5432 user=postgres  dbname=postgres‘
data_directory=‘/var/lib/pgsql/12/data‘

3.5.数据库参数配置

vim /var/lib/pgsql/12/data/postgresql.conf
#配置参数
shared_preload_libraries = ‘repmgr‘ listen_addresses = ‘*‘vim /var/lib/pgsql/12/data/pg_hba.conf#配置参数
  # IPv4 local connections:  host    all             all             0.0.0.0/0            trust  #新增

3.6.重启数据库后连接数据库创建插件(./psql -Upostgres -dpostgres)

CREATE EXTENSION repmgr;

3.7.注册主数据库

[ bin]$ ./repmgr primary register
INFO: connecting to primary database...
INFO: "repmgr" extension is already installed
NOTICE: primary node record (ID: 1) registered

3.8.集群状态查看

[ bin]$ ./repmgr cluster show
 ID | Name  | Role    | Status    | Upstream | Location | Priority | Timeline | Connection string
----+-------+---------+-----------+----------+----------+----------+----------+-------------------------------------------------------------
 1  | node1 | primary | * running |          | default  | 100      | 1        | host=192.168.101.9 port=5432 user=postgres  dbname=postgres

注册备数据库在下节进行记录。。

相关推荐