首先用iostat查看各个磁盘读写情况,虚拟机磁盘是以dm-id为名显示的。
1 | iostat 2 2 #取样两次,每次相隔2秒 |
查找tps大于20的vm,并按大小排序
1 2 | iostat 2 2| grep ^dm-| awk -F "[ ]+|[-]" '{if($3>20){print $2"\t"$3}}' | sort -rnk 2 #第一列为磁盘ID,第二列为当前tps |
根据磁盘ID查找相应的虚拟机
1 2 3 4 5 6 7 8 | #!/bin/bash #根据iostat结果ID找出相应VM #执行sh file.sh 编号 case $1 in *) id =` ls -l /dev/mapper/ | awk '{if ($6=="' $* '"){print $NF}}' | awk -F-- '{print $NF}' `;xe vdi-list| grep -A 1 $ id ;; esac |