GaussDB CN服务异常实例分析[通俗易懂]

GaussDB CN服务异常实例分析[通俗易懂]摘要:先通过OPS确认节点状态是否已经恢复,或登录后台执行cm_ctl query -Cv确认集群是否已经Normal。 本文分享自华为云社区《【实例状态】GaussDB CN服务异常》,作者:酷哥。

GaussDB CN服务异常实例分析

摘要:先通过OPS确认节点状态是否已经恢复,或登录后台执行cm_ctl query -Cv确认集群是否已经Normal。

本文分享自华为云社区《【实例状态】GaussDB CN服务异常》,作者:酷哥。

确认节点状态

先通过OPS确认节点状态是否已经恢复,或登录后台执行cm_ctl query -Cv确认集群是否已经Normal。如果状态已经为normal,表明故障已经恢复,集群正常,不再影响业务。 确认是否需要分析故障的具体原因,如果需要,继续向下跟随文档进行分析 首先确认是否是底层故障如虚拟机故障、网络故障、存储故障,排除底层故障后再继续定位。

定位导图总览

GaussDB CN服务异常实例分析[通俗易懂]

CN进程normal

问题现象

cm_ctl query -Cvd 查询集群状态,告警CN显示normal。

GaussDB CN服务异常实例分析[通俗易懂]

问题分析与定界

step1. 登录告警CN节点,su 进入集群用户,ps ux | grep “gaussdb –coordinator”,查看CN进程启动时间,确认CN是否重启,如果没有重启参考处理方法一(结束),若重启则跳至step2

step2. cd $GAUSSLOG/cm/cm_agent

step3. 打开对应时间点的vi cm_agent-*.log

step4. 查看日志中对应时间点是否含有关键词 cn restart,如果同时有process (gaussdb 17391) is T (STOPPED) 类似日志,说明进程hang住了,跳至step6

step5. 若日志中没有cn restart关键词,查看日志中对应时间点是否含有关键词 CN START.有则跳至step10

step6. 登录到CMS主节点 cd $GAUSSLOG/cm/cm_server

step7. 打开对应时间点的cm_server*.log

step8. 查看日志中对应时间点是否含有关键词 restart %u, there is not report msg for %d sec. 如果有,则CN重启原因为心跳超时,参考处理步骤方法一(结束 )

step9. 查看日志中对应时间点是否含有关键词 phony dead times (%d) already exceeded, will restart…则CN重启原因为进程僵死,参考处理步骤方法一(结束)

step10. cd $GAUSSLOG/cm/cm_agent,打开对应时间点的system_call-*.log,查看对应时间点是否有关键词can not bind ip,如果没有则跳至step12

step11. 如果有关键词can not bind ip,则CN重启原因为CN IP丢失,参考处理步骤方法二 (结束)

step12. cd $GAUSSLOG/pg_log/cn_XX

step13. 查看相关postgresql_xxx.log, 查看相关时间点是否有关键词PANIC,如果有则原因为core,参考处理步骤方法一。

step14. 查看CN数据目录下是否有core生成,如果有则原因为core,参考处理步骤方法一。

step15. 查看$GAUSSLOG/ffic_log日志,查看对应时间点是否有打印日志,如果有则原因为core,参考处理步骤方法一。

处理步骤

方法一:联系华为工程师进行定位

方法二:检查故障节点虚拟IP,浮动IP。如有问题,请排查管控HA是否关闭。

CN进程down

问题现象

cm_ctl query -Cvd 查询集群状态,告警CN显示down。

问题分析与定界

step1. cd $GAUSSLOG/cm/cm_agent

step2. 打开对应时间点的cm_agent-*.log

step3. 查看日志中对应时间点是否含有关键词 cn_disk_damage=1,如果有,则原因为数据/日志磁盘损坏或磁盘满,参考处理步骤方法一。

step4. 查看日志中对应时间点是否含有关键词 port_conflict=1,如果有,则原因为端口冲突,参考处理步骤方法二。

step5. 查看日志中对应时间点是否含有关键词 cn_nic_down=1,如果有,则原因为网卡故障,参考处理步骤方法三。

step6. 查看日志中对应时间点是否含有关键词 cn_manual_stop=1,如果有,则原因为手动停止,参考处理步骤方法四。

处理步骤

方法一:查看对应故障cn的磁盘是否有故障,如无故障则检查是否磁盘满。

方法二:lsof -i:端口号,查看端口占用进程,联系华为工程师定位处理

方法三:联系I层查看是否存在网卡故障

方法四:查看是否有人手动停止

CN进程deleted

问题现象

cm_ctl query -Cvd 查询集群状态,告警CN显示deleted。

问题分析与定界

step1. 确认当时时间故障CN所在节点是否正常,是否主机故障,重启、掉电,断网等,参考处理步骤方法一。

step2. 登入CMS主节点,cd $GAUSSLOG/cm/cm_server,打开对应时间点的cm_server*.log

step3. 如果日志中有关键词isCnDnDisconnected=1, 则原因为CN与所有主DN断连,参考处理步骤方法二。

step4. 如果日志中有关键词cn_down_to_delete=1,则原因为CNdown 导致,参考处理步骤方法三。

step5. 如果日志中有关键词cn instance restarts within ten minutes is more than,则原因为CN进行重启 导致,参考处理步骤方法四。

处理步骤

方法一:联系I层查看主机故障原因,排除故障后,在管控点击节点修复修复cn节点。

方法二:在管控点击[节点修复]修复cn节点,联系华为工程师处理

方法三:在管控点击[节点修复]修复cn节点,参考第二章CN DOWN进行定位

方法四:在管控点击[节点修复]修复cn节点,参考第一章CN NORMAL进行定位

CN进程readonly

问题现象

cm_ctl query -Cvd 查询集群状态,告警CN显示readonly。

问题分析与定界

step1. 登录到只读CN节点后,su – Ruby进入Ruby用户, 执行/usr/sbin/chroot –userspec=Ruby:Ruby /var/chroot 进入沙箱,source /etc/profile设置环境变量

step2. df -h 查看磁盘空间分配情况,cm_ctl query -Cvd查看CN数据目录路径,确认所在磁盘空间使用率。

step3. 登陆cmserver主节点,进入cmserver数据目录/var/chroot/usr/local/cm/cm_server,查看cm_server.conf 配置文件,查看参数datastorage_threshold_value_check的值,当磁盘使用率超过该参数值时,CN就会被设置为只读,避免磁盘被写满。比较CN磁盘使用率是否超过该参数值,如果是,则按照处理步骤1处理,如果否,则按照步骤2处理

处理步骤

1、联系华为工程师,确定是否需要扩容或者删除同磁盘的无用文件

2、参考CN只读处理方法

 

点击关注,第一时间了解华为云新鲜技术~

原文地址:https://www.cnblogs.com/huaweiyun/archive/2022/11/18/16903070.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
转载请注明出处: https://daima100.com/4526.html

(0)
上一篇 2023-06-15 20:30
下一篇 2023-06-16

相关推荐

  • Python any函数的用法

    Python any函数的用法Python是一种高级编程语言,具有简单易学、简单易用、速度快等特点。它的内置函数很多,其中很有用的一个是any()函数。本文将从多个方面对Python any函数的用法进行详细的阐述。

    2024-07-25
    33
  • 使用Pycharm安装Pandas指南

    使用Pycharm安装Pandas指南在Python编程领域中,Pandas是一个非常有用的工具。它提供高效、易于使用的数据结构和数据分析工具。然而,安装Pandas并不总是容易的,特别是当你不知道从哪里开始的时候。在本篇文章中,我们将介绍在Pycharm中如何安装Pandas。

    2024-05-14
    64
  • Oracle入门学习二[亲测有效]

    Oracle入门学习二[亲测有效]上一篇:Oracle入门学习一 学习视频:https://www.bilibili.com/video/BV1tJ411r7EC?p=15 算术运算符:+ – * / 逻辑运算符:and or not

    2023-02-23
    147
  • greenplum安装部署_greenplum安装教程

    greenplum安装部署_greenplum安装教程环境:centos7 ,Greenplum5.3 1. Greenplum 5.3 下载 安装包下载 https://download.csdn.net/download/Angel_asp

    2023-04-23
    155
  • 【漫画】JAVA并发编程 如何解决原子性问题「建议收藏」

    【漫画】JAVA并发编程 如何解决原子性问题「建议收藏」原创声明:本文转载自公众号【胖滚猪学编程】,转载务必注明出处! 在 "并发编程BUG源头" 文章中,我们初识了并发编程的三个bug源头:可见性、原子性、有序性。在 "如何

    2023-02-27
    145
  • Python实现字符串合并功能

    Python实现字符串合并功能在日常的编程过程中,字符串的处理非常常见。在这些常见的任务中,字符串合并是最为基础、最为基本的操作之一。本文将介绍使用Python实现字符串合并的方法,让读者能够更加深入地了解字符串操作的基本知识。

    2024-04-28
    68
  • 使用 Python 创建二维列表

    使用 Python 创建二维列表a href=”https://beian.miit.gov.cn/”苏ICP备号-1/a Copyright www.python100.com .Some Rights Reserved.

    2024-08-14
    22
  • Python中使用max函数的方法

    Python中使用max函数的方法在Python中,max是一个非常有用的函数。它可以在一组值中找到最大值,无论这组值是数字、字符串还是其他类型。本文将从多个方面对Python中使用max函数的方法做详细的阐述,让读者掌握这个重要工具的使用。

    2024-04-14
    75

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注