From 13132058071643213e81d27a1362123e8fc4e478 Mon Sep 17 00:00:00 2001 From: Aleksandar Sujic Date: Mon, 3 Feb 2025 09:55:07 +0000 Subject: [PATCH] =?UTF-8?q?Script=20aufger=C3=A4umt.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- capacity-report.sh | 58 +++++++++++++++++++++++++++++++--------------- 1 file changed, 39 insertions(+), 19 deletions(-) diff --git a/capacity-report.sh b/capacity-report.sh index f0a7a29..34737c3 100644 --- a/capacity-report.sh +++ b/capacity-report.sh @@ -7,19 +7,23 @@ function ConvertToTiB () { if awk "BEGIN{exit ($StorageInTB > 1000 ? 0 : 1)}" then StorageInTB=$(echo $StorageInTB | awk '{printf "%.1f\n", $1 / 1024}') - echo $StorageInTB TB # is technically TiB + + echo $StorageInTB TB else StorageInGB=$StorageInTB - echo $StorageInGB GB # is technically GiB + echo $StorageInGB GB fi else StorageInGB=$1 - echo $StorageInGB MB # is technically MiB + echo $StorageInGB MB +>>>>>>> 7b3a121 (Script aufgeräumt.) fi } function ConvertOnlyToTB () { - SpaceInTB=$(echo $1 | awk '{printf "%.1f\n", $1 / 1024}') # is technically TiB + + SpaceInTB=$(echo $1 | awk '{printf "%.1f\n", $1 / 1024}') +>>>>>>> 7b3a121 (Script aufgeräumt.) echo $SpaceInTB } @@ -35,6 +39,26 @@ license_number=$(grep -w 'license_number' /etc/filescale/cluster.ansible.yml | g sender=$(grep -w sender /etc/filescale/cluster.yml | grep -o -P '(?<=sender: ).*(?=)') recipient=$(grep -w recipient /etc/filescale/cluster.yml | grep -o -P '(?<=recipient: ).*(?=)') + +# RAW capacity +raw_capacity=$(ansible -b -i /etc/filescale/cluster.ansible.yml storage_nodes -m shell -a "ssacli ctrl all show config | grep -o -P '(?<=HDD, ).*(?= TB)' | awk '{sum+=\$1} END {print sum}'" | awk '{sum+=$1} END {print sum}') + +# Usable Capacity +getArray=$(ansible -b -i /etc/filescale/cluster.ansible.yml storage_nodes -m shell -a "ssacli ctrl all show config | grep -o -P '(?=Array ).*(?= \()' | grep -v Slot | sort -u | wc -l" | awk '{sum+=$1} END {print sum}') +diskCount=$(ansible -b -i /etc/filescale/cluster.ansible.yml storage_nodes -m shell -a "ssacli ctrl all show config | grep -v SSD | grep physicaldrive | wc -l" | awk '{sum+=$1} END {print sum}') +lostDisks=$(($getArray * 2)) +disks=$(($diskCount - $lostDisks)) +diskSize=$(sudo ssacli ctrl all show config | grep -o -P '(?<=HDD, ).*(?= TB)' | sort -u | tail -1) +usable_capacity=$(($disks * $diskSize)) + +# Available Capacity +available_capacity_GB=$(ansible -b -i /etc/filescale/cluster.ansible.yml storage_nodes -m shell -a "ssacli ctrl all show config | grep 'Unused Space:' | grep -o '[[:digit:]]*'" | awk '{sum+=$1} END {sum=sum/1024} END {print sum}') +available_capacity_TB=$(ConvertOnlyToTB $available_capacity_GB) + +# Allocated Capacity +allocated_capacity_TB=$(awk "BEGIN {print $usable_capacity - $available_capacity_TB}") + +>>>>>>> 7b3a121 (Script aufgeräumt.) # CSS/html/bash ( echo "To: ${recipient}" @@ -88,27 +112,20 @@ recipient=$(grep -w recipient /etc/filescale/cluster.yml | grep -o -P '(?<=recip License Number Raw Capacity - Allocated Capacity - Available Capacity Usable Capacity + Available Capacity + Allocated Capacity " -# License number + echo " ${license_number} " -# RAW capacity -raw_capacity=$(ansible -b -i /etc/filescale/cluster.ansible.yml storage_nodes -m shell -a "ssacli ctrl all show config | grep -o -P '(?<=HDD, ).*(?= TB)' | awk '{sum+=\$1} END {print sum}'" | awk '{sum+=$1} END {print sum}') echo " ${raw_capacity} TB " -# Allocated Capacity -allocated_capacity_GB=$(df -BG | grep '/gluster/repositories/' | grep -v fs-ss | grep -v '/tmp/' | awk '{ sum+=$2} END {print sum}') -allocated_capacity_TB=$(ConvertOnlyToTB $allocated_capacity_GB) # is technically TiB -echo " ${allocated_capacity_TB} TB " -# Available Capacity -available_capacity_GB=$(ansible -b -i /etc/filescale/cluster.ansible.yml storage_nodes -m shell -a "ssacli ctrl all show config | grep 'Unused Space:' | grep -o '[[:digit:]]*'" | awk '{sum+=$1} END {sum=sum/1024} END {print sum}') -available_capacity_TB=$(ConvertOnlyToTB $available_capacity_GB) # is technically TiB +echo " ${usable_capacity} TB " echo " ${available_capacity_TB} TB " -# Usable Capacity -usable_capacity=$(echo $allocated_capacity_TB + $available_capacity_TB | bc) # is technically TiB -echo " ${usable_capacity} TB +echo " ${allocated_capacity_TB} TB + + +>>>>>>> 7b3a121 (Script aufgeräumt.) @@ -178,3 +195,6 @@ echo " " ) | sudo sendmail -t -f $sender + + +>>>>>>> 7b3a121 (Script aufgeräumt.)