1
0
mirror of https://github.com/OpenNebula/one.git synced 2025-03-21 14:50:08 +03:00

feature #1678: add monitor_ds.sh

This commit is contained in:
Javi Fontan 2013-10-17 17:35:45 +02:00
parent 3e4b048299
commit 374520dfb5

View File

@ -0,0 +1,56 @@
#!/bin/bash
HYPERVISOR=$1
# Harcoded value while the position of the parameter is not known
#DATASTORE_LOCATION=${2:-"/var/lib/one/datastores"}
DATASTORE_LOCATION="/var/lib/one/datastores"
LVM_VG_PREFIX="vg-one-"
LVM_SIZE_CMD="sudo vgdisplay --separator : --units m -o vg_size,vg_free --nosuffix --noheadings -C"
USED_MB=$(du -sLm $DATASTORE_LOCATION 2>/dev/null | cut -f1)
TOTAL_MB=$(df -B1M -P $DATASTORE_LOCATION 2>/dev/null | tail -n 1 | awk '{print $2}')
FREE_MB=$(df -B1M -P $DATASTORE_LOCATION 2>/dev/null | tail -n 1 | awk '{print $4}')
echo "DS_LOCATION_USED_MB=$USED_MB"
echo "DS_LOCATION_TOTAL_MB=$TOTAL_MB"
echo "DS_LOCATION_FREE_MB=$FREE_MB"
dirs=$(ls $DATASTORE_LOCATION)
for ds in $dirs; do
echo $ds | grep -q -E '^[0123456789]+$' || continue
dir=$DATASTORE_LOCATION/$ds
USED_MB=$(du -sLm $dir 2>/dev/null | cut -f1)
TOTAL_MB=$(df -B1M -P $dir 2>/dev/null | tail -n 1 | awk '{print $2}')
FREE_MB=$(df -B1M -P $dir 2>/dev/null | tail -n 1 | awk '{print $4}')
LVM_SIZE=$($LVM_SIZE_CMD ${LVM_VG_PREFIX}${ds} 2>/dev/null)
LVM_STATUS=$?
echo "DS = ["
echo " ID = $ds,"
if [ $LVM_STATUS = 0 ]; then
LVM_TOTAL=$(echo $LVM_SIZE | cut -d: -f1 | sed 's/\..*//')
LVM_FREE=$(echo $LVM_SIZE | cut -d: -f2 | sed 's/\..*//')
LVM_USED=$(( $LVM_TOTAL - $LVM_FREE ))
echo " USED_MB = $LVM_USED,"
echo " TOTAL_MB = $LVM_TOTAL,"
echo " FREE_MB = $LVM_FREE,"
echo " VOLATILE_USED_MB = $USED_MB,"
echo " VOLATILE_TOTAL_MB = $TOTAL_MB,"
echo " VOLATILE_FREE_MB = $FREE_MB"
else
echo " USED_MB = $USED_MB,"
echo " TOTAL_MB = $TOTAL_MB,"
echo " FREE_MB = $FREE_MB"
fi
echo "]"
done