EMC CX/VNX存储统计磁盘软错误(Soft Media Error 和Soft SCSI Bus Error)脚本

EMC CX/VNX存储运行时间较久(5年以后)之后很可能会遇到同一个RAID组几块磁盘同时故障的情况,造成RAID组损坏和数据丢失,而同时故障的磁盘一般在故障发生之前可能在日志中频繁和大量地报软错误(Soft Media Error 和Soft SCSI Bus Error)。因此可以定期收集EMC CX/VNX存储的支持数据,然后将存储控制器的日志解压出来上传到linux机器,使用以下脚本统计每个磁盘的软报错次数。如果磁盘的软报错次数较多,比如超过50,请检查报错的时间,确认报错是否是出现在磁盘更换之后新报出的。在必要的情况下,提前将有故障隐患的磁盘更换掉,尽量避免几块磁盘同时损坏丢失数据的情况。

脚本使用方法:使用时更改一下日志文件的名称,原本想定义变量来指向文件的,但是日志文件名称可能有中文特殊符,尝试不成功。

例如,查看控制器A上的日志:

disks=`cat  SPA_navi_getlog.txt | grep -i disk|grep -iw soft|awk '{print $3,$4,$5,$6,$7,$8}'|sort -u  |awk -F"[ (]" '{print $1,$2,$3,$4,$5,$6}'|sort -u`
disk_number=`echo "$disks" | wc -l`
number=1
while [ $number -le $disk_number ]
do
    disk=`echo "$disks" | head -$number |tail -1`
    error_number=`grep "${disk}("  SPA_navi_getlog.txt | grep -i error|wc -l`
    echo -e "$disk\t\t$error_number"
    number=`expr $number + 1` 
done

例如,查看控制器B上的日志:

disks=`cat SPB_navi_getlog.txt | grep -i disk|grep -iw soft|awk '{print $3,$4,$5,$6,$7,$8}'|sort -u  |awk -F"[ (]" '{print $1,$2,$3,$4,$5,$6}'|sort -u`
disk_number=`echo "$disks" | wc -l`
number=1
while [ $number -le $disk_number ]
do
    disk=`echo "$disks" | head -$number |tail -1`
    error_number=`grep "${disk}("  SPB_navi_getlog.txt | grep -i error|wc -l`
    echo -e "$disk\t\t$error_number"
    number=`expr $number + 1` 
done

另外,不执行脚本的话也可以手工执行以下命令来统计每个磁盘的软报错次数:

1)首先列出控制器A上所有报软错误的硬盘:
cat SPA_navi_getlog.txt |grep -i disk|grep -iw soft|awk ‘{print $3,$4,$5,$6,$7,$8}’|sort -u |awk -F"[ (]" ‘{print $1,$2,$3,$4,$5,$6}’|sort -u

2)统计控制器A上每个报软错误硬盘的报错次数:
grep “Bus 0 Enclosure 0 Disk 7(” SPA_navi_getlog.txt| grep -i error|wc -l



注: VNX5600等第二代VNX的日志信息与VNX第一代的不同,需要使用以下脚本:

分析SPA日志的磁盘告警信息:

disks=`cat SPA_navi_getlog.txt | grep -i disk|grep -iw soft|awk '{print $4,$5,$6,$7,$8,$9}'|sort -u  |awk -F"[ ()]" '{print $3,$4,$5,$6,$7,$8,$9}'|sort -u`

disk_number=`echo "$disks" | wc -l`
number=1
while [ $number -le $disk_number ]
do
    disk=`echo "$disks" | head -$number |tail -1`
    error_number=`grep "${disk}"  SPA_navi_getlog.txt | grep -i error|wc -l`
    #echo $error_number
    echo -e "$disk\t\t$error_number"
    number=`expr $number + 1` 
done

分析SPB日志的磁盘告警信息:

disks=`cat SPB_navi_getlog.txt | grep -i disk|grep -iw soft|awk '{print $4,$5,$6,$7,$8,$9}'|sort -u  |awk -F"[ ()]" '{print $3,$4,$5,$6,$7,$8,$9}'|sort -u`

disk_number=`echo "$disks" | wc -l`
number=1
while [ $number -le $disk_number ]
do
    disk=`echo "$disks" | head -$number |tail -1`
    error_number=`grep "${disk}"  SPB_navi_getlog.txt | grep -i error|wc -l`
    #echo $error_number
    echo -e "$disk\t\t$error_number"
    number=`expr $number + 1` 
done
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值