KingbaseES V8R6集群运维案例--主库PITR恢复后备库无法连接到集群

发布时间 2023-06-06 15:32:59作者: KINGBASE研究院

案例说明:
KingbaseES V8R6集群,在主库执行PITR恢复后,clone备库;但是启动集群后,备库无法连接到主库,流复制状态和集群节点状态异常。

适用版本:
KingbaseES V8R6

一、问题现象

如下图所示,集群备库节点状态和流复制异常:

二、问题分析

1、检查备库数据库服务状态
如下图所示,sys_log日志显示备库已经可以正常连接,通过ksql可以访问数据库。

2、备库执行repmgr standby follow注册上游节点(upstream)
如下图所示,备库执行“repmgr standby follow”成功,但是查看集群节点状态仍然异常。

如下图所示,集群节点状态:

3、执行repmgr standby register
在备库执行“repmgr standby register”后,集群节点状态仍然异常。

三、问题解决

1、重启备库数据库服务
在重启备库数据库服务时,发现启动失败,查看sys_log 日志:

---如上图所示,在备库的sys_log日志中发现事务恢复的日志信息,经与操作人员沟通,此集群主库先做过PITR的数据库恢复,然后做了备库的clone。

2、检查备库的kingbase.auto.conf文件
如下图所示,备库的kingbase.auto.conf文件中仍然包含有PITR恢复后的配置参数,导致数据库服务启动后就自动又执行了PITR的恢复,数据库服务启动失败。
Tips:
对于recovery的参数,应该在主库恢复完成后,启动数据库服务前将参数删除或注释,然后再执行备库的clone。

3、清理PITR恢复参数
将主备库下kingbase.auto.conf中的recovery相关参数注释或删除,重新启动备库数据库服务后,集群节点状态及流复制恢复正常。

四、总结
对于集群执行PITR的恢复,KingbaseES的官方文档有很好的解释和说明,大家可以参考。
https://help.kingbase.com.cn/v8/highly/backup-restore/backup/sys-rman-5.html#id20
以下为关键注意事项: