GaussDB DN故障-状态Need repair

举报
GaussDB 数据库 发表于 2025/12/09 15:04:17 2025/12/09
【摘要】 故障现象查询集群状态,DN组件状态为Need repair,产生DN服务异常告警。故障原因可能原因有以下:主DN故障,备DN在redo过程中无法接收主机日志,出现Need repair状态。网络异常,备DN无法与主DN正常连接,出现Need repair状态。备DN进程故障重启,出现Need repair状态。处理方法步骤 1     登录故障DN节点,切换至Ruby用户,查询集群状态,确认...
  • 故障现象

查询集群状态,DN组件状态为Need repair,产生DN服务异常告警。

  • 故障原因

可能原因有以下:

  1. DN故障,备DNredo过程中无法接收主机日志,出现Need repair状态。
  2. 网络异常,备DN无法与主DN正常连接,出现Need repair状态。
  3. DN进程故障重启,出现Need repair状态。
  • 处理方法

步骤 1     登录故障DN节点,切换至Ruby用户,查询集群状态,确认分片是否满足多数派。

su - Ruby

cm_ctl query -Cvd

101.png

如上图,第一个DN分片不满足多数派。

查询集群状态,分片内无主,不满足多数派,联系华为技术支持。

查询集群状态,分片有主,分片内主+DN数量小于分片内DN总数的一半,不满足多数派,参考12 DN故障-多数派故障章节处理。

查询集群状态,分片有主,分片内主+DN数量大于分片内DN总数的一半,继续步骤2

步骤 2     登录Need repair状态备DN节点,排查备DN进程是否重启。

ps ux | grep 'gaussdb --datanode'|grep -v grep

102.png

上图表明,dn_6008进程在10:30分启动。

若有过重启,参考6 DN组件状态Normal-告警原因分析章节,排查DN重启原因。

若无重启,继续步骤3

步骤 3     当前节点查看DN日志,搜索terminating walreceiver due to heartbeat timeout关键词。

如能搜索到对应时间点的日志,表明备DN与主DN发生过断连,继续步骤4

cd $GAUSSLOG/pg_log

grep 'terminating walreceiver due to heartbeat timeout' *

103.png

如上图,表明备DN无法正常接收主DN的日志。

步骤 4     登录当前分片的主DN节点,排查主DN 进程是否有重启。

ps ux | grep dn|grep -v grep

104.png

上图表明,dn_6008进程在10:30分启动。

若有过重启,参考6 DN组件状态Normal-告警原因分析章节,排查DN重启原因。

若无重启,继续步骤5

步骤 5     排查当前DN分片是否有主备切换,可在新主DNcm_agent日志中搜索关键词failover msg from cm_server

若存在,表明是由cm_server仲裁主备切换。

若不存在,继续步骤6

105.png

步骤 6     确认主DN节点和备DN节点之间网络是否正常,可分别在主备DN节点执行ping命令,注意需使用主备节点对等的IP

ping -I 出口IP 目的IP

说明:

IP通过cm_ctl query -Cvd查询获取,HCS及公有云环境也可通过DBS运维管理平台实例明细界面获取。

步骤 7     若以上均不涉及,联系华为技术支持。

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。