更新时间:2025-08-08 GMT+08:00

攻击场景说明

操作场景

混沌演练现在支持多种攻击场景供用户演练使用,包括体验类、主机资源、主机进程、主机网络、自定义故障和资源运维。通过集成武器模块和功能,用户可以更准确地模拟真实环境故障,及早发现系统可用性等问题,持续提升应用韧性。现已全面支持ECS、BMS和IDC离线设备的IPv6故障演练,通过主机网络类武器的演练,可以帮助用户快速掌握IPv6环境下的故障定位与应急响应能力,确保网络的高可用性与安全性。

约束与限制

  • Flexus应用服务器L实例(HCSS)场景:演练任务仅支持L实例单主机,不支持高可用组合场景。
  • 云容器引擎 (CCE)场景:演练任务支持的Kubernetes版本需与CCE保持一致,具体版本请参考CCE的Kubernetes版本策略

攻击场景说明

表1 攻击场景说明

攻击目标来源

攻击场景

说明

弹性云服务器 (ECS)

体验类

小试牛刀

不产生任何故障,帮助您了解混沌演练的执行流程。

主机资源

CPU使用率加压

模拟CPU使用率飙升,支持故障紧急终止。

内存使用率加压

模拟内存使用率飙升,支持故障紧急终止。

磁盘使用率加压

模拟磁盘使用率飙升,支持故障紧急终止。

磁盘IO加压

通过不间断读写文件,对磁盘IO加压,支持故障紧急终止。

主机进程

进程号耗尽

耗尽系统进程号(PID),不支持故障紧急终止。

杀进程

故障持续期间重复杀进程,支持故障紧急终止;紧急终止或演练结束后演练系统不负责拉起进程,服务需自行保证进程恢复正常。

主机网络

网络延迟

模拟网络故障导致链路延迟增大,支持故障紧急终止。

网络丢包

模拟网络故障导致链路产生丢包,支持故障紧急终止(丢包率100%时不支持)。

网络错包

模拟网络故障导致链路产生错包,支持故障紧急终止(错包率100%时不支持)。

网络包重复

模拟网络故障导致链路产生重复包,支持故障紧急终止。

网络包乱序

模拟网络故障导致链路产生包乱序,支持故障紧急终止。

网络中断

模拟节点间网络不通,支持故障紧急终止;请勿填写演练系统和UniAgent服务器的IP地址,否则可能导致演练失败;如需要中断已建立的长连接,中断方向请选择全方向。

网卡down

模拟网卡down的情况,因各主机网络配置不同,网卡down后有可能启动网卡失败,请做好恢复网络的应急预案,不支持故障紧急终止。

篡改DNS域名解析

篡改域名地址映射,支持故障紧急终止。

端口占用

模拟系统网络端口被占用(最多100个),支持故障紧急终止。

整机断网

模拟整机断网的情况,拒绝所有基于TCP,UDP,ICMP协议的数据包,只开放22,8002,39604,33552,33554,33557,32552,32554,32557端口,支持故障紧急终止。

网卡带宽限速

限制网卡带宽速度,支持多网卡,支持故障紧急终止。

网络连接耗尽

创建大量到指定IP:Port(服务端)的Socket连接进行消耗,使节点正常请求无法连接到服务端(对服务端处理其他节点的请求可能也有影响),支持故障紧急终止。

自定义故障

自定义脚本

用户通过自动化运维的脚本创建脚本,通过执行脚本模拟故障发生的情况,支持故障紧急终止。

资源运维

开机

提供ECS/BMS/Flexus批量开机能力,可能存在状态同步不及时问题,支持故障紧急终止。

关机

提供ECS/BMS/Flexus批量关机能力,可能存在状态同步不及时问题,支持故障紧急终止。

重启

提供ECS/BMS/Flexus批量重启能力,可能存在状态同步不及时问题,支持故障紧急终止。

裸金属服务器 (BMS)

体验类

小试牛刀

不产生任何故障,帮助您了解混沌演练的执行流程。

主机资源

CPU使用率加压

模拟CPU使用率飙升,支持故障紧急终止。

内存使用率加压

模拟内存使用率飙升,支持故障紧急终止。

磁盘使用率加压

模拟磁盘使用率飙升,支持故障紧急终止。

磁盘IO加压

通过不间断读写文件,对磁盘IO加压,支持故障紧急终止。

主机进程

进程号耗尽

耗尽系统进程号(PID),不支持故障紧急终止。

杀进程

故障持续期间重复杀进程,支持故障紧急终止;紧急终止或演练结束后演练系统不负责拉起进程,服务需自行保证进程恢复正常。

主机网络

网络延迟

模拟网络故障导致链路延迟增大,支持故障紧急终止。

网络丢包

模拟网络故障导致链路产生丢包,支持故障紧急终止(丢包率100%时不支持)。

网络错包

模拟网络故障导致链路产生错包,支持故障紧急终止(错包率100%时不支持)。

网络包重复

模拟网络故障导致链路产生重复包,支持故障紧急终止。

网络包乱序

模拟网络故障导致链路产生包乱序,支持故障紧急终止。

网络中断

模拟节点间网络不通,支持故障紧急终止;请勿填写演练系统和UniAgent服务器的IP地址,否则可能导致演练失败;如需要中断已建立的长连接,中断方向请选择全方向。

网卡down

模拟网卡down的情况,因各主机网络配置不同,网卡down后有可能启动网卡失败,请做好恢复网络的应急预案,不支持故障紧急终止。

篡改DNS域名解析

篡改域名地址映射,支持故障紧急终止。

端口占用

模拟系统网络端口被占用(最多100个),支持故障紧急终止。

整机断网

模拟整机断网的情况,拒绝所有基于TCP,UDP,ICMP协议的数据包,只开放22,8002,39604,33552,33554,33557,32552,32554,32557端口,支持故障紧急终止。

资源运维

开机

提供ECS/BMS/Flexus批量开机能力,可能存在状态同步不及时问题,支持故障紧急终止。

关机

提供ECS/BMS/Flexus批量关机能力,可能存在状态同步不及时问题,支持故障紧急终止。

重启

提供ECS/BMS/Flexus批量重启能力,可能存在状态同步不及时问题,支持故障紧急终止。

Flexus应用服务器L实例 (HCSS)

体验类

小试牛刀

不产生任何故障,帮助您了解混沌演练的执行流程。

主机资源

CPU使用率加压

模拟CPU使用率飙升,支持故障紧急终止。

内存使用率加压

模拟内存使用率飙升,支持故障紧急终止。

磁盘使用率加压

模拟磁盘使用率飙升,支持故障紧急终止。

磁盘IO加压

通过不间断读写文件,对磁盘IO加压,支持故障紧急终止。

主机进程

进程号耗尽

耗尽系统进程号(PID),不支持故障紧急终止。

杀进程

HCSS故障持续期间重复杀进程,支持故障紧急终止;紧急终止或演练结束后演练系统不负责拉起进程,服务需自行保证进程恢复正常。

主机网络

网络延迟

模拟网络故障导致链路延迟增大,支持故障紧急终止。

网络丢包

模拟网络故障导致链路产生丢包,支持故障紧急终止(丢包率100%时不支持)。

网络错包

模拟网络故障导致链路产生错包,支持故障紧急终止(错包率100%时不支持)。

网络包重复

模拟网络故障导致链路产生重复包,支持故障紧急终止。

网络包乱序

模拟网络故障导致链路产生包乱序,支持故障紧急终止。

网络中断

模拟节点间网络不通,支持故障紧急终止;请勿填写演练系统和UniAgent服务器的IP地址,否则可能导致演练失败;如需要中断已建立的长连接,中断方向请选择全方向。

网卡down

模拟网卡down的情况,因各主机网络配置不同,网卡down后有可能启动网卡失败,请做好恢复网络的应急预案,不支持故障紧急终止。

篡改DNS域名解析

篡改域名地址映射,支持故障紧急终止。

端口占用

模拟系统网络端口被占用(最多100个),支持故障紧急终止。

整机断网

模拟整机断网的情况,拒绝所有基于TCP,UDP,ICMP协议的数据包,只开放22,8002,39604,33552,33554,33557,32552,32554,32557端口,支持故障紧急终止。

资源运维

开机

提供ECS/BMS/Flexus批量开机能力,可能存在状态同步不及时问题,支持故障紧急终止。

关机

提供ECS/BMS/Flexus批量关机能力,可能存在状态同步不及时问题,支持故障紧急终止。

重启

提供ECS/BMS/Flexus批量重启能力,可能存在状态同步不及时问题,支持故障紧急终止。

云容器引擎 (CCE) Node类型

体验类

小试牛刀

不产生任何故障,帮助您了解混沌演练的执行流程。

主机资源

CPU使用率加压

模拟CPU使用率飙升,支持故障紧急终止。

内存使用率加压

模拟内存使用率飙升,支持故障紧急终止。

磁盘使用率加压

模拟磁盘使用率飙升,支持故障紧急终止。

磁盘IO加压

通过不间断读写文件,对磁盘IO加压,支持故障紧急终止。

主机进程

进程号耗尽

耗尽系统进程号(PID),不支持故障紧急终止。

杀进程

故障持续期间重复杀进程,支持故障紧急终止;紧急终止或演练结束后演练系统不负责拉起进程,服务需自行保证进程恢复正常。

主机网络

网络延迟

模拟网络故障导致链路延迟增大,支持故障紧急终止。

网络丢包

模拟网络故障导致链路产生丢包,支持故障紧急终止(丢包率100%时不支持)。

网络错包

模拟网络故障导致链路产生错包,支持故障紧急终止(错包率100%时不支持)。

网络包重复

模拟网络故障导致链路产生重复包,支持故障紧急终止。

网络包乱序

模拟网络故障导致链路产生包乱序,支持故障紧急终止。

网络中断

模拟节点间网络不通,支持故障紧急终止;请勿填写演练系统和UniAgent服务器的IP地址,否则可能导致演练失败;如需要中断已建立的长连接,中断方向请选择全方向。

网卡down

模拟网卡down的情况,因各主机网络配置不同,网卡down后有可能启动网卡失败,请做好恢复网络的应急预案,不支持故障紧急终止。

篡改DNS域名解析

篡改域名地址映射,支持故障紧急终止。

端口占用

模拟系统网络端口被占用(最多100个),支持故障紧急终止。

整机断网

模拟整机断网的情况,拒绝所有基于TCP,UDP,ICMP协议的数据包,只开放22,8002,39604,33552,33554,33557,32552,32554,32557端口,支持故障紧急终止。

网卡带宽限速

限制网卡带宽速度,支持多网卡,支持故障紧急终止。

网络连接耗尽

创建大量到指定IP:Port(服务端)的Socket连接进行消耗,使节点正常请求无法连接到服务端(对服务端处理其他节点的请求可能也有影响),支持故障紧急终止。

云容器引擎 (CCE) Pod类型

Pod资源

Pod CPU加压

模拟Pod CPU使用率飙升,请确认攻击目标可写,否则将导致演练失败,支持故障紧急终止。

Pod内存加压

模拟Pod内存使用率飙升,请确认攻击目标可写,否则将导致演练失败,支持故障紧急终止。

Pod磁盘IO加压

模拟不断读写IO,支持故障紧急终止。

Pod磁盘使用率加压

模拟K8s容器文件系统加压,在指定目录写入超大文件,支持故障紧急终止。

Pod进程

强制停止Pod实例

强制停止Pod,不支持故障紧急终止。

强制杀掉Pod内的容器

强制杀掉Pod内的容器,不支持故障紧急终止。

Pod网络

Pod网络延迟

模拟Pod网络故障导致网络延迟增高,支持故障紧急终止(延迟30000毫秒及以上时不支持)。

Pod网络丢包

模拟Pod网络故障导致网络丢包,支持故障紧急终止。

Pod网络中断

模拟Pod到其他IP网络不通,支持故障紧急终止,如需要中断已建立的长连接,中断方向请选择全方向。

Pod网络包乱序

模拟Pod网络故障导致链路产生包乱序,支持故障紧急终止。

Pod网络包重复

模拟Pod网络故障导致链路产生重复包,支持故障紧急终止。

Pod篡改DNS域名解析

在Pod内篡改域名的地址映射,请确认攻击目标的运行用户为root,否则会权限不足导致演练失败,支持故障紧急终止。

Pod端口屏蔽

模拟Pod端口不通,支持故障紧急终止。

Pod网络隔离

模拟Pod访问其他IP网络时被直接拒绝,支持故障紧急终止,如需要拒绝已建立的长连接,方向请选择全方向。

云数据库 (RDS)

实例类

RDS主备倒换

仅支持HA模式的MySQL和PostgreSQL引擎,实例在创建、重启、数据库升级、变更规格、恢复、修改端口、删除用户、创建用户时不能进行此操作,主备倒换不会改变实例的内网地址,不支持故障紧急终止。

RDS实例停止

同时停止主实例和只读实例,故障持续时长结束后开启实例,支持故障紧急终止。

分布式缓存服务 (DCS)

实例类

DCS主备倒换

切换实例主备节点,只有主备实例支持该操作。不支持故障紧急终止。

DCS实例重启

重启运行中的DCS缓存实例。清空Redis4.0/Redis5.0/Redis6.0的实例数据,数据清空后,无法撤销,且无法恢复,请谨慎操作。不支持故障紧急终止。

DCS AZ下电

实现该AZ下的所有节点统一下电。不支持故障紧急终止,部分区域不支持该武器。

云搜索服务 (CSS)

实例类

CSS集群重启

重启状态可用的CSS集群。重启期间,kibana和cerebro可能会访问失败。不支持故障紧急终止。

文档数据库服务 (DDS)

实例类

备节点强制升主

支持副本集、shard和config备节点强制升主。但在主备时延较大的情况下存在失败风险,不支持故障紧急终止。

IDC离线资源-虚拟机类型

体验类

小试牛刀

不产生任何故障,帮助您了解混沌演练的执行流程。

主机资源

CPU使用率加压

模拟CPU使用率飙升,支持故障紧急终止。

内存使用率加压

模拟内存使用率飙升,支持故障紧急终止。

磁盘使用率加压

模拟磁盘使用率飙升,支持故障紧急终止。

磁盘IO加压

通过不间断读写文件,对磁盘IO加压,支持故障紧急终止。

主机进程

进程号耗尽

耗尽系统进程号(PID),不支持故障紧急终止。

杀进程

故障持续期间重复杀进程,支持故障紧急终止;紧急终止或演练结束后演练系统不负责拉起进程,服务需自行保证进程恢复正常。

主机网络

网络延迟

模拟网络故障导致链路延迟增大,支持故障紧急终止。

网络丢包

模拟网络故障导致链路产生丢包,支持故障紧急终止(丢包率100%时不支持)。

网络错包

模拟网络故障导致链路产生错包,支持故障紧急终止(错包率100%时不支持)。

网络包重复

模拟网络故障导致链路产生重复包,支持故障紧急终止。

网络包乱序

模拟网络故障导致链路产生包乱序,支持故障紧急终止。

网络中断

模拟节点间网络不通,支持故障紧急终止;请勿填写演练系统和UniAgent服务器的IP地址,否则可能导致演练失败;如需要中断已建立的长连接,中断方向请选择全方向。

网卡down

模拟网卡down的情况,因各主机网络配置不同,网卡down后有可能启动网卡失败,请做好恢复网络的应急预案,不支持故障紧急终止。

篡改DNS域名解析

篡改域名地址映射,支持故障紧急终止。

端口占用

模拟系统网络端口被占用(最多100个),支持故障紧急终止。

整机断网

模拟整机断网的情况,拒绝所有基于TCP,UDP,ICMP协议的数据包,只开放22,8002,39604,33552,33554,33557,32552,32554,32557端口,支持故障紧急终止。

网卡带宽限速

限制网卡带宽速度,支持多网卡,支持故障紧急终止。

网络连接耗尽

创建大量到指定IP:Port(服务端)的Socket连接进行消耗,使节点正常请求无法连接到服务端(对服务端处理其他节点的请求可能也有影响),支持故障紧急终止。

阿里云-云服务器

体验类

小试牛刀

不产生任何故障,帮助您了解混沌演练的执行流程。

主机资源

CPU使用率加压

模拟CPU使用率飙升,支持故障紧急终止。

内存使用率加压

模拟内存使用率飙升,支持故障紧急终止。

磁盘使用率加压

模拟磁盘使用率飙升,支持故障紧急终止。

磁盘IO加压

通过不间断读写文件,对磁盘IO加压,支持故障紧急终止。

主机进程

进程号耗尽

耗尽系统进程号(PID),不支持故障紧急终止。

杀进程

故障持续期间重复杀进程,支持故障紧急终止;紧急终止或演练结束后演练系统不负责拉起进程,服务需自行保证进程恢复正常。

主机网络

网络延迟

模拟网络故障导致链路延迟增大,支持故障紧急终止。

网络丢包

模拟网络故障导致链路产生丢包,支持故障紧急终止(丢包率100%时不支持)。

网络错包

模拟网络故障导致链路产生错包,支持故障紧急终止(错包率100%时不支持)。

网络包重复

模拟网络故障导致链路产生重复包,支持故障紧急终止。

网络包乱序

模拟网络故障导致链路产生包乱序,支持故障紧急终止。

网络中断

模拟节点间网络不通,支持故障紧急终止;请勿填写演练系统和UniAgent服务器的IP地址,否则可能导致演练失败;如需要中断已建立的长连接,中断方向请选择全方向。

网卡down

模拟网卡down的情况,因各主机网络配置不同,网卡down后有可能启动网卡失败,请做好恢复网络的应急预案,不支持故障紧急终止。

篡改DNS域名解析

篡改域名地址映射,支持故障紧急终止。

端口占用

模拟系统网络端口被占用(最多100个),支持故障紧急终止。

整机断网

模拟整机断网的情况,拒绝所有基于TCP,UDP,ICMP协议的数据包,只开放22,8002,39604,33552,33554,33557,32552,32554,32557端口,支持故障紧急终止。

网卡带宽限速

限制网卡带宽速度,支持多网卡,支持故障紧急终止。

网络连接耗尽

创建大量到指定IP:Port(服务端)的Socket连接进行消耗,使节点正常请求无法连接到服务端(对服务端处理其他节点的请求可能也有影响),支持故障紧急终止。

自定义故障

用户通过自动化运维的脚本创建脚本,通过执行脚本模拟故障发生的情况,支持故障紧急终止。

由于自定义故障完全由您编写的脚本决定,所以在使用脚本对弹性云服务器 (ECS)进行攻击时,可能会导致资源使用率飙高、网络发生故障等异常现象,从而存在将弹性云服务器 (ECS)上已安装的UniAgent状态变成离线/异常的风险,请悉知。

自定义脚本规范请参考如下代码。
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
#!/bin/bash
set +x

function usage() {
    echo "Usage: {inject_fault|check_fault_status|rollback|clean}"
    exit 2
}

function inject_fault()
{
    echo "inject fault"
}

function check_fault_status()
{
    echo "check fault status"
}

function rollback()
{
    echo "rollback"
}

function clean()
{
    echo "clean"
}

case "$ACTION" in
    inject_fault)
        inject_fault
    ;;
    check_fault_status)
        check_fault_status
    ;;
    rollback)
        if [[ X"${CAN_ROLLBACK}" == X"true" ]]; then
            rollback
        else
            echo "not support to rollback"
        fi
    ;;
    clean)
        clean
    ;;
    *)
        usage
;;
esac

建议按照上述脚本规范进行自定义故障定义。在上述规范中,您可以通过在inject_fault()、check_fault_status()、rollback()、clean()函数内编写自定义的内容来自定义故障注入函数、故障检查函数、故障回滚函数、环境清理函数操作。

按照上述规范,还有两个必填的脚本参数,如下。是否有其余脚本参数由您脚本内容决定。

表2 自定义故障脚本必填参数说明

参数名称

参数值

参数描述

ACTION

inject_fault

演练操作动作,系统后台在演练不同阶段会自动设置对应的值。可以选择:

  • inject_fault:表示演练处于故障注入阶段。
  • check_fault_status:表示演练处于故障查询阶段。
  • rollback:表示演练处于取消正在注入故障的阶段。
  • clean:表示演练处于清理环境阶段

CAN_ROLLBACK

false

是否支持回滚;可以选择:

  • true:表示演练处于取消正在注入故障的阶段时,会执行rollback()回滚函数中的内容。
  • false:表示演练处于取消正在注入故障的阶段时,不会执行rollback()回滚函数。

在"inject_fault"函数中,请添加一个故障注入成功的标志,并于"check_fault_status"函数中去检测该标志是否存在。

  • 若存在,则"check_fault_status"函数可以正常返回(如exit 0)。
  • 若不存在,则"check_fault_status"函数可以异常返回(如:exit 1)。

自定义脚本样例

下面为您介绍一个自定义脚本样例。

脚本内容如下。
  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
#!/bin/bash
set +x
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin
export PATH


function usage() {
    echo "Usage: {inject_fault|check_fault_status|rollback|clean}"
    exit 2
}

function inject_fault()
{
    echo "============start inject fault============"
    if [ ! -d "${SCRIPT_PATH}/${DIR_NAME}" ]; then
        mkdir -p "${SCRIPT_PATH}/${DIR_NAME}"
        echo "mkdir ${SCRIPT_PATH}/${DIR_NAME} successfully"
    fi

    cd "${SCRIPT_PATH}/${DIR_NAME}"

    if [ ! -f ${FILE} ]; then
        touch "${FILE}"
        echo "create tmp file ${FILE}"
        touch inject.log
        chmod u+x "${FILE}"
        chmod u+x inject.log
    else
        echo "append content">${FILE}
    fi
    echo "successfully inject">${FILE}
    echo "============end inject fault============"
}

function check_fault_status()
{
    echo "============start check fault status============"
    if [ ! -d "${SCRIPT_PATH}/${DIR_NAME}" ]; then
        echo "inject has been finished"
        exit 0
    fi
    cd "${SCRIPT_PATH}/${DIR_NAME}"
    SUCCESS_FLAG="successfully inject"

    if [ -f ${FILE} ]; then
        if [[ "$(sed -n '1p' ${FILE})" = "${SUCCESS_FLAG}" ]]; then
            echo "fault inject successfully"
        else
            echo "fault inject failed"
            exit 1
        fi
    else
        echo "inject finished"
        exit 0
    fi
    sleep ${DURATION}
    echo "============end check fault status============"
}

function rollback()
{
    echo "============start rollback============"
    cd "${SCRIPT_PATH}"
    if [ -d $DIR_NAME ]; then
        rm -rf "${SCRIPT_PATH}/${DIR_NAME}"
    fi
    echo "============end rollback============"
}

function clean()
{
    echo "============start clean============"
    cd "${SCRIPT_PATH}"
    if [ -d $DIR_NAME ]; then
        rm -rf "${SCRIPT_PATH}/${DIR_NAME}"
    fi
    echo "============end clean============"
}

case "$ACTION" in
    inject_fault)
        inject_fault
    ;;
    check_fault_status)
        check_fault_status
    ;;
    rollback)
        if [[ X"${CAN_ROLLBACK}" == X"true" ]]; then
            rollback
        else
            echo "not support to rollback"
        fi
    ;;
    clean)
        clean
    ;;
    *)
        usage
;;
esac

脚本入参如下。

表3 自定义脚本样例的脚本入参

参数名称

参数值

参数描述

ACTION

inject_fault

演练操作动作

CAN_ROLLBACK

false

不支持回滚

SCRIPT_PATH

/tmp

自定义故障日志所在根目录

DIR_NAME

test_script

自定义故障日志所在父目录

FILE

test.log

自定义故障日志名

DURATION

10

模拟自定义故障持续时间,单位:秒

(该参数放在inject_fault函数内时不生效)

  • 在样例的“inject_fault”函数中,注入的故障即是“创建一个{FILE}文件,并在{FILE}文件中新增内容”。故障注入成功的标志即为在{FILE}文件中输入了“successfully inject”内容。
  • 在样例的“check_fault_status”函数中,会检测{FILE}文件是否存在。若不存在,则可能是故障已经被清理结束,此处返回exit 1。若存在,则检测故障注入成功的标志是否存在,若存在该标志,则表示故障注入成功,此处“sleep {DURATION}”用于模拟故障持续时间;若成功的标志不存在,则说明故障注入失败。