openGauss故障处理

108 阅读4分钟

介绍使用基于流式复制的异地容灾解决方案可能遇到的常见问题,并提供故障处理步骤。

下表列出了不同操作中问题现象、原因、解决方案。

容灾搭建异常

 容灾搭建错误信息参考

故障描述原因和解决方案
容灾搭建中主数据库实例执行容灾搭建返回如下错误,执行超时Result exception error : Failed to do check main standby connection. Because Waiting timeout: XXs。原因: 在主数据库实例数据量较大,或者异地网络带宽较小时,可能会出现灾备数据库实例未完成数据拷贝,主数据库实例就已经超时退出容灾搭建流程的情况。解决方案:- 若灾备数据库实例处于搭建过程中或者搭建已完成,可直接重入主数据库实例容灾搭建流程,主数据库实例会重新进入等待灾备连接状态。若能重新设置超时参数,可根据主数据库实例数据量大小与异地网络带宽,重新估算超时时间后再执行重入。
  • 若灾备数据库实例搭建过程也失败了,需要先针对灾备数据库实例进行故障处理,再重入数据库实例容灾搭建流程。 | | 搭建容灾关系过程中,由于主集群内的主dn发生切换导致容灾搭建失败。 | 原因: 主集群的主dn发生切换,灾备集群连接主集群进行数据build时断连导致搭建失败。解决方案:- 确认是否有人为进行主集群内主备切换的操作,如果有则停止该操作,如果没有则忽略。重新下发搭建命令。 |

灾备升主failover异常

 灾备升主failover错误信息参考

故障描述原因和解决方案
灾备数据库实例有故障节点未参与灾备数据库实例升主。原因: 因服务器宕机,网络中断等原因导致节点脱离灾备数据库实例,没有参与灾备数据库实例升主。解决方案:1. 故障节点修复后重新加入数据库实例。
  1. 修改CMS和CMA中关于数据库实例灾备模式的参数,切回主数据库实例配置。

    gs_guc set -Z cmserver -N all -I all -c "backup_open = 0" gs_guc set -Z cmagent -N all -I all -c "agent_backup_open=0" gs_guc set -Z cmagent -N all -I all -c "disaster_recovery_type= 0"
    
  2. 接入故障节点,查询CMS和CMA的进程ID,使用kill -9命令杀掉进程,然后进程会被om_monitor重启,完成CMS和CMA参数修改的生效。

  3. 手动修复改节点后使用cm_ctl start-n NODEID -D DATADIR。 |

计划内倒换switchover异常

 计划内switchover错误信息参考

故障描述原因和解决方案
计划内switchover中主数据库实例执行命令返回如下错误,提示主数据库实例产生一致性点失败Result exception error : Failed to generate switchover barrier before switchover原因: 在主数据库实例接收到计划内switchover命令,主数据库实例降为灾备数据库实例前会先产生一致性点switchover barrier,这是执行switchover的前提,用于保证主备数据库实例所有DN分片的日志停止在一致性点。由于主数据库实例内网络抖动等原因导致主数据库实例内产生switchover barrier失败将放弃本次计划内switchover。解决方案:- 等待灾备数据库实例执行switchover灾备升主命令超时退出后,计划内倒换switchover可在主数据库实例和灾备数据库实例重入执行。
  • 若多次执行switchover均出现日志截断失败,需进一步分析流式容灾相关日志文件。 | | Result exception error : Failed to do check switchover_barrier on all main standby dn and cn. Because check timeout: XXs | 原因: 在灾备数据库实例接收到计划内switchover命令,灾备数据库实例升为主数据库实例前会先在首备DN上查询是否收到一致性点switchover barrier,这是执行swichover的前提,用于保证主备数据库实例DN的日志停止在一致性点。由于异地网络异常等原因,灾备数据库实例在超时时间内无法获得switchover barrier将放弃执行本次计划内switchover。解决方案:- 等待主数据库实例执行switchover主降备命令超时退出后,计划内倒换switchover可在主数据库实例和灾备数据库实例重入执行。
  • 若多次执行switchover灾备数据库实例均出现switchover barrier获取失败,需进一步分析流式容灾相关日志文件。 |

灾备集群数据库实例故障

开源社区地址: gitee.com/opengauss/o…

详情查看:opengauss.org 详情查看:docs-opengauss.osinfra.cn #openGauss