GaussDB CN服务异常实例分析

gaussdb,cn,服务,异常,实例,分析 · 浏览次数 : 88

小编点评

## CN进程down问题现象分析步骤 1. **确认节点状态:** 通过OPS确认节点状态是否已经恢复,或登录后台执行cm_ctl query -Cv确认集群是否已经Normal。 2. **定位导图总览CN进程normal问题现象cm_ctl query -Cvd:** 查询集群状态,查看CN进程启动时间,确认CN是否重启。 3. **登录到CMS主节点:** cd $GAUSSLOG/cm/cm_serverstep7. 打开对应时间点的cm_server*.logstep8. 查看日志中对应时间点是否含有关键词 restart %u, there is not report msg for %d sec. 4. **查看日志中对应时间点是否含有关键词 cn_manual_stop=1:** 如果有,则原因为手动停止。 5. **查看对应故障cn的磁盘是否有故障:** 如无故障则检查是否磁盘满。 6. **登录到只读CN节点:** su - Ruby进入Ruby用户,执行/usr/sbin/chroot --userspec=Ruby:Ruby /var/chroot 进入沙箱,source /etc/profile设置环境变量 7. **df -h 查看磁盘空间分配情况** 8. **cm_ctl query -Cvd查看CN数据目录路径,确认所在磁盘空间使用率** 9. **登录cmserver主节点,进入cmserver数据目录/var/chroot/usr/local/cm/cm_server,查看cm_server.conf 配置文件,查看参数datastorage_threshold_value_check的值,当磁盘使用率超过该参数值时,CN就会被设置为只读,避免磁盘被写满。 10. **比较CN磁盘使用率是否超过该参数值,如果是,则按照处理步骤1处理,如果否,则按照步骤2处理**

正文

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

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

确认节点状态

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

定位导图总览

CN进程normal

问题现象

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

问题分析与定界

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只读处理方法

 

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

与GaussDB CN服务异常实例分析相似的内容:

GaussDB CN服务异常实例分析

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

一文详解GaussDB(DWS) 的并发管控和内存管控

摘要:DWS的负载管理分为两层,第一层为cn的全局并发控制,第二层为资源池级别的并发控制。 本文分享自华为云社区《GaussDB(DWS) 并发管控&内存管控》,作者: fighttingman。 1背景 这里将并发管控和内存管控写在一起,是因为内存管控实际是通过限制语句的并发达到内存管控的目的的。

数仓在线运维:如何进行在线增删CN?

摘要:集群运行过程中,根据集群的综合负载和业务接入情况进行分析:增加CN可以适当降低CPU消耗,增大接入连接数,分散CN节点业务压力,根据实际情况来识别是否要增加CN,如果是提升集群容量和扩展比能力,建议进行扩容操作。 本文分享自华为云社区《【玩转PB级数仓GaussDB(DWS)】在线运维-在线增

GaussDB细粒度资源管控技术透视

华为云GaussDB数据库的细粒度资源管控,用户可以根据自己业务需求采取合适的管控维度与管控粒度来达成资源管控与资源隔离的目标,满足不同场景的资源控制的需要。

解读GaussDB(for MySQL)灵活多维的二级分区表策略

本文分享自华为云社区《GaussDB(for MySQL)创新特性:灵活多维的二级分区表策略》,作者:GaussDB 数据库。 背景介绍 分区表及二级分区表的功能,可以让数据库更加有效地管理和查询大规模数据,传统商业数据库具备该能力。MySQL支持分区表,与传统商业数据库相比,MySQL对二级分区表

GaussDB(DWS)性能调优,解决DM区大内存占用问题

本文分享自华为云社区《GaussDB(DWS)性能调优:DM区优化案例——维度表关联条件存在会计期》,作者: O泡果奶~。 当前DM(P1、P3、CBGDM)存在维度表与主表关联时使用会计期作为关联条件,会导致出现大内存占用或未识别数据倾斜的问题 【场景一】f.period_id = 维度表.per

详解GaussDB(DWS)中的行执行引擎

本文分享自华为云社区《GaussDB(DWS)行执行引擎详解》,作者:yd_227398895。 1.前言 GaussDB(DWS)包含三大引擎,一是SQL执行引擎,用来解析用户输入的SQL语句,生成执行计划,供执行引擎来执行;二是执行引擎,其中包含了行执行引擎和列执行引擎,执行引擎即查询的执行者,

GaussDB SQL查询语句执行过程解析

今天我们就从GaussDB SQL引擎入手,了解一下GaussDB SQL 查询语句的执行过程,包括GaussDB SQL引擎原理和关键技术点。

云小课|GaussDB如何进行性能调优

阅识风云是华为云信息大咖,擅长将复杂信息多元化呈现,其出品的一张图(云图说)、深入浅出的博文(云小课)或短视频(云视厅)总有一款能让您快速上手华为云。更多精彩内容请单击此处。 摘要:GaussDB性能调优过程需要综合考虑多方面因素,因此,调优人员应对系统软件架构、软硬件配置、数据库配置参数、并发控制

云小课|GaussDB(DWS)数据存储尽在掌控,冷热数据切换自如

阅识风云是华为云信息大咖,擅长将复杂信息多元化呈现,其出品的一张图(云图说)、深入浅出的博文(云小课)或短视频(云视厅)总有一款能让您快速上手华为云。更多精彩内容请单击此处。 摘要: GaussDB(DWS)支持根据业务系统的不同使用需求,对膨胀的数据进行冷热分级管理,将数据按照时间分为热数据、冷数