一 . 模拟拔盘
**#拔盘脚本:传入 盘符名称入 :sdx**
disk=$1
res=`ls /sys/block/$disk/device/scsi_disk/ | grep -oE '[0-9]+:[0-9]+:[0-9]+:[0-9]+'`
echo 1 > /sys/bus/scsi/devices/$res/delete
if [ $? -eq 0 ] ;then
echo "remove $disk success"
else
echo "remove $disk fail"
fi
**#磁盘恢复,目前没有找到恢复单个盘的方法**
dir="/sys/class/scsi_host/"
function main_loop()
{
for file in `ls $dir`
do
echo "- - -" > "/sys/class/scsi_host/$file/scan"
done
}
main_loop
mount -a
二 、 模拟系统网络异常
主要使用使用tc 命令
参考博客 :
https://www.cnblogs.com/fsw-blog/p/4788036.html
恢复命令
tc qdisc del dev eth1 root
三 、模拟系统电源故障
#强制重启
reboot -f&
# 立即重启
reboot &
#立即重新启动计算机
echo b > /proc/sysrq-trigger&
#崩溃
echo c > /proc/sysrq-trigger&
#关闭
echo o > /proc/sysrq-trigger&
四 、 需求: 拔盘之后盘符会变。 且盘符对应服务器磁盘的槽位,不是有序的,如何才能根据盘符找到磁盘的位置。
思考: 目前通过不断往该磁盘写数据,使硬盘灯亮。
还在思考别的方法。如果有别的方法,还请告知。kkks