kingbaseES主备集群切换
  IE5LYMWlmdvL 2023年11月02日 38 0

测试环境

 

IP

VIP

OS

DB

主库

168.3.1.212

168.3.1.214

rhel7.6

KingbaseES V008R006C007B0012

备库

168.3.1.213

168.3.1.214

rhel7.6

KingbaseES V008R006C007B0012

SWITCH_OVER

switch_over指人为的计划性的切换.

1.确认节点信息

node1是主库,node2是备库.

kingbaseES主备集群切换_switch over

2.确认主备是否有延迟

当前备库没有延迟

kingbaseES主备集群切换_主备切换_02

3.在备库执行手动切换

kingbaseES主备集群切换_kingbaseES_03

4.验证

node1降级成备库,node2升级成主库

kingbaseES主备集群切换_主备切换_04

5.主备切换流程分析

node1和node2暂停repmgr进程.

node1执行checkpoint.

node1卸载vip.

node1停库.

确认node1上的数据库已经停止,并且node1上的vip已经卸载.

在node2上挂载vip.

在node2上运行promote命令,将node2升级为主库.node1升级为备库.

恢复node1和node2上的repmgr进程.

6.注意事项

如果集群中还有另外的备库(node3),那么在node2升级主库的命令需要增加参数如下:

repmgr standby switchover --siblings-follow

加入该参数,node2升级为主库后,会自动在node3执行repmgr standby follow命令,在主库中添加一个指向node3的复制槽.

FAIL_OVER

fail_voer指非人为计划性的切换,故障性的切换.

1.查看当前自动故障转移是否开启

kingbaseES主备集群切换_kingbaseES_05

2.查看当前的主库信息

kingbaseES主备集群切换_fail over_06

3.关闭node2上的数据库

kingbaseES主备集群切换_switch over_07

recovery='standby'说明将主库关闭后,集群不会自动将主库拉起.但是备库关闭后,会自动将备库拉起.

kingbaseES主备集群切换_switch over_08

4.一分钟后,再次查看集群各节点信息

可以看到node2关闭后,node1自动切换为主库了,此时的集群中有两个主库,node1启动,node2没启动.

kingbaseES主备集群切换_主备切换_09

5.一个集群中不可以有两个主库,此时需要将node2降级为备库,并重新加入集群

kingbaseES主备集群切换_fail over_10

6.验证

kingbaseES主备集群切换_fail over_11

7.注意事项

当集群中有两个主库时,很可能这两个主库的数据已经不一样了,此时要确定好到底选择让哪个节点降级为备库,降级命令和参数如下:

repmgr node rejoin -h 168.3.1.212 -d esrep -U esrep -p 54321 --force-rewind --no-check-wal

该节点以备库的身份重新加入集群,主库为168.3.1.212,强制与主库的数据保持一致,并且忽略时间线和lsn检查.

参考文档

KingbaseES主备和读写分离集群使用手册 — KingbaseES产品手册

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

IE5LYMWlmdvL