HGDB集群(安全版)repmgr手动切换主备库

文章目录

文档用途

介绍HGDB集群(安全版)repmgr手动主备切换的方法,以及使用过程中的注意事项。

详细信息

repmgr集群主备切换使用的是repmgr standby switchover工具,它的作用是将备库提升为主库,所以该命令只能在备库上执行。

操作步骤;

①检查集群状态

sql 复制代码
 ID | Name          | Role    | Status    | Upstream      | Location | Priority | Replication lag | Last replayed LSN
----+---------------+---------+-----------+---------------+----------+----------+-----------------+-------------------
 1  | x.x.197.7 | standby |   running | x.x.197.8 | default  | 100      | 0 bytes         | 0/5007BD8
 2  | x.x.197.8 | primary | * running |               | default  | 100      | n/a             | none

②在备库上执行repmgr standby switchover

sql 复制代码
[root@ha1 .ssh]# repmgr standby  switchover

注意:

xml 复制代码
-------------------------------------------
Login User: sysdba
Login time: 2020-08-18 17:01:08.779533+08
Login Address: ha1
Last Login Status: SUCCESS
Login Failures: 0
Valied Until: 2020-08-25 14:03:03+08
-------------------------------------------
NOTICE: executing switchover on node "x.x.197.7" (ID: 1)

注意:

xml 复制代码
-------------------------------------------


Login User: sysdba
Login time: 2020-08-18 17:01:08.768112+08
Login Address: ha1
Last Login Status: SUCCESS
Login Failures: 0
Valied Until: 2020-08-25 14:03:03+08
-------------------------------------------

注意:

xml 复制代码
-------------------------------------------


Login User: sysdba
Login time: 2020-08-18 17:01:09.329686+08
Login Address: ha2
Last Login Status: SUCCESS
Login Failures: 0
Valied Until: 2020-08-25 14:03:03+08
-------------------------------------------

注意:

xml 复制代码
-------------------------------------------


Login User: sysdba
Login time: 2020-08-18 17:01:09.36233+08
Login Address: ha2
Last Login Status: SUCCESS
Login Failures: 0
Valied Until: 2020-08-25 14:03:03+08
-------------------------------------------

注意:

xml 复制代码
-------------------------------------------


Login User: sysdba
Login time: 2020-08-18 17:01:09.379521+08
Login Address: ha1
Last Login Status: SUCCESS
Login Failures: 0
Valied Until: 2020-08-25 14:03:03+08
-------------------------------------------

注意:

xml 复制代码
-------------------------------------------


Login User: sysdba
Login time: 2020-08-18 17:01:09.367691+08
Login Address: ha1
Last Login Status: SUCCESS
Login Failures: 0
Valied Until: 2020-08-25 14:03:03+08


-------------------------------------------

NOTICE: local node "x.x.197.7" (ID: 1) will be promoted to primary; current primary "x.x.197.8" (ID: 2) will be demoted to standby
NOTICE: stopping current primary node "x.x.197.8" (ID: 2)

注意:

xml 复制代码
-------------------------------------------


Login User: sysdba
Login time: 2020-08-18 17:01:09.525191+08
Login Address: ha2
Last Login Status: SUCCESS
Login Failures: 0
Valied Until: 2020-08-25 14:03:03+08


-------------------------------------------

NOTICE: issuing CHECKPOINT
DETAIL: executing server command "/opt/HighGo4.3.4.9-see/bin/pg_ctl  -D '/opt/HighGo4.3.4.9-see/data' -W -m fast stop"
INFO: checking for primary shutdown; 1 of 60 attempts ("shutdown_check_timeout")
INFO: checking for primary shutdown; 2 of 60 attempts ("shutdown_check_timeout")
NOTICE: current primary has been cleanly shut down at location 0/5007D60
Warning: Executing wildcard deletion to stay compatible with old scripts.
         Explicitly specify the prefix length (x.x.197.110/32) to avoid this warning.
         This special behaviour is likely to disappear in further releases,
         fix your scripts!
NOTICE: promoting standby to primary
DETAIL: promoting server "x.x.197.7" (ID: 1) using "/opt/HighGo4.3.4.9-see/bin/pg_ctl  -w -D '/opt/HighGo4.3.4.9-see/data' promote"
waiting for server to promote.... 完成
server promoted
NOTICE: waiting up to 60 seconds (parameter "promote_check_timeout") for promotion to complete
NOTICE: STANDBY PROMOTE successful
DETAIL: server "x.x.197.7" (ID: 1) was successfully promoted to primary

注意:

xml 复制代码
-------------------------------------------


Login User: sysdba
Login time: 2020-08-18 17:01:11.342397+08
Login Address: ha2
Last Login Status: SUCCESS
Login Failures: 0
Valied Until: 2020-08-25 14:03:03+08


-------------------------------------------

注意:

xml 复制代码
-------------------------------------------


Login User: sysdba
Login time: 2020-08-18 17:01:11.369129+08
Login Address: ha2
Last Login Status: SUCCESS
Login Failures: 0
Valied Until: 2020-08-25 14:03:03+08

-------------------------------------------

注意:

xml 复制代码
-------------------------------------------
Login User: sysdba
Login time: 2020-08-18 17:01:11.383934+08
Login Address: ha2
Last Login Status: SUCCESS
Login Failures: 0
Valied Until: 2020-08-25 14:03:03+08
-------------------------------------------
INFO: local node 2 can attach to rejoin target node 1
DETAIL: local node's recovery point: 0/5007D60; rejoin target node's fork point: 0/5007DD0
NOTICE: setting node 2's upstream to node 1
WARNING: unable to ping "host=x.x.197.8 user=sysdba dbname=highgo password=4t65da7s port=5866 connect_timeout=2"
DETAIL: PQping() returned "PQPING_NO_RESPONSE"
NOTICE: starting server using "/opt/HighGo4.3.4.9-see/bin/pg_ctl  -w -D '/opt/HighGo4.3.4.9-see/data' start"

注意:

xml 复制代码
-------------------------------------------


Login User: sysdba
Login time: 2020-08-18 17:01:11.662335+08
Login Address: ha2
Last Login Status: SUCCESS
Login Failures: 0
Valied Until: 2020-08-25 14:03:03+08
-------------------------------------------
NOTICE: NODE REJOIN successful
DETAIL: node 2 is now attached to node 1

注意:

xml 复制代码
-------------------------------------------

Login User: sysdba
Login time: 2020-08-18 17:01:11.691733+08
Login Address: ha1
Last Login Status: SUCCESS
Login Failures: 0
Valied Until: 2020-08-25 14:03:03+08
-------------------------------------------
NOTICE: switchover was successful
DETAIL: node "x.x.197.7" is now primary and node "x.x.197.8" is attached as standby
NOTICE: STANDBY SWITCHOVER has completed successfully

③检查集群状态

sql 复制代码
 ID | Name          | Role    | Status    | Upstream      | Location | Priority | Replication lag | Last replayed LSN
----+---------------+---------+-----------+---------------+----------+----------+-----------------+-------------------
 1  | x.x.197.7 | primary | * running |               | default  | 100      | n/a             | none
 2  | x.x.197.8 | standby |   running | x.x.197.7 | default  | 100      | 0 bytes         | 0/5009640

可以发现数据库的主备已经切换完毕。

注意事项:

1.实现主备切换需要进行互信操作,不然会报错。

WARNING: unable to connect to remote host "x.x.197.8" via SSH

ERROR: unable to connect via SSH to host "x.x.197.8", user ""

2.在切换时 repmgrd 不应该在 repmgr.conf中启用 failover=automatic或启动repmgrd,否则repmgrd守护进程可能尝试并自行提升备用数据库。

3.数据库的环境变量应该设置在.bashrc中否则会报错找不到repmgr。

ERROR: unable to execute "repmgr" on "x.x.197.8"

HINT: check "pg_bindir" is set to the correct path in "repmgr.conf"; current value: "/opt/HighGo4.3.4.9-see/bin"

4.建议在切换之前加上--dry-run,可以测试是否切换成功而不进行切换,测试成功后再进行正式切换。

相关推荐
llilian_162 小时前
IRIG-B码产生器立足用户痛点,提供精准授时解决方案
大数据·数据库·功能测试·单片机·嵌入式硬件·测试工具
guestsun2 小时前
SpringBoot七大事务失效场景分析
java·spring boot·mybatis
zuoerjinshu7 小时前
sql实战解析-sum()over(partition by xx order by xx)
数据库·sql
毕设源码-邱学长7 小时前
【开题答辩全过程】以 基于Java的学校住宿管理系统的设计与实现为例,包含答辩的问题和答案
java·开发语言
NocoBase8 小时前
【2.0 教程】第 1 章:认识 NocoBase ,5 分钟跑起来
数据库·人工智能·开源·github·无代码
兑生9 小时前
【灵神题单·贪心】1481. 不同整数的最少数目 | 频率排序贪心 | Java
java·开发语言
daidaidaiyu9 小时前
一文学习 Spring 声明式事务源码全流程总结
java·spring
Hoshino.4110 小时前
基于Linux中的数据库操作——下载与安装(1)
linux·运维·数据库
零雲10 小时前
java面试:了解抽象类与接口么?讲一讲它们的区别
java·开发语言·面试
Oueii11 小时前
Django全栈开发入门:构建一个博客系统
jvm·数据库·python