首先确认是否是虚拟机、网络故障

虚拟机故障导致 ETCD 服务异常告警

问题现象

管控面上报 etcd 服务异常告警,虚拟机发生重启,热迁移、冷迁移,HA 等动作。

问题分析及界定

在告警信息中找到实例 ID、节点 ID、虚拟机 ID,在管控面查看虚拟机状态是否正常,能否正常登录,

如果虚拟机异常无法登录,联系 IaaS 技术支持修复虚拟机。

检查虚拟机是否发生过重启,热迁移、冷迁移、HA 等动作,例如内存、网卡等问题引起热迁移。

处理步骤

联系 IaaS 技术支持修复虚拟机,确认虚拟机故障原因,例如内存、网卡等问题引起热迁移。

网络故障导致 ETCD 服务异常告警

问题现象

管控面上报 etcd 服务异常告警,虚拟机无法登录或 ping 通其他节点 IP, 或者监控显示网络有异常。

问题分析及界定

在该节点上 ping 其他节点 IP,测试是否 ping 通。

如果 ping 不通,执行步骤(1)(2),检查该节点网络、IP 配置、防火墙配置等。

如果 ping 通,执行步骤(3)确认告警时间点网络是否断开。

(1)检查 IP 是否正常:

ifconfig 查看 etcd 使用的 IP 是否存在,如果不存在,排查 IP 配置丢失原因,常见原因是虚拟机重启后 IP 没有重新配置,导致丢失。

(2)检查防火墙是否正常

在 Ruby 用户下查看 etcd 的 IP 和端口: ps ux | grep etcd

在 root 用户下 iptables -L 命令检查防火墙是否限制了 IP 和端口,如果有限制,去掉防火墙限制。

(3) 查看 etcd 日志

进入 Ruby 用户

cd $GAUSSLOG/cm/etcd

查看对应时间点的 etcd_xxx.log 日志,如果有如下日志,可能是 etcd 节点间网络断开,或者对端的 etcd 进程 down,导致本端 etcd 连接断开。

排查网络原因或对端的 etcd 进程是否重启,网络原因可能是网络断开,网卡故障,也有可能是虚拟机故障。

grpc: Server.processUnaryRPC failed to write status: connection error: desc = "transport is closing"

rafthttp: lost the TCP streaming connection with peer c797ab3a61e2ea55 (stream MsgApp v2 reader)

etcdserver: failed to reach the peerURL(https:// X.X.X.X:X) of member c797ab3a61e2ea55 (Get "https://X.X.X.X:X/version": dial tcp X.X.X.X:X: i/o timeout)

rafthttp: health check for peer c797ab3a61e2ea55 could not connect: dial tcp X.X.X.X:X: i/o timeout (prober "ROUND_TRIPPER_RAFT_MESSAGE")

处理步骤

处理步骤同上,已说明。

负载过重导致 ETCD 服务异常警告

问题现象

管控面上报 etcd 服务异常告警,磁盘 IO/CPU/ 内存 很高.

问题分析及界定

进入 Ruby 用户

cd $GAUSSLOG/cm/etcd

查看对应时间点的 etcd_xxx.log 日志,告警时间点有如下日志,说明 etcd 节点负载过重,磁盘 IO、CPU 等压力大。

2021-04-09 10:57:40.112936 W | wal: sync duration of 2.00201804s, expected less than 1s === 通常这个表示磁盘 IO 压力大。

2021-04-09 10:57:40.112993 W | etcdserver: failed to send out heartbeat on time (exceeded the 1s timeout for 2.124414ms, to c8eccd97bed22939)

2021-04-09 10:57:40.112999 W | etcdserver: server is likely overloaded

2021-04-09 10:57:43.126444 W | etcdserver: read-only range request "key:\"/Ruby/ignoreNodeNumKey\" " with result "error:context canceled" took too long (1.999877971s) to execute

cd $GAUSSLOG/cm/cm_agent

搜索对应时间点的 cm_agent-xxx.log, 如果有如下日志,表示当时磁盘 io 比较高, io util 100 表示磁盘 io 达到 100%

2021-04-09 11:06:24.047 tid=15822 LOG: device vdb1, tot_ticks 889640579, cputime 1798651342, io util 100

处理步骤

1、在管控面查看该节点当时磁盘 IO、CPU、内存监控指标是否很高,

示例 1:数据盘写延时在 16:00 左右升高,影响 etcd 状态。

示例 2: etcd 故障时刻,cpu、内存、磁盘写延时都有增长,尤其是磁盘写延时很明显,需要分析磁盘写延时升高的原因。

2、如果故障现场还在: iostat -mx 1 查看磁盘 IO 状态,top 和 free 命令查看 cpu、内存使用情况,分析磁盘 IO 高、CPU 高,内存高的原因。

3、root 用户查看该节点的系统日志,cd /var/log, 查看该时间点 message 日志是否有异常记录。例如:节点内存耗尽了,分析占用内存的原因,是否内存泄漏等。

如果仍无法确认原因,联系华为工程师。

etcd 进程故障导致 ETCD 服务异常告警

问题现象

etcd 进程 down、重启,管控面上报 etcd 服务异常告警

问题分析及界定

登陆故障 etcd 节点, 进入 Ruby 用户,执行命令 ps ux | grep etcd, 查看 etcd 进程是否在运行。

如果进程在,查看 etcd 进程启动时间,告警时是否重启过,联系华为工程师确认重启原因。

如果进程不在,查看 etcd 无法启动原因:

(1)cd $GAUSSLOG/bin, 查看目录下是否有 cluster_manual_start 和 etcd_manual_start 两个文件,

如果有表示集群被停止,确认停止集群的原因,之后启动集群,定位结束。

(2)cd $GAUSSHOME/bin 查看目录下是否存在 etcd 这个文件,文件权限是否正确,确认文件不存在或权限不正确的原因。

(3)检查 etcd 的数据目录所在磁盘是否满了或者故障,etcd 目录如下:cm_ctl query -Cvipd 查看

检查 etcd 的数据目录所在磁盘是否满了或者目录权限不正确(正确是 700)或者故障,

如果磁盘满,检查占用磁盘的文件并清除或者转存到其他盘,如果是 etcd 本身的文件占满,联系华为工程师分析原因。

如果目录权限不正确,修改为正确的目录权限。如果是磁盘故障,联系 IaaS 技术支持分析定位。

处理步骤

参照上述处理,如果不是以上原因,请联系华为工程师

OM 接口无法正确返回结果导致 ETCD 服务异常告警

问题现象

管控面上报 etcd 服务异常告警, 管控无法获取集群状态

问题分析及界定

查看管控面是否获取集群状态成功,是否获取空消息,联系华为工程师分析定位。

cd $GAUSSLOG/om/

查看 gs_om-xxx.log,是否有如下异常日志

例如: The status file does not exist. Path: /usr/local/temp/local_status_1611355718.58.dat.

处理步骤

参照上面描述步骤。

GaussDB ETCD 服务异常实例分析处理的5种方法相关推荐

  1. mysql 单实例设置密码_MySQL单实例重置密码的两种方法

    MySQL单实例重置密码的两种方法 在工作学习中,我们有时会忘记数据库的密码,下面是MySQL单实例密码重置的步骤. 说明: (1)[root@mysql1 ~]# cat /etc/redhat-r ...

  2. 修复依赖服务器,解决Win10系统依赖服务或组无法启动的五种方法

    我们平时在使用电脑的时候经常都会遇到这样那样的问题,可尽管如此吧!我们依然还是尽量的去寻找到能够解决问题的办法.今天小编就来给你们说说解决依赖服务器或组无法启动的方法.可以使你们自己就解决好这个问题. ...

  3. 最近在做的用户留存分析,和几种方法。

    来源:数据分析不是个事儿 我是小z 之前跟大家讲过同期群分析: 都说经典,同同同期群分析到底是个啥? Python数据分析实战 | 经典的同期群分析(附实战数据和代码) 同期群本质上是留存分析的一种实 ...

  4. OutOfMemoryError/OOM/内存溢出异常实例分析--堆内存溢出

    Java堆内存溢出 只要不断创建对象,并且保证GC Roots到对象之间有可达路径来避免垃圾回收机制清除这些对象, 那么在对象数量到达最大堆的容量限制后就会产生内存溢出异常,代码如下: import ...

  5. win10必须禁用的服务_WIN10关闭自动更新的两种方法

    彻底关闭win10自动更新 背景 使用win10系统的朋友应该相对清楚,win10系统通常可以从系统接收系统更新补丁.尽管这可以在一定程度上维护win10系统的安全性,但并不是每个用户都喜欢频繁地更新 ...

  6. android 服务 重启,Android APP重启的几种方法

    项目开发过程中需要实现重启App的功能,常用的可行方案有: 1. 使用 FLAG_ACTIVITY_CLEAR_TOP : new Handler().postDelayed(new Runnable ...

  7. 常用分析问题的几种方法

    文章目录 1. 5W2H分析法 2. 麦肯锡问题解决框架 3. SWOT分析法 4. SMART 1. 5W2H分析法 5W2H指的就是7个英文单词, 是二战中美国陆军兵器修理部首创, 对于决策和执行 ...

  8. B1032 挖掘机技术哪家强(含测试点2分析),两种方法

    题目 思路: 可以用数组记录.注意学校的最大编号可以是n,否则会导致测试点2错误(测试点2推测是n个学校id各不一样,且最后一个最大) 结构体记录排序 AC代码 1. 用数组记录 #include&l ...

  9. 数据挖掘技术在信用卡业务中的应用及实例分析

    信用卡业务具有透支笔数巨大.单笔金额小的特点,这使得数据挖掘技术在信用卡业务中的应用成为必然.国外信用卡发卡机构已经广泛应用数据挖掘技术促进信用卡业务的发展,实现全面的绩效管理.我国自1985年发行第 ...

最新文章

  1. python 循环批量生成变量
  2. 2018-2019-1 20189204《Linux内核原理与分析》第三周作业
  3. Redis的分片、预分片技术总结
  4. java 类加载的机制面试题_java 类加载机制 阿里面试题
  5. 文件(视频)上传到阿里云 java实现
  6. 使用docx4j在线word转换pdf及替换文本域
  7. 在两个电子表格中找出相同的姓名
  8. Linux系统中的EOT和EOF
  9. Unity3d之Quaternion 学习与应用
  10. 一文了解什么是嵌入式?
  11. Matlab-四杆桁架结构的有限元分析(有限元分析基础-曾攀)
  12. 用c语言求出1加到100的和
  13. 如何理解实践标准是确定性和不确定性的统一
  14. 如何让纯英文字幕的视屏 实时翻译
  15. 网站管理助手4.0 mysql_网站管理助手v4.0 建站流程
  16. SQL Server “链接服务器”的使用
  17. 人工智能+旅游大数据的未来,将迎来酒店行业数据可视化
  18. 2017淘宝有好货报名要求
  19. linux7team,Linux7配置team聚合链之主备模式
  20. 基于曲线曲度或类曲度的角点检测方法总结

热门文章

  1. maven能帮我们做什么
  2. java execute、executeQuery和executeUpdate之间的区别
  3. VS2010+DDK配置
  4. Resolver error: Error: The VS Code Server failed to start 的一种解决方案
  5. 初级测试工程师要求(零基础必备)
  6. 计算机底层架构(偏硬件)综述
  7. ARP欺骗之——原理分析
  8. (十一)jmeter接口自动化难点系列---设置响应超时时间
  9. ubuntu 开机黑屏解决办法
  10. 【揭密:刘强东9年密谋的商业布局—京东快物流背后的核心技术盘点】