一、测试目的
重点关注:
- 服务连续性
- 系统稳定性
- 故障告警、处理、恢复
二、故障类型
1.1微服务/内部组件故障
序号 | 场景 |
---|---|
1 | 主节点微服务/内部组件进程异常,可自动拉起或强制拉起 |
2 | 主节点微服务/内部组件进程 hang死,是否主备切换、服务降级 |
3 | 备节点微服务/内部组件进程异常且无法自动拉起,是都影响服务,是否告警等 |
4 | 主节点故障,备1升主过程中,微服务/内部组件故障 |
5 | 所有备节点故障,主节点微服务/内部组件故障 |
6 | 所有节点关键微服务/内部组件故障,是否会强制升主 |
7 | 组件少数派、多数派 主备节点故障 |
1.2 网络故障
序号 | 场景 |
---|---|
1 | 主节点/备节点 网卡down |
2 | 主备节点发生网络隔离 |
3 | 主节点 网络闪断 |
4 | 主备节点之间出网络延时 |
1.3 AZ可用域故障
1.4 CPU/磁盘/内存满
1.5 时钟不同步
三、不同场景故障注入方法
序号 | 场景 | 命令 |
---|---|---|
1 | 进程异常退出 | ps ux|grep 进程名|grep -v grep|awk ‘{print $2}’|xargs kill -9 |
2 | 进程hang死 | ps ux|grep 进程名|grep -v grep|awk ‘{print $2}’|xargs kill -19 |
3 | 进程hang死恢复 | grep 进程名|grep -v grep|awk ‘{print $2}’|xargs kill -18 |
4 | 停止或恢复定时任务 | crontab -e |
5 | 网络断开10分钟 | ifdown 网卡名称;sleep 600s;ifup 网卡名称 |
6 | 网络隔离 | iptables -t filter -A INPUT -s IPXXX.XX.XX.XX -j DROP 网络隔离恢复 iptables -F |
7 | 网络闪断 | for i in{1…10}; do ifconfig 网卡名 down;sleep 3s;ifconfig 网卡名 up done |
8 | 组件故障 | mv 组件目录 组件新目录 |
9 | 时钟不同步 | ntpdate -u 源IP |