故障注入
以实战为线索,逐步深入故障的各种场景,给出合理的注入方案。
cjfeii
Hello World.
展开
-
使用systemtap模拟磁盘IO故障
真实场景下,磁盘故障时有发生,如何模拟原创 2021-09-26 21:08:45 · 1797 阅读 · 0 评论 -
使用systemtap模拟网络延迟
上文介绍了IO延迟的注入,本文主要介绍网络的延迟注入,其实网络的延迟模拟工具有很多,我们可以通过tc、iptables等常用工具来做,这些工具都很好用,但是如果精细到系统调用级别的延迟注入,上述常规的工具可能就不太容易实现了,这正是stap擅长的领域。下面就是一个在服务端建立连接后延迟3秒返回的stap脚本:#!/usr/bin/stap# file: sock_connect_delay.stp# cmd: sudo stap ./sock_connect_delay.stp -g# 在建连原创 2021-09-26 20:43:13 · 736 阅读 · 0 评论 -
网络故障模拟工具
在做异常测试时需要模拟网络异常,经常使用的模拟工具有tc和iptables。1. tctc(traffic control)一般用来做精细的网络故障模拟。模拟网络延迟:# 1. 将 eth0 网卡的传输设置为延迟 100 毫秒发送:**# tc qdisc add dev eth0 root netem delay 100ms## 2. 将 eth0 网卡的传输设置为延迟 100ms ± 10ms (90 ~ 110 ms 之间的任意值)发送# tc qdisc add dev eth0 r原创 2021-04-08 11:28:34 · 1287 阅读 · 0 评论 -
使用systemtap模拟磁盘IO延时
在分布式存储系统的异常测试中,模拟硬件故障是一个比较头痛的问题。比较幸运的是,Linux环境下有一个非常好的工具SystemTap(https://sourceware.org/systemtap/),可以使用stap给系统调用增加勾子,并注入我们期望的异常,达到验证应用程序在异常情况的行为是否符合预期的目的。注意:stap会影响系统调用的行为,为了限制影响面,建议做好filter(可以通过pid、devname等条件限制),否则会严重影响系统稳定性,不建议在生产环境使用。生产环境经常因为IO抖动,原创 2021-09-26 20:31:36 · 1926 阅读 · 0 评论