如何结合ECS业务故障演练

简介: 故障演练是提升系统稳定性的关键手段,通过向系统注入可控故障,验证并增强系统的高可用性,训练应急响应能力,减少实际故障恢复时间(MTTR)。阿里云提供ECS故障注入插件`ecs-fault-{scenename}`或`ACS-ECS-{scenename}`,简化演练过程,提升效果与效率。该插件免费开源,操作便捷,支持多种故障场景模拟,如服务器宕机、CPU利用率高、内存溢出(OOM)等,帮助企业快速验证和优化故障应对策略。

故障演练是实现系统稳定性保障的关键手段,它通过向系统注入可控的特定故障,以验证和促进系统的高可用性建设,以及训练相关人员应急能力、验证故障处理机制,从而减少真实故障发生时的故障恢复时间(MTTR,Mean Time To Repair)。阿里云提供了ECS故障注入的云助手插件ecs-fault-{scenename}ACS-ECS-{scenename}进行故障注入,可以更精确、便捷地进行演练,提升演练的效果和效率。

故障演练使用官网链接:https://help.aliyun.com/zh/ecs/use-cases/fault-drill/?spm=a2c4g.11186623.0.0.60f72088O5OdA5


故障演练优势

  • 免费开源:所有执行过的插件会自动保存在云助手目录下,其中包含故障注入源码和可执行文件。
  • 遵循最小化原则:每个插件都仅代表一个特定的演练场景,按需下载使用。
  • 操作便捷高效:所有安装云助手的ECS实例均可执行,只需一行命令即可完成插件的安装和运行。

故障演练支持的场景

演练场景

说明

宕机演练

服务器宕机是一种常见的故障现象,其根源来自于软件和硬件上发生的异常,且几乎无法避免。通过模拟内核故障造成的ECS宕机,可以测试业务系统在宕机时的反应、检测系统恢复能力、验证监控和告警机制的有效性等,并基于演练结果制定应对策略,确保生产环境发生宕机时系统能够迅速恢复正常运行,降低业务中断风险。

CPU利用率高演练

CPU利用率是衡量业务系统是否健康的一个重要指标,为使业务达到足够的稳定性,CPU利用率需保持在合理的范围内。过高的CPU利用率会导致业务延迟甚至中断。通过注入高CPU故障,可以测试业务系统在特定CPU负载时的反应、检测系统恢复能力、验证监控和告警机制的有效性等,并基于演练结果制定应对策略,确保生产环境高CPU利用率时系统能够迅速恢复正常运行,降低业务中断风险。

内存溢出(OOM)演练

通过注入进程不断消耗内存,模拟云服务器ECS发生OOM(即内存溢出)情况,测试业务进程是否会被终止、检测系统恢复能力、验证监控和告警机制的有效性等,并基于演练结果制定应对策略,确保生产环境发生OOM时系统能够迅速恢复正常运行,降低业务中断风险。

磁盘IO Hang和磁盘IO高负载演练

  • IO Hang演练:IO Hang是指在进行读或写操作时,系统因为某些原因无法完成这些操作,导致进程或系统无法继续正常工作的一种情况。其可以由多种原因引起,包括硬件故障、驱动问题、文件系统错误、网络延迟或拥塞等。对业务产生性能下降,服务延迟,数据一致性问题等风险。通过此演练场景验证系统在磁盘发生IO Hang时的告警和恢复情况。
  • IO高负载演练:IO高负载是一种常见的故障现象,导致的原因可能由于过高的业务进程负载,非预期的非业务进程占用,内存资源不足间接导致等情况。出现该情况可能会导致业务性能受损,数据丢失等风险。因此通过此演练场景验证系统在IO高负载时的告警和恢复情况。

系统负载高和PID资源不足演练

  • 系统负载高演练:系统负载load是衡量系统工作量的一个指标,具体的表示为:在特定时间间隔内,系统处于可运行状态和不可中断状态的平均进程数。监控负载load是一个重要指标,可以判断当前业务的负载情况,用于及时告警并做出应对措施。
  • PID资源不足演练:在操作系统中,PID(Process Identifier)是用于唯一标识进程的数字,可以在进程释放后被重复利用。虽然很难将PID资源耗尽,但仍存在意外耗尽的情况,导致新进程无法创建,可能会导致业务挂起,从而影响业务能力。因此,有必要模拟PID资源耗尽或主动模拟业务挂起的情况,以检测业务的高可用能力。

使用方法

本最佳实践依赖云助手及云助手插件,使用格式如下。

  • 故障注入
sudo acs-plugin-manager --exec --plugin {plugin-name} --params inject,paramA=a,paramB=b
  • 故障恢复
sudo acs-plugin-manager --exec --plugin {plugin-name} --params recover

说明

  • {plugin-name}为对应云助手插件的插件名。
  • 插件一般分为注入(inject)和恢复(recover)两个动作。
  • 故障注入会拼接注入参数,参数键值对内用等号连接,参数对之间用逗号连接。
相关实践学习
2分钟自动化部署人生模拟器
本场景将带你借助云效流水线Flow实现人生模拟器小游戏的自动化部署
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情: https://www.aliyun.com/product/ecs
相关文章
|
3月前
|
人工智能 自动驾驶 机器人
吴泳铭:AI最大的想象力不在手机屏幕,而是改变物理世界
过去22个月,AI发展速度超过任何历史时期,但我们依然还处于AGI变革的早期。生成式AI最大的想象力,绝不是在手机屏幕上做一两个新的超级app,而是接管数字世界,改变物理世界。
7394 73
|
1月前
|
人工智能 监控 机器人
阿里云开发者社区博文规范及指引
阿里云开发者社区博文规范及指引
501 10
阿里云开发者社区博文规范及指引
|
3月前
|
存储 关系型数据库 分布式数据库
GraphRAG:基于PolarDB+通义千问+LangChain的知识图谱+大模型最佳实践
本文介绍了如何使用PolarDB、通义千问和LangChain搭建GraphRAG系统,结合知识图谱和向量检索提升问答质量。通过实例展示了单独使用向量检索和图检索的局限性,并通过图+向量联合搜索增强了问答准确性。PolarDB支持AGE图引擎和pgvector插件,实现图数据和向量数据的统一存储与检索,提升了RAG系统的性能和效果。
|
2月前
|
人工智能 自然语言处理 机器人
对话阿里云 CIO 蒋林泉:AI 时代,企业如何做好智能化系统建设?
10 月 18 日, InfoQ《C 位面对面》栏目邀请到阿里云 CIO 及 aliyun.com 负责人蒋林泉(花名:雁杨),就 AI 时代企业 CIO 的角色转变、企业智能化转型路径、AI 落地实践与人才培养等主题展开了讨论。
6633 67
对话阿里云 CIO 蒋林泉:AI 时代,企业如何做好智能化系统建设?
|
3月前
|
人工智能 云栖大会 云计算
9.19-9.20 云栖工坊邀您亲手打造AI助手
9.19-9.20 云栖工坊邀您亲手打造AI助手
556 29
|
2月前
|
人工智能 关系型数据库 Serverless
1024,致开发者们——希望和你一起用技术人独有的方式,庆祝你的主场
阿里云开发者社区推出“1024·云上见”程序员节专题活动,包括云上实操、开发者测评和征文三个分会场,提供14个实操活动、3个解决方案、3 个产品方案的测评及征文比赛,旨在帮助开发者提升技能、分享经验,共筑技术梦想。
1409 159
|
3月前
|
存储 监控 调度
云迁移中心CMH:助力企业高效上云实践全解析
随着云计算的发展,企业上云已成为创新发展的关键。然而,企业上云面临诸多挑战,如复杂的应用依赖梳理、成本效益分析等。阿里云推出的云迁移中心(CMH)旨在解决这些问题,提供自动化的系统调研、规划、迁移和割接等功能,简化上云过程。CMH通过评估、准备、迁移和割接四个阶段,帮助企业高效完成数字化转型。未来,CMH将继续提升智能化水平,支持更多行业和复杂环境,助力企业轻松上云。
|
3月前
|
存储 弹性计算 运维
自动化监控和响应ECS系统事件
阿里云提供的ECS系统事件用于记录云资源信息,如实例启停、到期通知等。为实现自动化运维,如故障处理与动态调度,可使用云助手插件`ecs-tool-event`。该插件定时获取并转化ECS事件为日志存储,便于监控与响应,无需额外开发,适用于大规模集群管理。详情及示例可见链接文档。
|
2月前
|
DataWorks 数据挖掘 关系型数据库
基于hologres搭建轻量OLAP分析平台解决方案评测
一文带你详细了解基于hologres搭建轻量OLAP分析平台解决方案的优与劣
460 9
|
3月前
|
人工智能 架构师 IDE
阿里云通义灵码重磅升级,能自主修BUG、开发应用的AI程序员来了
通义灵码AI编程能力再进化,说几句话就能开发网页
6224 9