云数据库 GaussDB容灾集群查询容灾状态异常解决方法

97 阅读4分钟

告警解释

=======

GaussDB在维护灾备关系中,会定期查询主或灾备的容灾状态,对于查询主或灾备的容灾状态异常(例如:主实例全量同步失败,备实例全量恢复失败,主实例增量同步失败,备实例增量恢复失败),或主的RPO超阈值、或灾备的RTO超阈值, 均会产生告警。

  • RPO(Recovery Point Objective):即数据恢复点目标,指业务系统所能容忍的数据丢失量。
  • RTO(Recovery Time Objective):即恢复时间目标,指业务系统所能容忍的停服最长时间。

对系统的影响

主实例和灾备实例的RPO默认10s, RTO默认600s,超出阈值大小对容灾可靠性有影响。

可能原因

  • 当前的主/灾备实例状态异常。
  • 主Region实例或备Region实例节点替换后没有刷新容灾集群信息。

处理步骤

  1. 使用浏览器,以VDC管理员或VDC业务员账号登录ManageOne。

    非B2B场景登录地址:https://

    ManageOne运营面的访问地址

    。例如,console.demo.com。

    B2B场景登录地址:https://

    ManageOne租户面的访问地址

    。例如,tenant.demo.com。

    统一用户登录地址:https://

    ManageOne主门户的访问地址

    。例如,console.demo.com/moserviceac…

  2. 在页面左上角单击,选择“数据库 > 云数据库 GaussDB”。进入云数据库 GaussDB控制台。

  3. 单击“容灾管理”进入容灾管理页面。

  4. 单击告警实例关联的容灾任务名称,可以看到当前容灾关系的RPO、RTO信息,检查当前容灾RPO、RTO是否超过阈值。

  5. 针对RTO RPO超出阈值,可按照以下步骤进行排查。

    1. 排查主备实例是否进行过节点替换,如果进行过节点替换,参考《云数据库 GaussDB 24.1.30 流容灾最佳实践 (for 华为云Stack 8.3.1)》中的“容灾期间,节点替换后刷新集群信息”章节刷新集群信息。

    2. 在“告警 > 告警管理 > 当前告警”中查看告警信息,获取告警中的实例ID,参考登录实例节点,登录实例任一节点。

    3. 执行如下命令,导入环境变量。

      source /home/Ruby/gauss_env_file

    4. 执行如下指令,检查集群状态。

      cm_ctl query -Cvid

      如果当前集群状态异常,参考如下步骤修复集群。

      1. 进入“实例运维 > 通用表操作”页面,根据实例ID搜索实例Action:其中Action状态为 “OK_TO_RUN”,Action类型包含 “DISASTER_RELATION”字眼。

      2. 单击“切换状态”,切换实例Action状态,并记录切换过的Action。

      3. 根据异常组件类型,参考告警 ALM-5012947 云数据库 GaussDB ETCD服务异常ALM-5012951 云数据库 GaussDB DN服务异常进行修复。

      4. 待集群修复完成后,再次切换实例Action:切换的Action为记录的Action。

    5. 业务压力过大也会导致RPO和RTO超阈值。如因业务压力过大所致的异常,当业务压力降低时,会自动追平,告警自动消除。

    如果仍然无法解决问题,请执行7

  6. 如果发现主集群CN被踢除,且RPO超阈值,参考如下步骤处理。

    1. 参考登录实例节点,登录容灾主实例节点。

    2. 执行如下命令,导入环境变量

      source /home/Ruby/gauss_env_file

    3. 执行如下指令,检查主集群状态。

      cm_ctl query -Cvid

    4. 参考登录实例节点,登录灾备集群节点。

    5. 执行如下命令,导入环境变量

      source /home/Ruby/gauss_env_file

    6. 执行如下指令,检查灾备集群状态。

      cm_ctl query -Cvid

      如图所示,CN状态为“disconnected”的即为需要停止的CN节点。

    7. 执行如下命令,停止灾备实例相关CN节点。

      cm_ctl stop -n

      NODEID

      -D

      DATADIR

      NODEID需要替换为状态为“disconnected”的CN ID,DATADIR需要替换为CN节点的目录。

      停止灾备实例CN后RPO可恢复。

    8. 等主实例具有容灾关系的CN修复后,可执行如下命令重启灾备实例对应的CN。

      cm_ctl start -n

      NODEID

      -D

      DATADIR

      NODEID需要替换为已经停止的CN ID,DATADIR需要替换为CN节点的目录。

  7. 参考收集日志,下载节点日志,并收集告警信息、日志信息和配置信息,联系技术支持进行处理。

    需要下载的日志路径如下:

    Agent组件下的:

    • /home/Ruby/log/agent.log
    • /home/Ruby/log/asyncJobResult.dat

    GaussDB Kernel组件下的:/var/lib/log/Ruby

告警清除

此告警修复后,系统会自动清除此告警,无需手工清除。

参考信息

不涉及。

更多详情请参考GaussDB 文档中心:doc.hcs.huawei.com/db/zh-cn/ga…