1828219 Members
1847 Online
109975 Solutions
New Discussion

Finding controllers

 
SOLVED
Go to solution
Wim Van den Wyngaert
Honored Contributor

Finding controllers

I would like to find all controllers availble to a node. How can I find them in DCL ?
Wim
28 REPLIES 28

Re: Finding controllers

On an AXP, try

$ ANA/SYS
CLUE CONFIG

Antoniov.
Honored Contributor

Re: Finding controllers

Hello,
I'm not sure your question so I answer as I understand in my mind.
All controller are listed by
$ SHOW DEV/PAGE
this command show HD controller, tape controller then all other controller.
If you need more information about some controller you can type
$ SHOW DEV /FULL
More technical info you can find using
$ ANALYZE/SYSTEM
SDA>SHOW DEV
If you refere to TCP/IP then enter in TCP/IP command console using
$ TCPIP (if you have TCP/IP V5.xx)
$ UCX (if you have UCX/TCPIP V4.xx)
then you can type
TCPIP> SHO INTERFACE (to see port controller)
TCPIP> SHO HOST (to see host)

If you are more specific I can help you better.

H.T.H.
Antoniov

Antonio Maria Vigliotti
Wim Van den Wyngaert
Honored Contributor

Re: Finding controllers

Ana/sys displays info that can be interpreted by humans. But I need to know the device name (e.g. $1$dga99 for our HSG80). And this in a general way, e.g. with f$getdvi.
Wim
Wim Van den Wyngaert
Honored Contributor

Re: Finding controllers

To be clear : i'm talking about disk controllers. I want to do set host /scsi show failed to find disk failures. But I have to know the name of the controller OR do the command for all disk devices. Of course I prefer the first solution.
Wim
Antoniov.
Honored Contributor

Re: Finding controllers

Look at this code from my collection routines:
$!
$! Read all disk device
$GET_DISKS:
$! Here my starting code
$DSKLOOP:
$! Read next disk device
$ CURDEV = F$DEVICE("*","DISK")
$ IF CURDEV .NES. ""
$ THEN
$! Found device
$! Check exist (avoid virtual controller)
$ IF .NOT. F$GETDVI(CURDEV,"EXISTS") THEN GOTO DSKLOOP
$! Check if mounted
$ IF .NOT. F$GETDVI(CURDEV,"MNT") THEN GOTO DSKLOOP
$! here CURDEV has the name of mounted disk
$ GOTO DSKLOOP
$ ENDIF
$ RETURN

H.T.H.
Antoniov
Antonio Maria Vigliotti
Wim Van den Wyngaert
Honored Contributor

Re: Finding controllers

Antoniov,

That's almost the code I use. But since I have a lot of disks and I don't know how many controllers are behind them, I do the set ho/scsi for each disk. But better would be to get a list of controllers.
Wim
Jan van den Ende
Honored Contributor

Re: Finding controllers

Hallo Wim,

our solution: (but maybe it makes assumptions about the configuration that are not true for you:

F$GETDVI("SYS$SYSDEVICE")

use f$getdvi to get the fysical member of the systemdisk

do a $ SET/HOST/SCSI SHO .

This assumes: The systemdisk is a shadowset with member(s) on EACH HSG80

You only have HSG80 which serve a systemdisk member.
(back in HSZ50 times we had a 3-member SD with 2 members on the same HSZ, then we include a test whether we already did this one.
If you are interested in the HSG itself, (for instance, battery status) then you have to do a SHO THIS and a SHO OTHER.

I never had to figure out about HSx.. that did not carry (part of) the system disk, so maybe if that is your case you need another trick.

For what is worth, success with it.

hth

Jan

Don't rust yours pelled jacker to fine doll missed aches.
Ian Miller.
Honored Contributor

Re: Finding controllers

For scsi drives you can use the controller letter in the device name DKxnnn (use x) if port allocation classes are not enabled. With port allocation classes (DEVICE_NAMING=1) each controller would have a different allocation class (defined in SYS$DEVICES.DAT). I'm not lucky enough to have modern FC based controllers like the HSG80 so I know not about those.

Parhaps you can use the existence of the scsi port driver devices PKA, PKB etc to determine how many controllers and the controller device letter for each?

Sounds like a interesting bit of DCL to develop and I hope you can share it (parahaps at dcl.openms.org) when it works :-)
____________________
Purely Personal Opinion
Wim Van den Wyngaert
Honored Contributor

Re: Finding controllers

Hi Jan,

Good trick but not yet good enough. We have a cluster where the system disk is not shared. But if I do the test on each node of the cluster it would be correct. It is a good solution for reducing the work but still doesn't give an answer on how to find a list of controllers.

I'm not a hardware man but isn't it possible to use multiple uncoupled controllers ? So in that case, the trick wouldn't work.
Wim
Antoniov.
Honored Contributor

Re: Finding controllers

Here there is F$GETDVI function arguments; may be you cand find right information.
http://h71000.www7.hp.com/doc/732FINAL/9996/9996pro_030.html#green_18
I have not your controller, so I can't try for you.

Antoniov
Antonio Maria Vigliotti
Lokesh_2
Esteemed Contributor

Re: Finding controllers

Hi,

can you post here the output of $SHO DEV D ??

Thanks & regards,
Lokesh
What would you do with your life if you knew you could not fail?
Wim Van den Wyngaert
Honored Contributor

Re: Finding controllers

Antoniov : if you find something in the manual please let me know. Btw : did you see the examples to which they are refering ? I didn't.

Ian : it should be in DCL and suitable for all situations. By preference via f$get... and I don't have a sys$devices.dat on my cluster. And who says that all controllers have device names DK ?
Wim
Wim Van den Wyngaert
Honored Contributor

Re: Finding controllers

Lokesh,

I have to manage 150 VMS nodes. I am not talking about 1 cluster or node. So, the show dev d is no help.
Wim
Antoniov.
Honored Contributor

Re: Finding controllers

Hi Van,
I cannot try because I've different configuration. If you see all disk beginning by DK means they are all SCSI HD.
What you see typing follow command?
$ SAY="WRITE SYS$OUTPUT"
$ SAY F$GETDVI("DKA0","HOST_NAME")
$ SAY F$GETDVI("DKA0","HOST_TYPE")

Bye
Antoniov
Antonio Maria Vigliotti
Wim Van den Wyngaert
Honored Contributor

Re: Finding controllers

Antoniov,

On one of the clusters :
AlphaServer GS160 6/1001 3072 Mbytes
SPVMX2/MGRWVW>sh dev dk

Device Device Error Volume Free Trans Mnt
Name Status Count Label Blocks Count Cnt
SPVCS2$DKA0: Online 0
SPVMX2$DKA0: Online 0
WPVMX2$DKA0: Mounted 0 (remote mount) 1
WPVMX2$DKA400: Online 0

The lexicals display type "ALPH" and the nodename as in the prefix of the device name.
Wim
Lokesh_2
Esteemed Contributor

Re: Finding controllers

Hi,

Do all your 150 VMS systems have same controller type...i.e. HSG80, or do they have HSC, HSD, HSJ, HSZ...etc. For , HSC, HSD & HSJ $sho cluster can give the controller names..

Best regards,
Lokesh
What would you do with your life if you knew you could not fail?
Antoniov.
Honored Contributor

Re: Finding controllers

Also if you prefer comand of Jan, you could write code as follow:
$ DEFINE SYS$OUTPUT myInfo.Out
$ SET/HOST/SCSI SHO .
$ SET/HOST/SCSI SHO .
$ DEASS SYS$OUTPUT
$ OPEN/REA SRC myInfo.OUT
$MLOOP:
$ READ SRC MYLINE/END=XITLOOP
$! manage my info
$ GOTO MLOOP
$XITLOOP:
$ CLOSE SRC
$! etc etc

Antoniov
Antonio Maria Vigliotti
Wim Van den Wyngaert
Honored Contributor

Re: Finding controllers

Antoniov : got that code too.

I have all kind of controllers.

I would like something like :

$redo:
$ dev_name=f$device("*","controller",,1)
$ if dev_name .eqs. "" then return
$ set ho /scsi 'dev_name' show fail
$ ...
$ goto redo
Wim
Jan van den Ende
Honored Contributor
Solution

Re: Finding controllers

Wim,

I checked over our routine, and actually it already seems to supply what I understand you are needing.
It HAS the facility to query non-sysdisk containing controllers.
It HAS the ability to query controllers that are on remote nodes (only, you have to supply a password for SYSMAN; proxies don't work).
I posted it at DCL.OPENVMS.ORG
It was not immediately presented, so I don't have a direct URL just yet.

As far as we know, it operates fine on HSZ50 and on HSG80, other HS controllers may or may not work.
Actually, HSZ80 is by experience NOT guaranteed to work:
Initially it worked fine, then the controller software had to be upgraded, and there was NO way we could get any info from it. After the next patch, it was working again.
Don't ask me for version numebers, I don't know, and our SAN administrator is on holiday :-D

Try it, use what you like.

Jan
Don't rust yours pelled jacker to fine doll missed aches.
Jan van den Ende
Honored Contributor

Re: Finding controllers

Got the address now:

http://dcl.openvms.org/stories.php?story=04/01/23/9315863

Enjoy!
Don't rust yours pelled jacker to fine doll missed aches.
Wim Van den Wyngaert
Honored Contributor

Re: Finding controllers

Jan,

That is almost exactly the same code as I have in my 3800 lines long DCL watchdog. I only don't like testing HSG.... So I scan for all messages that are possible. Only, when I e.g. don't find any known battery message, I will give an error message. This way I know something is wrong.

Even my allignments are almost the same (ex cobol guy too ?).
Wim
Ian Miller.
Honored Contributor

Re: Finding controllers

A refinement to all this fine DCL would be to use the FMU utility (where available) in the HSx controller to translate the most recent error code into words.

The storageworks console does this sort of monitoring.
____________________
Purely Personal Opinion
Jan van den Ende
Honored Contributor

Re: Finding controllers

Well Wim,

the alignments are part of the 95% effort by Anton, and "accusing" him of being ex-Cobolist, he maintained that he cannot even spell "Cobbuhh-tis-tat?" and if anyone should try to teach him he will show to be more stubborn in refusing to learn.

And well, 391 lines (including comments) does beat 3800 by some margin. <;^]-

En nog een goed weekend!!

Don't rust yours pelled jacker to fine doll missed aches.
Mike Naime
Honored Contributor

Re: Finding controllers


If you are looking at Fibre channel controllers, and you have the HSZ$SCSI_TERM installed on your system,

SHO DEV/MULTI

This will list out all of the multipath devices.

Note: cross refrence the path that the disk is on to the controllers below. If you set your command consoles to be unique numbers, you should be able to identify the controller by that number.

Mine run from 1001 on up.

IF you just want to look at the Fibre channel controllers (Command console)
SHO DEV GG

This lists the controllers and the primary path when the system booted.
VMS SAN mechanic