记录一次PG数据库宕机的REPMGR切换
Posted 李石岩
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了记录一次PG数据库宕机的REPMGR切换相关的知识,希望对你有一定的参考价值。
1. PG数据库主节点发生宕机以后,确认repmgr cluster now已经发生了切换,原来备库变成主库。
2. 发生切换后需要对原来的主库进行恢复。
首先需要启动一次数据库,这是将这个要被恢复数据库进行刷新清理一次日志。
由于采用了zfs方式,发现zfs模块没启动,wiki搜索下zfs,启动下zfs,然后再进行执行以下语句。
systemctl start postgresql-11
然后repmgr cluster now,发现为双主了。
再次进行对该已经进行failvoer节点的进行关闭.
systemctl stop postgresql-11
再对数据库添加到数据库中。注意,该节点为原主库。xxx.xxx.xxx.xxx为新主库
repmgr -f ~/repmgr.conf node rejoin -d "host=xxx.xxx.xxx.xxx port=5432 user=repmgr dbname=repmgr password=xxx" --force-rewind
10几分钟后,数据库成功加入数据库集群。在此期间,我们检查了下pg_wal下的归档,发现重新加入主库的时候,有一段事件,新加入的这里面的日志为0,不要紧
我们等着就行了。
3.
应用要求PG数据库启动在25.132上,这样就必须将改数据库进行switchover。
首先关闭新主库上的vip
然后进行手动switchover
执行以下命令 postgres用户。
repmgr standby switchover -f ~/repmgr.conf --siblings-follow
2分钟左右切换成功
最后添加vip到25.132
4. 配置下repmgr守护进程。
postges用户
repmgrd -f ~/repmgr.conf -d
以上是关于记录一次PG数据库宕机的REPMGR切换的主要内容,如果未能解决你的问题,请参考以下文章