GaussDB云数据库流容灾主从切换备集群升主失败如何解决?

136 阅读4分钟

告警解释

=======

云数据库 GaussDB 搭建容灾关系后,灾备实例开始升主,因灾备升主失败,产生该告警。

对系统的影响

容灾中主备集群主从切换时,灾备集群升主失败,而无法搭建正常容灾关系,容灾功能无法使用。

可能原因

  • 灾备集群异常。
  • 备份任务冲突。
  • 容灾主从切换超时时间设置过小。

处理步骤

  1. 使用浏览器,通过地址“https://

    ManageOne运维面主页的访问地址

    :31943”,登录ManageOne运维面,或通过地址“https://

    ManageOne主门户的访问地址

    ”,登录ManageOne主门户,选择“运维中心(OC)”,进入ManageOne运维面。

    • 密码方式:输入账号和密码。
      • 默认账号:bss_admin

        对于从8.2.0或更早版本升级上来的ManageOne,默认账号为admin。

      • 默认密码:参见《华为云Stack 8.3.1 账户一览表》的“A类(Portal)”页签中,“ManageOne运维面”账户对应的默认密码。

    • USB Key方式:插入已预置用户证书的USB Key,选择设备和用户证书,并输入PIN码。
  2. 在“告警 > 告警管理 > 当前告警”中查看告警信息,获取告警中的实例ID或者工作ID。

  3. 单击上方菜单栏的“首页”,返回首页。

  4. 在ManageOne运维面右下角“常用链接”栏中单击“ServiceCM”,跳转到ServiceCM插件列表界面。

  5. 在ServiceCM插件列表界面,单击“自助开发平台 > dbs-ops”,进入DBS运维管理平台。

  6. 选择“实例运维 > 任务管理”,右上角筛选条件选择“实例ID”或“任务流ID”,输入框中输入告警定位信息中的实例ID或工作ID,执行搜索。

    “失败原因”列输出了失败时的程序错误日志。单击“树表”,则可以查看任务失败具体的环节。

  7. 根据6中失败的Task,进行不同的操作。

    • 场景一:“WaitStreamSwitchoverTask”任务失败。可能当前主实例异常导致实例降备失败,需要检查如下内容。

      修复主集群的操作如下:

      1. 登录实例节点

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

        source /home/Ruby/gauss_env_file

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

        cm_ctl query -Cvid

      4. 如果灾备集群状态异常,登录DBS运维管理平台,找到对应实例,记录实例ID。

      5. 进入“实例运维 > 通用表操作”页面,根据实例ID搜索实例Action。

      6. 单击“切换状态”,切换实例Action状态。

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

      8. 待灾备集群修复完成后,再次切换实例Action。

      待灾备集群修复完成后,“StreamSwitchoverTask”进行重试。

      如果重做仍然失败,执行9

    • 场景二:“CheckActionsDisasterTask”任务失败。说明当前实例存在备份任务,等待备份任务超时。

      • 等待备份任务结束后,在任务流失败的校验任务“CheckActionsDisasterTask”重试。
      • 如果重做仍然失败,执行9
    • 场景三:“WaitStreamSwitchoverTask”任务失败。失败原因如下,说明容灾主从切换设置超时时间过小,需要增大超时时间。

      1. 进入配置管理->系统参数管理,搜索“stream_switchover_waiting_timeout”参数,加大参数值。

      2. 修改参数后,重试“StreamSwitchoverTask”,重做操作。

        NOTICE:

        如果Task名称为“waitxxx”,则需要从上一个Task开始重做,否则直接从失败的Task进行重做。

        如果重做仍然失败,执行9

  8. 如果当前使用跨云容灾的方式,容灾任务流全部解决完后需处理跨云的任务流,详细内容请参考修复任务下发端主容灾任务

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

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

    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…