宕机演练

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

实现原理

本方案使用云助手插件ecs-fault-oscrash,通过sysrq模块触发内核panic,系统将自动重启并恢复正常状态。

重要

该演练场景具有危险性,请确保业务系统具有高可用(HA)能力,并开启了Kdump。关于如何开启Kdump服务,请参见Linux实例如何开启Kdump服务

使用指南

演练准备

请确保您的ECS实例已安装云助手Agent,并且云助手状态正常。具体操作,请参见查看云助手状态及异常状态处理

故障注入

  1. 登录ECS实例。

    具体操作,请参见通过密码或密钥认证登录Linux实例

  2. 使用具有sudo访问权限的用户,运行云助手插件ecs-fault-oscrash

    sudo acs-plugin-manager --exec --plugin ecs-fault-oscrash --params inject

    显示如下所示时,说明云助手插件ecs-fault-oscrash运行成功。

    image

  3. 查看故障注入是否成功。

    • 非预期运维事件中,出现因实例错误实例重启类型的事件,说明故障注入成功。

      image

    • 在ECS实例中,执行uptime,查看系统运行时间来确定ECS实例是否重启。

      显示如下所示时,说明18:21:46系统已重新启动,故障注入成功。

      image

故障恢复

该场景下ECS实例会自动重启并恢复正常状态。如ECS实例未成功重启,请在控制台强制重启,具体操作,请参见重启实例