repmgr


难度 中等

repmgr用于管理 PostgreSQL 服务器集群内的复制和故障转移。repmgr 支持并增强了 PostgreSQL 的内置流复制,它提供了一个单一的读/写主服务器和一个或多个只读备用服务器。

repmgr 流复制管理工具对 PostgreSQL 集群节点的管理是基于分布式的管理方式。集群每个节点都具备一个 repmgr.conf 配置文件,用来记录本节点的 ID、节点名称、连接信息、数据库的 PGDATA 目录等配置参数。在完成参数配置后,就可以通过 repmgr 命令实现对集群节点的 “一键式” 部署。

其架构如下图

集群节点部署完成后,每个节点都可通过 repmgrd 守护进程来监控节点数据库状态;每个节点元数据表可独立维护,这些元数据表将记录所有集群节点的信息。

repmgr 节点分类

repmgr 选举原理

repmgr工具

repmgr主要由两个执行程序组成,一个为repmgr,另一个repmgrd。

  • repmgr

    repmgr 是一个执行管理任务的命令行工具,方便进行 PostgreSQL 服务器集群的管理。具备以下功能特点:

    • 主从切换
    • 设置备用服务器
    • promote设备
    • 显示复制集群中服务器状态
  • repmgrd

    repmgrd 是一个守护进程,它主动监视复制集群中的服务器并支持以下任务:

    • 记录和监控复制集群信息
    • 故障检查和故障转移
    • 集群事件通知

repmgr扩展

为了有效地管理复制集群,repmgr 需要将集群中节点的相关信息存储在 repmgr 专用数据库表中。此架构由 repmgr 扩展自动创建,该扩展在初始化由 repmgr 管理的集群(repmgr primary register)的第一步中安装,并包含以下对象:

  • Tables:
    • repmgr.events: records events of interest
    • repmgr.nodes: 复制集群中每个节点的连接和状态信息
    • repmgr.monitoring_history: repmgrd 写入的历史备用监控信息
  • Views:
    • repmgr.show_nodes: 基于 repmgr.nodes 表,另外显示服务器上游节点的名称
    • repmgr.replication_status: 当启用 repmgrd 的监控时,显示每个 standby 的监控状态。repmgr 元数据信息可以存储在已有的数据库或在自己的专用数据库。

reference

  1. http://www.it120.vip/yq/6164.html
  2. https://blog.csdn.net/zhaowenzhong/article/details/80774466

文章作者: growdu
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 growdu !
  目录
分类导航
随笔2 AI27 算法1 计算机基础13 博客搭建7 ChatGPT2 集群63 计算机通信1 数据库34 数据库深入80 DPDK26 Docker11 Elasticsearch4 编辑工具4 FAQ1 Go Web1 hometown2 编程语言16 网络9 OPC1 Linux38 openGauss4 页面12 PostgreSQL54 程序员自我修养1 协议11 成长之路1 stock1 存储5 工具20 VPP18 视频作品1 Vue13 Web1 代码示例11 数据库15 BenchmarkSQL1 PostgreSQL 源码修炼之路14
最热文章
1
13 逻辑复制深入
数据库深入🔥 1570
2
0 Postgresql存储、索引及系统优化、主备切换
PostgreSQL🔥 1495
3
一文读懂openguass dcf网络模块
集群🔥 1420
4
逻辑复制源码分析
数据库深入🔥 1327
5
PostgreSQL 分区表:从一行 `PARTITION BY` 到路由热路径的全链路拆解
数据库🔥 1094
6
applyparallelworker.c 之 LA 端源码深度解析:Leader Apply Worker 的指挥中枢
数据库深入🔥 1082
7
PostgreSQL Background Worker 全解:从 `RegisterBackgroundWorker` 到逻辑复制 4 类 worker 的全生命周期
数据库🔥 1078
8
PostgreSQL的后台进程walsender分析 - 关系型数据库 - 亿速云
PostgreSQL🔥 1033
9
PostgreSQL 逻辑复制的监控:六张视图 + 一组可执行 SQL,把 publisher/subscriber 的速率与健康度彻底看透
数据库🔥 1032
10
PostgreSQL 逻辑复制支持 DDL 之后:DDL 与 DML 的时序难题(重点:分区表)
数据库🔥 999
11
reorderbuffer.c 源码深度解析:PostgreSQL 逻辑复制的"事务重组引擎
数据库深入🔥 953
12
PostgreSQL 内核开发:读取一张表的 9 步标准流程与缓存全景
数据库🔥 938
13
从 `postgres` 二进制到生产级守护 —— PostgreSQL 最外层模块与启动全流程拆解
数据库🔥 936
14
支持逻辑复制同步 DDL 适配 SQL Server 方案
数据库深入🔥 934
15
PostgreSQL 逻辑复制的 ReorderBuffer 与事务机制:从一行 WAL 到一致性变更流的全链路绑定
数据库🔥 913
16
DDL同步架构(美化版)
数据库深入🔥 908
17
PostgreSQL Latch 机制详解:从一行 SetLatch 到 epoll 的内核之旅
数据库🔥 871
18
pgbench 源码全解:一个 C 文件如何撑起 PostgreSQL 官方压测工具
数据库🔥 860
19
PostgreSQL libpq 机制与缓冲区详解
数据库🔥 850
20
PostgreSQL 逻辑复制 spill 文件深度剖析:从 `xid-*.spill` 到 TPC-C 的增长方程
数据库🔥 845