User Tools

Site Tools


linux:check_raid_status

Check RAID adapter status (AVAGO, Intel, sofware raid)

Check the status of RAIDs, and send an email if problem

[root@linux02 scripts]# cat check_raid_disks_status.sh
#!/bin/bash
#set -x
#====================================================================
#@(#) Check RAID disks into SuperMicro SuperServers
#====================================================================
# version 1.0 Manu

dir=`dirname $0`
. $dir/.env

HOSTNAME=$(hostname -s)

logfile=$logpath/check_raid_disks.txt
tsmemailsender="root.${HOSTNAME}@mydom.lu"

#---------------------------
check_megaraid()
{
# /opt/MegaRAID/storcli/storcli64 show    --> package from https://www.broadcom.com
for adapter in /c0 /c1
do
  /opt/MegaRAID/storcli/storcli64 ${adapter} show | egrep "RAID|DRIVE|SATA" | egrep -v "^Product|^Current" | grep -v 'Onln' | grep -v 'Optl'
  /opt/MegaRAID/storcli/storcli64 ${adapter} show | egrep "RAID|DRIVE|SATA" >> $logname 2>&1
done
}

#---------------------------
check_intelraid()
{
# The configuration is done into the BIOS
for device in /dev/md124 /dev/md126
do
  if [ -e ${device} ]
  then
    mdadm --detail ${device} | egrep "State|/dev/sd" | grep -v "RaidDevice" | grep -v 'active'
    mdadm --detail ${device} | egrep "State|/dev/sd" >> $logname 2>&1
  fi
done
}


#---------------------------
main ()
{
date "+%d-%m-%Y %H:%M"

echo "# Check megaraid"
check_megaraid > $logfile

echo "# Check intelraid"
check_intelraid >> $logfile

echo "#####################################"
if [ -s $logfile ]
then
  echo "ERROR in the raid config on server $HOSTNAME"

cat >> $logfile << EOF
##################################
Check using the commands:
/opt/MegaRAID/storcli/storcli64 /c0 show
/opt/MegaRAID/storcli/storcli64 /c1 show
mdadm --detail /dev/md124
mdadm --detail /dev/md126
EOF

  subject="ERROR in the RAID config on server $HOSTNAME"
  echo "Script name: $sn" | mailx -a "$logfile" -r "$tsmemailsender" -s "$subject" $destination
else
  echo "RAID disks on server $HOSTNAME is OK"
fi
}

main > $logname 2>&1
linux/check_raid_status.txt · Last modified: 2021/01/01 21:25 (external edit)