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


 
ibmsddkAsked:
Who is Participating?

Improve company productivity with a Business Account.Sign Up

x
 
woolmilkporcConnect With a Mentor Commented:
Here is WWN -
#!/bin/ksh
echo "rmt  | Serial  A/P | WWN                | 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}')
          WWN=$(lsattr -El $TAPE | grep node_name | awk '{print $2}')
          ALT=$(echo $LOC | awk -F"-" '{print $4}')
          FCS=$(echo $FSCS | sed 's/fscsi/fcs/')
          echo $TAPE "|" $SERIAL ${ALT:-"   "} "|" $WWN "|" $FCS "|" $STATE
        done
  done |sort -k3n,6
echo "-----+-------------+--------------------+------+----------"
But what do you mean with SMC?
0
 
woolmilkporcCommented:
Hi,

#!/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
0
 
woolmilkporcCommented:
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
0
Get expert help—faster!

Need expert help—fast? Use the Help Bell for personalized assistance getting answers to your important questions.

 
ibmsddkAuthor Commented:
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.

0
 
woolmilkporcCommented:
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.
0
 
ibmsddkAuthor Commented:
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 ,
0
 
ibmsddkAuthor Commented:
i mean the medium changers properties
0
 
ibmsddkAuthor Commented:
problem solved
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.