#!/usr/bin/ksh
FC=`lsdev -Cc adapter | grep -i fc`
OS=`oslevel`
if [ -z "$FC" ]; then
echo "Sorry you have no FC adapters installed"
exit 1
fi
if ! [ "$OS" = "6.1.0.0" -o "$OS" = "7.1.0.0" ]; then
echo "Script requires AIX 6.1 or 7.1"
exit 2
fi
echo " ODM Running ODM Running ODM Running"
echo "fscsi status fastfail fastfail dyntrk dyntrk num_cmd_el num_cmd_el"
echo "-----------------------------------------------------------------------------"
for fscsi in `lsdev | grep ^fscsi | grep Available | awk '{print $1}'` ; do
lsattr -El $fscsi | grep ^dyntrk | awk '{print $2}' | grep -qi yes && odm_dyn=Yes || odm_dyn=No
lsattr -El $fscsi | grep ^fc_err_recov | awk '{print $2}' | grep -qi fast_fail && odm_ff=Yes || odm_ff=No
odm_cmd_elems=`lsattr -El $(echo $fscsi | sed 's/fscsi/fcs/') -a num_cmd_elems | awk '{print $2}'`
ddi=`echo efscsi $fscsi | kdb | grep efscsi_ddi | awk '{print $5}'`
ddi20=$(echo "obase=16; ibase=16; $(echo $ddi | sed 's/0x//' | tr -d ';') + 20" | bc )
kdb=`echo "dd ${ddi}+20 2" | kdb | grep $ddi20`
echo $kdb | awk '{print $2}' | cut -c9-10 | grep -q "02" && kdb_ff=Yes || kdb_ff=No
echo $kdb | awk '{print $2}' | cut -c11-12 | grep -q "01" && kdb_dyn=Yes || kdb_dyn=No
kdb_cmd_elems=$(( 16#`echo $kdb | awk '{print $3}' | cut -c1-8`))
kdb_cmd_elems=`expr $kdb_cmd_elems + 20`
status=OK
[ "$odm_dyn" = "$kdb_dyn" ] || status="DIFF!"
[ "$odm_ff" = "$kdb_ff" ] || status="DIFF!"
[ "$odm_cmd_elems" = "$kdb_cmd_elems" ] || status="DIFF!"
printf "%-7s %-7s " $fscsi $status
printf "%-9s %-9s " $odm_ff $kdb_ff
printf "%-8s %-8s " $odm_dyn $kdb_dyn
printf "%-12s %-12s\n" $odm_cmd_elems $kdb_cmd_elems
done
Like this:
Like Loading...
Related