故障恢复指恢复业务连续性的应急操作,很多故障是在不断尝试验证解决恢复的动作,所以故障恢复环节与故障定位环节有一定的交叠,或在这两个环节之间不断试错的循环,即故障恢复操作可能和故障诊断是同时,也可能是诊断之后或诊断之前 1.已知预案下的恢复三把斧 在故障管理过程中,通常大部分故障有一些明确的故障恢复预案,比如基础设施、服务器、网络设备、网络线路,以及应用系统层中关于服务可用性等故障因素,以及基于历史故障经验积累的方案。 、数据完整性的故障恢复,这些故障恢复通常需要现场临时决断恢复。 4.恢复后信息传递 虽然从MTTR角度看,恢复通常以技术指标的恢复为判断条件,但是在实际的故障处置过程中,恢复结束的判断条件通常是验证与信息通报。 验证包括技术验证与业务验证。 结束 注:“3.4 事中处置”另外3个环节内容链接: 1.故障发现、故障响应 2.故障定位
keepalived的主要作用体现在处理单点故障,像前面我们设置的两台主机,就可以进行故障演练,现在的状态是master主机开启着keepalived: ? ?
关键节点的单点故障(Single Point of Failure)在大型的架构中,往往是致命的。 超过一定的时间阈值,临时节点将由ZK自动删除,这样原来序列最小的节点也就没了,客户端应用按2中的约定找最小节点的服务器时,自动会找到原来次最小的节点,继续充为master(老大挂了,老二顶上),即实现了故障转换
该现象核心指向:IPv4 与 IPv6 在地址获取、二层邻居发现、三层转发路径、安全策略/NAT 处理等环节存在差异化故障,需针对 IPv4 协议栈单独闭环排查。 查看 DHCPv4 已分配地址列表:确认故障终端是否在租约列表中,是否存在 IP 地址冲突。 三、 推荐排障顺序(最短闭环路径) 第一步:终端地址合法性校验 检查 IPv4 地址、网关是否合理,排除 DHCPv4 分配故障(分支 A)。 第二步:网关二层连通性测试 执行 ping -4 <IPv4 网关>,不通则定位二层故障(分支 B)。 第三步:跨网段三层路径测试 执行 traceroute -4 <IPv4 目标 IP>,路径异常则定位三层路由/PBR 故障(分支 C)。
原文链接: https://mp.weixin.qq.com/s/2e2ovuwDrmwlu-vW0cKqcA 4月8日15点23分,腾讯云团队收到告警信息,云API服务处于异常状态;随即在腾讯云工单、 一旦酒店前台发生故障,会导致入住、续住等管理能力不可用,但已入住的客房不受影响。 这次故障中客户已经配置好的服务器等IaaS资源,包括已经部署运行的业务,没有受到云API异常的影响。 ; 3. 15:57,定位出故障根因是配置数据出现错误,紧急设计数据修复方案; 4. 16:02,对全地域进行数据修复工作,API服务逐地域恢复中; 5. 16:05,观测到除上海外的地域API服务均已恢复 第三,增强故障响应与沟通能力 1、对故障处理流程进行全面升级,确保实时更新故障处理进度和预计恢复时间点,提升故障报告发布效率。 2、在对外发布的故障通知中,清晰阐述受影响的业务范围、故障根因及预计修复时长,保持透明度。
4月8日15点23分,腾讯云团队收到告警信息,云API服务处于异常状态;随即在腾讯云工单、售后服务群以及微博等渠道开始大量出现腾讯云控制台登录不上的客户反馈。 一旦酒店前台发生故障,会导致入住、续住等管理能力不可用,但已入住的客房不受影响。 这次故障中客户已经配置好的服务器等IaaS资源,包括已经部署运行的业务,没有受到云API异常的影响。 ; 3. 15:57,定位出故障根因是配置数据出现错误,紧急设计数据修复方案; 4. 16:02,对全地域进行数据修复工作,API服务逐地域恢复中; 5. 16:05,观测到除上海外的地域API服务均已恢复 第三,增强故障响应与沟通能力 1、对故障处理流程进行全面升级,确保实时更新故障处理进度和预计恢复时间点,提升故障报告发布效率。 2、在对外发布的故障通知中,清晰阐述受影响的业务范围、故障根因及预计修复时长,保持透明度。
其中故障存在三种类别:Master故障、Segment故障、数据异常。之前我们已经聊过“Master故障”和“数据异常”的处理方式,今天将介绍Segment故障的处理方式。 二、本地模拟故障环境:2.1、第一种情况:段故障。 Version: 'PostgreSQL 9.4.24 (Greenplum Database 6.7.0 build commit:2fbc274bc15a19b5de3c6e44ad5073464cd4f47b mirror segment(s) acting as primaries are not synchronized2.2、第二种情况:表空间故障。 gpadmin-[INFO]:- data05 56001 Up Process error -- database process may be down三、故障分析及解决
故障测试好处 故障测试是预防线上故障的关键手段。线上故障的不可预测性:线上系统在运行过程中可能面临各种不可预见的故障,例如硬件故障、软件缺陷、网络波动或外部攻击。 这些故障往往具有突发性和不可控性,可能对业务造成严重影响。故障测试的预防作用:通过故障测试,可以主动模拟各种可能的故障场景,验证系统在异常情况下的表现。 故障测试为线上故障的应对提供数据支持。故障场景的模拟与分析:通过故障测试,可以积累大量关于系统在故障情况下的行为数据。这些数据可以帮助团队更好地理解系统的弱点,并为制定应急预案提供依据。 实际故障的反馈作用:每一次线上故障的发生都为故障测试提供了真实的案例和反馈。通过分析故障原因,可以进一步完善故障测试的场景和方法。持续改进测试策略:线上故障的多样性和复杂性要求故障测试不断演进。 线上故障与故障测试之间的关系可以概括为“预防与反馈”的循环。故障测试通过模拟故障场景,帮助预防和减少线上故障的发生;而线上故障则为故障测试提供了真实的案例和改进方向。
3、本地模拟客户环境:3.1、本地Greenplum集群环境:1台Master;1台standby Master;5台segment计算节点,每个节点4个段,每个段有镜像,一共是40个段。 auto postgres[gpadmin@standby01 ~]$ cd /greenplum/gpdata/master/[gpadmin@standby01 master]$ ll总用量 04、故障分析及解决 4.2、清除有故障的主机的(备库)配置信息:[gpadmin@master01 ~]$ gpinitstandby -r执行过程省略,但有个选项需要确认:Do you want to continue 5、额外补充:如果Greenplum集群中master节点故障,处理思路:1)先把standby提升为新master,确保集群第一时间可用,提供对外服务;2)修复旧master,并添加到集群中成为新standby
ROW记录每一行的改变,效率低 # MIXED自动切换,如果存在函数就用ROW,否则使用STATEMENT binlog_format=mixed # 二进制缓存大小 binlog_cache_size=4M mysql/3306/mysqlbin binlog-ignore-db=mysql binlog-do-db=test binlog_format=mixed binlog_cache_size=4M mysql/3307/mysqlbin binlog-ignore-db=mysql binlog-do-db=test binlog_format=mixed binlog_cache_size=4M mysqld] read_only=1 1 2 通过sql命令(配合第一种方式使用) 该命令需要超级管理员才有权限执行,在自动切换主从时有用 set global read_only=1; 1 # 故障恢复
---一、前情提要:我们知道 cassandra 具有分区容错性和强一致性,但是当数据所在主机发生故障时,该主机对应的数据副本该何去何从呢?是否跟宿主机一样变得不可用呢? rack2可以看到集群中,每个数据中心的 owns 都是 300% ,符合三副本的设置;测试并查看集群中出现故障节点后的数据分布情况:94机器关闭服务,并移除集群:[cassandra@data02 rack2此时,数据不在94节点上了,故障节点上的数据已移动到其他节点上,因此可以看到,在 dc1 数据中心中,数据随机仍只分布在其中三个节点上,而 dc2 数据中心的数据将分布在了仅有的三个节点上 ,发生了数据转移;如果此时 dc2 数据中心还有节点继续故障,那么故障节点上的数据不可能再移动到其他节点上了,dc1 是不变的,owns 还是300% ,但是 dc2 的 owns都是100% ,没办法故障转移了 ,只能存在自身的数据了;此时重启所有主机,所有主机 Cassandra 服务都会开启,包括之前故障模拟的节点也会自启,那么此时就会达到了另一种效果:故障模拟节点后的状态,再添加到了集群中,那么此时数据又会进行了自动的分发
检查内存(RAM)内存故障可能导致系统崩溃、蓝屏或性能下降。使用内存测试工具使用内存测试工具(如 memtest86+)进行内存检测。 4. 检查CPU和散热CPU过热可能导致系统不稳定或自动关机。检查CPU温度使用 lm-sensors 工具检查CPU温度。 检查外设外设故障可能导致系统不稳定或无法识别设备。检查USB设备断开所有USB设备,然后逐个重新连接,以排除故障设备。检查显卡如果使用独立显卡,确保显卡驱动程序已正确安装,并且显卡连接牢固。7. 替换故障部件如果确定某个部件故障,可以尝试更换该部件。更换内存条如果内存测试失败,更换内存条。更换硬盘如果硬盘检测到错误,更换硬盘。更换电源供应器如果电源供应器有问题,更换电源供应器。10. 送修将故障设备送至专业的维修中心进行检查和维修。
一、本文概述及主要术语 1.1 概述 本文基于 Pod 、Service 和 Ingress 三大模块进行划分,对于 Kubernetes 日常可能出现的故障问题,提供了较为具体的排查步骤,并附上相关解决方法或参考文献 二、故障诊断流程 2.1 Pods 模块检查 以下流程若成功则继续往下进行,若失败则根据提示进行跳转。 Docker history < image-id > (后可加 --no-trunc 显示完整输出) [root@10-186-65-37 ~]# docker history fb4cca6b4e4c CREATED CREATED BY SIZE COMMENT fb4cca6b4e4c 2.3.5 检查能否在外网通过 Ingress 进行访问 可从外网成功访问,故障排查结束。
当你解决故障的时候,一定要防止对方对问题提前下结论,如果对方局部的证明是能证明结论是正确的,那从全局来看呢?不要在二手信息上深入讨论,不要用二手信息作为重要依据。 那从整体来看,需要怎么故障改进? 第一,优化故障获知和故障定位的时间。 从故障发生到我们知道的时间是否可以优化得更短? 定位故障的时间是否可以更短? 有哪些地方可以做到自动化? 第二,优化故障的处理方式。 故障处理时的判断和章法是否科学,是否正确? 故障处理时的信息是否全透明? 故障处理时人员是否安排得当? 第三,优化开发过程中的问题。 做个简短的总结:循序渐进的让故障定位时间变短,持续改善,不要出现好像又是人品的问题,莫名的日了狗,不存在的,归根结底是自己的基础理论修养不够。关于严谨程度,是工程师很重要的品质。
由于异常关机,在Kali开机后会显示错误提升BusyBox u1.37.0 (Debian 1:1.37.0-4) built-in shell (ash)Enter help’for a list of
4. 在开启 performance_schema 时,会有额外的内存开销,通过 valgrind-memcheck 内存分析工具发现,较大概率发生内存泄漏。
三、故障复盘运作机制3.1 故障复盘前准备3.1.1 提交故障报告故障直接原因方(非最终认定的故障责任方)在故障发生后3个工作日内提交故障报告。如故障原因涉及多个部门,需跨部门共同协助撰写故障报告。 复盘会议后,结合故障处理报告形成故障复盘报告定稿,发给所有故障干系人及相关领导。3.1.3 确定故障干系人复盘owner确定故障直接原因方、关联(受影响)方等与故障有关的干系人。 3.2 故障复盘关键流程步骤(包括但不限于)3.2.1 故障背景概述故障的背景要解释清楚本次故障的基本情况,即发生了什么故障,影响了什么业务(产品)等。 参考第3步的MTTR分解环节和第4步的故障根因分解环节,推导出我们对于本次故障复盘的改进事项。在梳理改进事项的时候,还要从流程制度、团队组织、系统设计、底层工具平台综合考虑。 四、故障改进及闭环故障复盘后由复盘owner(或其他)将故障信息(也就是故障报告里的内容)录入故障管理系统,系统将向故障改进措施负责人派单,整改负责人整改完成后在系统回单并提交整改完成的证明材料,由复盘
擅长数据库故障处理。对数据库技术和 python 有着浓厚的兴趣。 本文来源:原创投稿 *爱可生开源社区出品,原创内容未经授权不得随意使用,转载请联系小编并注明来源。 ---- 前言 最近解决了一个比较基础的问题故障,由于排查过程挺有意思,于是就以此为素材写出了本篇文章。 故障现场 防火墙什么的均正常但是无法被远程访问到。简单的使用客户端登录了一下。 ERROR 2003 (HY000): Can't connect to MySQL server on '127.0.0.1' (111) 根据以往经验大脑中浮现了几个常见的排查此类故障手法 1. Version: '8.0.24' socket: '/mysqldata/mysql/data/3306/mysqld.sock' port: 0 MySQL Community Server - GPL. 4. 解决方案 因为配置 skip-grants-tables 引起无法远程连接 mysql 服务端的故障,解决方法也是非常的简单注释重启。
擅长数据库故障处理。对数据库技术和 python 有着浓厚的兴趣。本文来源:原创投稿*爱可生开源社区出品,原创内容未经授权不得随意使用,转载请联系小编并注明来源。 ---前言最近解决了一个比较基础的问题故障,由于排查过程挺有意思,于是就以此为素材写出了本篇文章。故障现场防火墙什么的均正常但是无法被远程访问到。简单的使用客户端登录了一下。 ERROR 2003 (HY000): Can't connect to MySQL server on '127.0.0.1' (111)根据以往经验大脑中浮现了几个常见的排查此类故障手法1.排查进程存在 Version: '8.0.24' socket: '/mysqldata/mysql/data/3306/mysqld.sock' port: 0 MySQL Community Server - GPL.图片4. 解决方案因为配置 skip-grants-tables 引起无法远程连接 mysql 服务端的故障,解决方法也是非常的简单注释重启。
4 写在最后 纸上得来终觉浅,绝知此事要躬行。本次 Wireshark 分享就写到这里,为了能够让分享不出现纰漏,查阅了很多文档、书籍以及官方资料,归纳汇总一下给老铁,希望对老铁能有所帮助。