统计iscsi或者光纤存储磁盘IO情况

2024-10-27 04:59:27

1、创建目录mkdir -p /zxx_software/sh

2、编乩态祗嚆辑iostat.sh脚本#!/bin/bashstep=1 #crontab只能定位到分,需要一个休眠时间来精确到秒级别for (( i = 0; i <稆糨孝汶; 60; i=(i+step) )); do clear #每次执行该脚本时重新赋值 read_sum=0 #每秒钟各个存储逻辑卷的总读取量 write_sum=0 #每秒钟各个存储逻辑卷的总写量 sum=0 #每秒钟各个存储逻辑卷的总读写量 today=`date` for disk_io_r in `iostat -x -d -k 1 1 | sed -n '5,$p' | awk '{print $6}'` do disk_io_r_n=${disk_io_r%.*} #取整 舍去最后一个.及其右部分数据 let "read_sum+=disk_io_r_n" #求和 done for disk_io_w in `iostat -x -d -k 1 1 | sed -n '5,$p' | awk '{print $7}'` do disk_io_w_n=${disk_io_w%.*} let "write_sum+=disk_io_w_n" done let "sum=read_sum+write_sum" if [ $sum -lt "100000" ] ; then echo "---start:$today------------------" >> /zxx_software/sh/iostat_normal.log echo " disk read total is :$read_sum(KB)" >> /zxx_software/sh/iostat_normal.log echo " disk write total is :$write_sum(KB)" >> /zxx_software/sh/iostat_normal.log echo "---end------------------" >> /zxx_software/sh/iostat_normal.log else #如果磁盘读写总量超过带宽IO的80%,打印到错误日志 echo "---start:$today------------------" >> /zxx_software/sh/iostat_error.log echo " disk read total is :$read_sum(KB)" >> /zxx_software/sh/iostat_error.log echo " disk write total is :$write_sum(KB)" >> /zxx_software/sh/iostat_normal.log echo "---end------------------" >> /zxx_software/sh/iostat_error.log fi sleep $step #睡眠1秒doneexit 0

统计iscsi或者光纤存储磁盘IO情况

4、设置定时任务* * * * * /zxx_software/sh/iostat.sh 每天每分钟执行一次脚本注意:1、crontab 定时只能精确到分钟2、编辑crontab之后,不会立即生效,缓冲时间1分钟。

统计iscsi或者光纤存储磁盘IO情况

6、磁盘IO极端对比拿 磁盘读写总数*8 去和带宽1GB比较可以发现当磁盘读写总数*8大于1GB时,磁盘util达到100%,此时存储的IO肯定是有问题的,需要处理。原因可能是:某个应用对含有blob字段的表进行频繁的全表扫描

统计iscsi或者光纤存储磁盘IO情况统计iscsi或者光纤存储磁盘IO情况
猜你喜欢