如何结合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
相关文章
|
6月前
|
存储 弹性计算 缓存
ecs负载评估
ECS负载评估基于资源综合性能得分,衡量CPU、内存、磁盘I/O、网络和系统负载等指标。得分0-5为低负载,5-80正常,80-100高负载。高负载可能需优化或扩容。根据负载级别,可调整资源配置、优化性能或使用自动伸缩服务,确保服务稳定和高效。
159 2
|
6月前
|
弹性计算 Ubuntu 数据可视化
ECS配置问题之ECS配置过高如何解决
ECS配置指的是对阿里云Elastic Compute Service(弹性计算服务)实例的硬件和软件资源进行设置的过程;本合集将详述如何选择合适的ECS配置、调整资源配比以及优化实例性能,以满足不同应用场景的需求。
|
2月前
|
弹性计算 JSON 运维
阿里云ECS实例运维属性-如何控制实例的宕机表现
介绍如何通过运维属性指定阿里云ECS的宕机运维表现等
|
6月前
|
弹性计算 监控 安全
【阿里云弹性计算】ECS实例监控与告警系统构建:利用阿里云监控服务保障稳定性
【5月更文挑战第23天】在数字化时代,阿里云弹性计算服务(ECS)为业务连续性提供保障。通过阿里云监控服务,用户可实时监控ECS实例的CPU、内存、磁盘I/O和网络流量等指标。启用监控,创建自定义视图集中显示关键指标,并设置告警规则(如CPU使用率超80%),结合多种通知方式确保及时响应。定期维护和优化告警策略,利用健康诊断工具,能提升服务高可用性和稳定性,确保云服务的卓越性能。
258 1
|
6月前
|
弹性计算 监控 容灾
【阿里云弹性计算】云上灾备解决方案:基于阿里云 ECS 的业务连续性策略
【5月更文挑战第25天】阿里云ECS提供强大的云上灾备解决方案,保障企业业务连续性。通过高可用基础设施、数据备份和异地容灾服务,应对自然灾害、硬件故障等突发事件。示例代码展示如何配置数据备份。企业应合理规划资源,定期演练,监控优化灾备系统。阿里云将持续创新,为企业提供更优质的灾备解决方案,支持各类型企业在数字化时代稳定运行,实现业务连续性。
383 0
|
6月前
|
弹性计算 网络安全 虚拟化
ECS数据问题之升级配置预防数据丢失如何解决
ECS(Elastic Compute Service,弹性计算服务)是云计算服务提供商提供的一种基础云服务,允许用户在云端获取和配置虚拟服务器。以下是ECS服务使用中的一些常见问题及其解答的合集:
|
6月前
|
弹性计算 专有云
专有云ecs水位盘古巡检命令
专有云ecs水位盘古巡检命令
166 1
|
存储 机器学习/深度学习 弹性计算
热门实践丨如何结合实际业务进行 ECS 规格选型与容量验证
热门实践丨如何结合实际业务进行 ECS 规格选型与容量验证
|
SQL 分布式计算 关系型数据库
|
弹性计算
云速搭 - ECS结合网络相关优化方案
本实践设计了不同的ECS结合网络部署方案,并使用云速搭CADT做预算,可以快速对比出不同方案根据当前账户的折扣的价格差,根据需要部署系统的需求和享有的折扣,可以灵活配置ECS和网络产品,节约成本。
云速搭 - ECS结合网络相关优化方案