cas平台监控kvm共享文件磁盘的分配情况

本文分享了一个用于统计共享文件系统下分配磁盘大小的 Bash 脚本。该脚本能够遍历指定目录下的磁盘文件,并通过 qemu-img 工具获取其大小,最后汇总各个磁盘的总容量。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今日做周报汇总是发现平台可以比较直观的查看并统计分配磁盘的真实使用情况,但是分配出去的量没有很直观的体现,所以晚了一点时间写了一个抓取共享文件系统下分配磁盘大小的脚本,可供大家使用。

话不多说直接上代码!!!

#!/bin/bash
cd /vms/int_share03/     #切换至目标目录
 > test1.txt             #清空转存文件
#获取所有磁盘大小
for line in $(ls | grep 'volume\|inc')
do
qemu-img info  $line  |sed -n '3p'|awk '{print $3}'  >> test1.txt
done
#处理数据
sed -i  's/G//g' test1.txt
sed  -i  's/.0T/000/g'  test1.txt
sed  -i  's/.1T/100/g'  test1.txt
sed  -i  's/.2T/200/g'  test1.txt
sed  -i  's/.3T/300/g'  test1.txt
sed  -i  's/.4T/400/g'  test1.txt
sed  -i  's/.5T/500/g'  test1.txt
sed  -i  's/.6T/600/g'  test1.txt
sed  -i  's/.7T/700/g'  test1.txt
sed  -i  's/.8T/800/g'  test1.txt
sed  -i  's/.9T/900/g'  test1.txt
sum1=`cat test1.txt  | awk '{print $1}' | awk '{sum+=$1}END{print sum}'`

###########################################################
cd /vms/int_share04/     #切换至目标目录

 > test1.txt             #清空转存文件
#获取所有磁盘大小
for line in $(ls | grep 'volume\|inc')
do
qemu-img info  $line  |sed -n '3p'|awk '{print $3}'  >> test1.txt
done
#处理数据
sed -i  's/G//g' test1.txt
sed  -i  's/.0T/000/g'  test1.txt
sed  -i  's/.1T/100/g'  test1.txt
sed  -i  's/.2T/200/g'  test1.txt
sed  -i  's/.3T/300/g'  test1.txt
sed  -i  's/.4T/400/g'  test1.txt
sed  -i  's/.5T/500/g'  test1.txt
sed  -i  's/.6T/600/g'  test1.txt
sed  -i  's/.7T/700/g'  test1.txt
sed  -i  's/.8T/800/g'  test1.txt
sed  -i  's/.9T/900/g'  test1.txt
sum2=`cat test1.txt  | awk '{print $1}' | awk '{sum+=$1}END{print sum}'`

###########################################################
cd /vms/int_share07/     #切换至目标目录

 > test1.txt             #清空转存文件
#获取所有磁盘大小
for line in $(ls | grep 'volume\|inc')
do
qemu-img info  $line  |sed -n '3p'|awk '{print $3}'  >> test1.txt
done
#处理数据
sed -i  's/G//g' test1.txt
sed  -i  's/.0T/000/g'  test1.txt
sed  -i  's/.1T/100/g'  test1.txt
sed  -i  's/.2T/200/g'  test1.txt
sed  -i  's/.3T/300/g'  test1.txt
sed  -i  's/.4T/400/g'  test1.txt
sed  -i  's/.5T/500/g'  test1.txt
sed  -i  's/.6T/600/g'  test1.txt
sed  -i  's/.7T/700/g'  test1.txt
sed  -i  's/.8T/800/g'  test1.txt
sed  -i  's/.9T/900/g'  test1.txt
sum3=`cat test1.txt  | awk '{print $1}' | awk '{sum+=$1}END{print sum}'`

###########################################################
cd /vms/int_share08/     #切换至目标目录

 > test1.txt             #清空转存文件
#获取所有磁盘大小
for line in $(ls | grep 'volume\|inc')
do
qemu-img info  $line  |sed -n '3p'|awk '{print $3}'  >> test1.txt
done
#处理数据
sed -i  's/G//g' test1.txt
sed  -i  's/.0T/000/g'  test1.txt
sed  -i  's/.1T/100/g'  test1.txt
sed  -i  's/.2T/200/g'  test1.txt
sed  -i  's/.3T/300/g'  test1.txt
sed  -i  's/.4T/400/g'  test1.txt
sed  -i  's/.5T/500/g'  test1.txt
sed  -i  's/.6T/600/g'  test1.txt
sed  -i  's/.7T/700/g'  test1.txt
sed  -i  's/.8T/800/g'  test1.txt
sed  -i  's/.9T/900/g'  test1.txt
sum4=`cat test1.txt  | awk '{print $1}' | awk '{sum+=$1}END{print sum}'`

###########################################################
sum0=$(expr $sum1 + $sum2 + $sum3 + $sum4)
echo $sum0

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值