ibmsddk
asked on
Script in AIX for rmt's
Hi
I need a script in AIX which should show the rmt's ,serial number of tape,HBA attached. in following format.
rmt from aix end | serial no of drive | HBA adapter
Ex:
rmt34567 | 0345678654 | fcs
I need a script in AIX which should show the rmt's ,serial number of tape,HBA attached. in following format.
rmt from aix end | serial no of drive | HBA adapter
Ex:
rmt34567 | 0345678654 | fcs
Just for fun - try this to get "the whole picture":
#!/bin/ksh
lsdev |grep fscsi | while read FSCS rest
do
lsdev -p $FSCS | grep rmt |while read TAPE filler LOC MODEL
do
SERIAL=$(lscfg -vl $TAPE | grep Serial | awk -F"." '{printf "%d", $NF}')
ALT=$(echo $LOC | awk -F"-" '{print $4}')
FCS=$(echo $FSCS | sed 's/fscsi/fcs/')
echo $TAPE "|" $SERIAL ${ALT:-" "} "|" $FSCS "|" $FCS "|" "$MODEL"
done
done |sort -k3,n
#!/bin/ksh
lsdev |grep fscsi | while read FSCS rest
do
lsdev -p $FSCS | grep rmt |while read TAPE filler LOC MODEL
do
SERIAL=$(lscfg -vl $TAPE | grep Serial | awk -F"." '{printf "%d", $NF}')
ALT=$(echo $LOC | awk -F"-" '{print $4}')
FCS=$(echo $FSCS | sed 's/fscsi/fcs/')
echo $TAPE "|" $SERIAL ${ALT:-" "} "|" $FSCS "|" $FCS "|" "$MODEL"
done
done |sort -k3,n
ASKER
Assuming that i'm using 1 drive and connected to 3HBA so it produces 3 rmt's
in below format
rmtname| serialno | fcs| statefrom os end
rmt12345 | 23455 |fcs1 |available or defined
rmt*|23455|fcs2|available
rmt*|23455|fcs1|available
so i can know all same tapes and logical rmt's belong to single drive and availability in os end.
in below format
rmtname| serialno | fcs| statefrom os end
rmt12345 | 23455 |fcs1 |available or defined
rmt*|23455|fcs2|available
rmt*|23455|fcs1|available
so i can know all same tapes and logical rmt's belong to single drive and availability in os end.
So where is the problem? Seems that you didn't even run my scripts!
My second version does not only give you the 'PRI' or 'ALT' flags following the serial, it's also sorted by this serial number, so you could easily see which drives are identical.
As a goodie the verbose device description is shown.
OK, you don't want to see the protocol device, no problem. Instead, you're requesting the 'Available' or 'Defined' states, which was not part of your original question.
Anyway -
#!/bin/ksh
echo "rmt | Serial A/P | HBA | State"
echo "-------------------------------------"
lsdev |grep fscsi | while read FSCS rest
do
lsdev -p $FSCS | grep rmt |while read TAPE STATE LOC MODEL
do
SERIAL=$(lscfg -vl $TAPE | grep Serial | awk -F"." '{printf "%d", $NF}')
ALT=$(echo $LOC | awk -F"-" '{print $4}')
FCS=$(echo $FSCS | sed 's/fscsi/fcs/')
echo $TAPE "|" $SERIAL ${ALT:-" "} "|" $FCS "|" $STATE
done
done |sort -k3n,6
If you don't like the "PRI/ALT" stuff, remove the parts I marked in bold.
My second version does not only give you the 'PRI' or 'ALT' flags following the serial, it's also sorted by this serial number, so you could easily see which drives are identical.
As a goodie the verbose device description is shown.
OK, you don't want to see the protocol device, no problem. Instead, you're requesting the 'Available' or 'Defined' states, which was not part of your original question.
Anyway -
#!/bin/ksh
echo "rmt | Serial A/P | HBA | State"
echo "-------------------------------------"
lsdev |grep fscsi | while read FSCS rest
do
lsdev -p $FSCS | grep rmt |while read TAPE STATE LOC MODEL
do
SERIAL=$(lscfg -vl $TAPE | grep Serial | awk -F"." '{printf "%d", $NF}')
ALT=$(echo $LOC | awk -F"-" '{print $4}')
FCS=$(echo $FSCS | sed 's/fscsi/fcs/')
echo $TAPE "|" $SERIAL ${ALT:-" "} "|" $FCS "|" $STATE
done
done |sort -k3n,6
If you don't like the "PRI/ALT" stuff, remove the parts I marked in bold.
ASKER
hi
it works fine ,
rmt130801 | 7839298 PRI | fcs1 | Available
rmt230801 | 7839298 ALT | fcs2 | Available
rmt330801 | 7839298 ALT | fcs3 | Available
rmt430801 | 7839298 ALT | fcs5 | Available
thanks ..if i want WWN how to add ,and also SMC needs to be displayed ,
it works fine ,
rmt130801 | 7839298 PRI | fcs1 | Available
rmt230801 | 7839298 ALT | fcs2 | Available
rmt330801 | 7839298 ALT | fcs3 | Available
rmt430801 | 7839298 ALT | fcs5 | Available
thanks ..if i want WWN how to add ,and also SMC needs to be displayed ,
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
ASKER
i mean the medium changers properties
ASKER
problem solved
#!/bin/ksh
lsdev |grep fscsi | while read FSCS rest
do
TAPES=$(lsdev -p $FSCS | grep rmt | grep -v ALT |cut -f1 -d" ")
for TAPE in $TAPES
do
SERIAL=$(lscfg -vl $TAPE | grep Serial | awk -F"." '{printf "%d", $NF}')
FCS=$(echo $FSCS | sed 's/fscsi/fcs/')
echo $TAPE "|" $SERIAL "|" $FSCS "|" $FCS
done
done
Some remarks:
1) The script works on the protocol devices fscsix, not on the fibre channel adapters fcsx themselves,
because if there are multiple fcsx devices it's not quite simple to show the actual parent fcsx of a given fscsix.
But given the fact that for e.g. fscsi0 it's always fcs0, the script does a simple change to display the
fcs device additionally. Remove either $FSCS or $FCS from the "echo" line if you don't want to see both.
2) If you have multi-homed drives with "alt_pathing=yes" being set, there will be an alternate device ("ALT") for any multipathing-enabled primary device ("PRI"). Since I don't know if this is the case for you I excluded the ALT devices in the script (thus "grep -v ALT).
wmp