Postgres主从(2)Repmgr基本命令

2024-02-25 04:58

本文主要是介绍Postgres主从(2)Repmgr基本命令,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

命令简介

命令说明
repmgr primary register安装pg的repmgr扩展并注册为主节点
repmgr primary unregister注销不活动的主节点
repmgr standby clone从其他节点复制数据到从节点
repmgr standby register注册从节点(添加从的信息到repmgr元数据)
repmgr standby unregisterrepmgr元数据中移除从的信息
repmgr standby promote将从提升为主
repmgr standby follow将从跟随新主
repmgr standby switchover将从提升为主并将主降级为从
repmgr witness register注册一个观察节点
repmgr witness unregister移除一个观察节点
repmgr node status显示节点的基本信息和复制状态
repmgr node check从复制的角度对节点进行健康监测
repmgr node rejoin重新加入一个失效节点到集群
repmgr cluster show显示所有集群中注册的节点信息
repmgr cluster matrix在所有节点运行show并汇总
repmgr cluster crosscheck在节点间两两交叉监测连接
repmgr cluster event输出时间记录
repmgr cluster cleanup清理监控历史

repmgr primary register注册主

说明

在集群中注册一个主节点,并配置PostgreSQL安装repmgr扩展,必须在所有从节点注册前注册

参数

  • -f:指定配置文件
  • –dry-run:测试命令执行条件是否满足,但不实际执行

将触发primary_register事件

repmgr primary unregister注销主

说明

注销非活动状态的主,典型场景是当主宕机,新主已产生时用本命令注销老主

参数

  • –node-id:要注销的主的nodeId
  • –dry-run:测试命令执行条件是否满足,但不实际执行

将触发primary_unregister 事件

repmgr standby clone克隆数据到从

说明

从其他节点(一般是主节点)克隆数据,并自动创建recovery.conf文件

克隆后并未启动从,需要先用repmgr standby register注册从,然后再启动数据库

PGDATA中postgresql.conf, postgresql.auto.conf, pg_hba.conf和pg_ident.conf等所有文件都将被复制,需要修改配置文件

自动创建recovery.conf

自动创建的以下配置

  • standby_mode:值总是on
  • recovery_target_timeline:值总是’latest’
  • primary_conninfo
  • primary_slot_name (如果使用复制槽)

如果repmgr.conf下配置了以下参数也将被复制到recovery.conf

  • restore_command
  • archive_cleanup_command
  • recovery_min_apply_delay

参数

  • –dry-run:测试命令执行条件是否满足,但不实际执行
  • -c, --fast-checkpoint:强制fast checkpoint
  • 其他参数见https://repmgr.org/docs/repmgr.html#REPMGR-STANDBY-CLONE

将触发standby_clone 事件

repmgr standby register 注册从

参数

  • –upstream-node-id:可选,复制源的NodeID
  • –dry-run:测试命令执行条件是否满足,但不实际执行

将触发standby_register 事件

repmgr standby unregister 注销从

并不会影响复制,只将元数据中删除从信息

参数

  • –node-id:可选,要注销的NodeId

将触发standby_unregister 事件

repmgr standby promote 提升从

说明

当主宕机时将从提升为主

执行成功成为主后,不需要重启PG。其他的从需要跟随新主(使用repmgr standby follow)

示例

$ repmgr -f /etc/repmgr/10/repmgr.conf standby promote

将触发standby_promote 事件

repmgr standby follow从跟随新主

示例

测试

repmgr -f /etc/repmgr.conf standby follow --dry-run

执行操作

repmgr -f /etc/repmgr.conf standby follow

将触发standby_follow 事件

事件参数

  • %p:新主的NodeID
  • %c:conninfo字符串
  • %a:本节点的node name

repmgr standby switchover主从切换

说明

提升从为主,并将主降级为从

需要主和从间可进行无密码的SSH连接

需要任何节点的repmgrd处于关闭状态

参数

  • –always-promote:即使主从不一致也将执行提升(原来的主将被关闭)
  • –dry-run:检查
  • –siblings-follow:让其他从跟随新主
  • –force-rewind[=/path/to/pg_rewind]:当主从不一致时使用pg_rewind重新同步主从

repmgr.conf

  • reconnect_attempts: 在原主执行关闭后进行完全关闭检查的次数
  • reconnect_interval: 在原主执行关闭后进行完全关闭检查的间隔时间
  • replication_lag_critical: 复制延迟(秒)超过该值退出主从切换
  • standby_reconnect_timeout: 原主降级重启后尝试连接到其的超时秒数.

新主将触发standby_switchover和standby_promote 事件

standby_switchover参数

  • %p:旧主的node id

旧主将触发node_rejoin 事件

repmgr node status节点状态

检查当前节点的基本信息和复制状态

例如:

$ repmgr node status
Node "node1":PostgreSQL version: 10beta1Total data size: 30 MBConninfo: host=node1 dbname=repmgr user=repmgr connect_timeout=2Role: primaryWAL archiving: offArchive command: (none)Replication connections: 2 (of maximal 10)Replication slots: 0 (of maximal 10)Replication lag: n/a

repmgr node check 节点复制检查

从复制的角度对本地节点进行检查

例如

$ repmgr -f /etc/repmgr.conf node check
Node "node1":Server role: OK (node is primary)Replication lag: OK (N/A - node is primary)WAL archiving: OK (0 pending files)Downstream servers: OK (2 of 2 downstream nodes attached)Replication slots: OK (node has no replication slots)

参数说明:

  • –role: 检查角色是否如预期
  • –replication-lag: 检查延迟是否超过repmgr.conf配置的replication_lag_warning或replication_lag_critical
  • –archive-ready: 检查WAL文件是否被存档
  • –downstream: 检查下游节点是否如预期
  • –slots: 检查是否有非活动的复制槽

repmgr node rejoin节点重新加入

说明

将休眠(已停止)节点重新加入到复制群集

可选择使用pg_rewind来重新加入脱离集群的节点,通常是发生故障的主节点。

提示: 如果节点正在运行并且需要连接到当前的主节点,请使用 repmgr standby follow

参数

repmgr node rejoin

  • -d:必须,指定集群中任何可访问的节点的conninfo
  • –dry-run:测试
  • –force-rewind[=/path/to/pg_rewind]:需要时使用pg_rewind
  • –config-files:逗号间隔的保留文件,pg_rewind会重写所有文件,这里可指定保留的文件
  • –config-archive-dir:临时存放config-files的位置,默认/tmp

触发node_rejoin 事件

repmgr cluster show集群状态

repmgr cluster matrix集群连通性矩阵

repmgr cluster event 事件查询

参数

  • –all: 输出所有数据
  • –limit: 设置最大输出数量 (default: 20)
  • –node-id: 查询指定node id的事件
  • –node-name: 查询指定node name的事件
  • –event: 查询指名称的事件

repmgr cluster cleanup

如果监控数据在repmgr.conf中设置以下参数

  • monitoring_history:yes/no,是否启用监控
  • #monitor_interval_secs:监控间隔时间

监控数据量很大需要定期清理

本命令通过参数-k/–keep-history只保留指定天数的数据

例如保留30天

repmgr cluster cleanup -k30

这篇关于Postgres主从(2)Repmgr基本命令的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/744454

相关文章

MyBatis-Flex BaseMapper的接口基本用法小结

《MyBatis-FlexBaseMapper的接口基本用法小结》本文主要介绍了MyBatis-FlexBaseMapper的接口基本用法小结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具... 目录MyBATis-Flex简单介绍特性基础方法INSERT① insert② insertSelec

JAVA调用Deepseek的api完成基本对话简单代码示例

《JAVA调用Deepseek的api完成基本对话简单代码示例》:本文主要介绍JAVA调用Deepseek的api完成基本对话的相关资料,文中详细讲解了如何获取DeepSeekAPI密钥、添加H... 获取API密钥首先,从DeepSeek平台获取API密钥,用于身份验证。添加HTTP客户端依赖使用Jav

Redis的Zset类型及相关命令详细讲解

《Redis的Zset类型及相关命令详细讲解》:本文主要介绍Redis的Zset类型及相关命令的相关资料,有序集合Zset是一种Redis数据结构,它类似于集合Set,但每个元素都有一个关联的分数... 目录Zset简介ZADDZCARDZCOUNTZRANGEZREVRANGEZRANGEBYSCOREZ

C++中使用vector存储并遍历数据的基本步骤

《C++中使用vector存储并遍历数据的基本步骤》C++标准模板库(STL)提供了多种容器类型,包括顺序容器、关联容器、无序关联容器和容器适配器,每种容器都有其特定的用途和特性,:本文主要介绍C... 目录(1)容器及简要描述‌php顺序容器‌‌关联容器‌‌无序关联容器‌(基于哈希表):‌容器适配器‌:(

Linux使用dd命令来复制和转换数据的操作方法

《Linux使用dd命令来复制和转换数据的操作方法》Linux中的dd命令是一个功能强大的数据复制和转换实用程序,它以较低级别运行,通常用于创建可启动的USB驱动器、克隆磁盘和生成随机数据等任务,本文... 目录简介功能和能力语法常用选项示例用法基础用法创建可启动www.chinasem.cn的 USB 驱动

关于Maven生命周期相关命令演示

《关于Maven生命周期相关命令演示》Maven的生命周期分为Clean、Default和Site三个主要阶段,每个阶段包含多个关键步骤,如清理、编译、测试、打包等,通过执行相应的Maven命令,可以... 目录1. Maven 生命周期概述1.1 Clean Lifecycle1.2 Default Li

使用Python进行文件读写操作的基本方法

《使用Python进行文件读写操作的基本方法》今天的内容来介绍Python中进行文件读写操作的方法,这在学习Python时是必不可少的技术点,希望可以帮助到正在学习python的小伙伴,以下是Pyth... 目录一、文件读取:二、文件写入:三、文件追加:四、文件读写的二进制模式:五、使用 json 模块读写

Redis主从/哨兵机制原理分析

《Redis主从/哨兵机制原理分析》本文介绍了Redis的主从复制和哨兵机制,主从复制实现了数据的热备份和负载均衡,而哨兵机制可以监控Redis集群,实现自动故障转移,哨兵机制通过监控、下线、选举和故... 目录一、主从复制1.1 什么是主从复制1.2 主从复制的作用1.3 主从复制原理1.3.1 全量复制

windows系统下shutdown重启关机命令超详细教程

《windows系统下shutdown重启关机命令超详细教程》shutdown命令是一个强大的工具,允许你通过命令行快速完成关机、重启或注销操作,本文将为你详细解析shutdown命令的使用方法,并提... 目录一、shutdown 命令简介二、shutdown 命令的基本用法三、远程关机与重启四、实际应用

Linux使用nohup命令在后台运行脚本

《Linux使用nohup命令在后台运行脚本》在Linux或类Unix系统中,后台运行脚本是一项非常实用的技能,尤其适用于需要长时间运行的任务或服务,本文我们来看看如何使用nohup命令在后台... 目录nohup 命令简介基本用法输出重定向& 符号的作用后台进程的特点注意事项实际应用场景长时间运行的任务服