repmgr整体架构简介
关键字: 人大金仓、KingbaseES、repmgr
- 整体架构
简介:流复制集群管理工具,负责监控流复制读写分离集群的监控,保障业务的高可用性。
主要功能:
- 处理各种节点故障,包括:计划外停机、网络故障、数据库停库时的主备切换;
- 对失效节点的自动恢复;
- 管理主备节点的同步异步;
- VIP管理;
- 监控网关的连通性;
- 提供部署、管理、查看集群的接口。
组件主要包括:
- repmgr
- repmgrd
- kbha
- repmgr.so
辅助脚本:sys_monitor.sh、repmgr.sh、cluster_install.sh(在10节中对该脚本进行了详细的分析,后续技术文档会不断推出相关内容)
如图所示,repmgrd守护进程之间是没有通信的,所有的repmgr均通过conninfo连接到数据库,读取、修改数据库中对应表的信息记录集群节点的状态信息。
repmgrd :流复制的守护进程,根据本地数据库角色不同,其功能也不同:
- 主库:repmgrd仅监控本地数据库,负责自动恢复、同异步切换;
- 备库:repmgrd监控本地数据库和主数据库,负责自动切换、复制槽删除。
kbha:第三方守护进程
- 检测和信任网关的连接状态;
- 负责拉起repmgrd;
- 如果连接信任网关失败,关闭repmgrd、数据库。
启动命令放入定时服务/etc/cron.d/KINGBASECRON,由定时任务拉起第三方守护进程
sys_monitor.sh:一键启停脚本,读取 etc/repmgr.conf 配置文件获取基本信息:
(1)启动:
- 启动本地数据库,获取集群所有节点信息;
- 启动其它节点的数据库,并判断主机个数,只有一个主机,在主机上加载VIP;没有主机或者主机数量超过一个,中断启动;
- 启动所有节点上的repmgrd;
- 启动所有节点上的kbha,并写入对应定时任务。
(2)停止:
- 连接本地数据库获取集群所有节点信息,连接失败则中断停止;
- 停止所有节点上的kbha,并注释对应定时任务;
- 停止所有节点上的repmgrd;
- 停止所有数据库,并卸载可能存在的VIP。
由启动和停止集群的步骤可知,启动和停止操作的执行顺序刚好相反,启动集群的时候,先启动本地和其它节点的数据库,然后再启动流复制的守护进程repmgrd,最后启动第三方的守护进程kbha,而停止的顺序刚好相反。
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




