HPE Community read-only access December 15, 2018
This is a maintenance upgrade. You will be able to read articles and posts, but not post or reply.
Hours:
Dec 15, 4:00 am to 10:00 am UTC
Dec 14, 10:00 pm CST to Dec 15, 4:00 am CST
Dec 14, 8:00 pm PST to Dec 15, 2:00 am PST
Operating System - OpenVMS
cancel
Showing results for 
Search instead for 
Did you mean: 

How to get others nodes' information in cluster

 
SOLVED
Go to solution
olive_wide
Frequent Advisor

How to get others nodes' information in cluster

Two nodes cluster.
When the two nodes all are active,at one node ,how to get another's information?
I want to get tcpip
information ,like "hostname" , "ipaddress",etc.
Best regards
Olive
14 REPLIES
Peter Quodling
Trusted Contributor

Re: How to get others nodes' information in cluster

Explore the SYSMAN utility.

particular set env/node

q
Leave the Money on the Fridge.
olive_wide
Frequent Advisor

Re: How to get others nodes' information in cluster

Peter,
Can you tell me detailedly?
How to do.
olive
Robert Gezelter
Honored Contributor

Re: How to get others nodes' information in cluster

Olive,

The underlying assumption is that you have access to a management-level account on the cluster.

To use SYSMAN in this situation, you would do the following:

$ MCR SYSMAN
SYSMAN>set environment/cluster
SYSMAN>do show network
SYSMAN>exit

SYSMAN will relay to "show network" command to each member of the cluster. There are limitations to this technique, but they do not apply in the case of the SHOW NETWORK command.

- Bob Gezelter, http://www.rlgsc.com
Uwe Zessin
Honored Contributor

Re: How to get others nodes' information in cluster

You can also collect the output, e.g.:

SYSMAN> do show network/output= device:[dir]SHONET_'F$GETSYI("NODENAME")'.LIS

Or you run your own data collection routine:

SYSMAN> do @device:[dir]SHONET.COM
.
comarow
Trusted Contributor

Re: How to get others nodes' information in cluster

You have other options.

Show sys/node=othernode
then you can do any command in sysman
as has been well pointed out

mcr sysman
set env/cluster
do tcpip show version
do tcpip show interface
or whatever.

Then you have the show cluster/cont command
you can issue commands like

add hw_type
and find out what kind of cluster it is.
(use help to see all the commands)



I have to wonder why if you have a two node cluster you can't simply get the information? Is there something strange going on?

Bob
olive_wide
Frequent Advisor

Re: How to get others nodes' information in cluster

What will I do?
Maybe everybody want to know.
Because I find a way to achieve "BACKUP".
For example,two nodes cluster,one is TEST, another is BU.
If all the applying processes in server base on TCPIP service.It seems easy to achieve"BACKUP".
I make a program in startup_vms.com, when the system startup,for example TEST,there is a menu:
This node is TEST, which system you want to startup?
1.TEST
2.BU
then you can select 1 or 2.
If select 1, startup normal.
If select 2, runing:
$ DEFINE/SYSTEM/EXEC UCX$CONFIGURATION -
$ [dir]:UCX$CONFIGURATION.DAT;1
$DEFINE/SYSTEM/EXEC UCX$HOST -
$[dir]:UCX$HOST.DAT;1
$DEFINE/SYSTEM/EXEC UCX$NETWORK -
$[dir]:UCX$NETWORK.DAT;1
$DEFINE/SYSTEM/EXEC UCX$PROXY -
$[dir]:UCX$PROXY.DAT;1
$DEFINE/SYSTEM/EXEC UCX$ROUTE -
$[dir]:UCX$ROUTE;1
$DEFINE/SYSTEM/EXEC UCX$SERVICE -
$[dir]:UCX$SERVICE.DAT;1
This director [dir] is differet from sys$system ,it includes 6 files tcpip*.dat. These 6 files are tcpip config of BU!
after I define these 6 files, and startup.The system will startup as BU! Can you understang what I want to do?

Now, I want to get tcpip information of another node.Because I want to add something in my program.It is a "judgement", I don't know if it is correct word, because my poor english.
After I define the tcpip.dat I can startup BU as TEST, and startup TEST as BU. But when I startup BU as TEST, the TEST will NOT startup as TEST! if you select TEST, it will show error,it is what i want to do.Only to get another node's tcpip information(tcpip must have been startup) and decide local node can startup.

This is my idea, welcome to discuss.
Olive.

Uwe Zessin
Honored Contributor

Re: How to get others nodes' information in cluster

That doesn't work, I am afraid. The TCP/IP databases are usually shared, so the configuration is tied to the SCS nodename.

If the system hardware is the same, then I would just boot the system into the other system root - else, I would create another system root with the required configuration data that you can boot from.
.
olive_wide
Frequent Advisor

Re: How to get others nodes' information in cluster

U,
It does work! :)
I didn't copy the tcpip file from BU server.
In TEST NODE:
I delete TEST's tcpip config, and change the tcpip config to BU,include proxy,route,service,etc. Then, copy this data to a [dir], and then reconfig the tcpip back to TEST.
I have test the program ,it does work well.
I haven't tried to create a new root for another node. Did you try it? Does it work well? Detail step?
Thanks a lot
Olive
olive_wide
Frequent Advisor

Re: How to get others nodes' information in cluster

U,
It does work! :)
I didn't copy the tcpip file from BU server.
In TEST NODE:
I delete TEST's tcpip config, and change the tcpip config to BU,include proxy,route,service,etc. Then, copy this data to a [dir], and then reconfig the tcpip back to TEST.so the database is good.can use in local node.
I have test the program ,it does work well.
I haven't tried to create a new root for another node. Did you try it? Does it work well? Detail step?
Thanks a lot
Olive
Peter Quodling
Trusted Contributor

Re: How to get others nodes' information in cluster

Olive, this has moved from a "how do I get information from another system" to something a bit more complex. I get the impression that you are wanting to get soem form of failover running?

Your reply starting "What will I do?
Maybe everybody want to know.
Because I find a way to achieve "BACKUP".
For example,two nodes cluster,one is TEST, another is BU. " .... is confusing...

Are you tring to set up both to provide Services? A common IP interface? active/passive failover?

Try to explain what you want to achieve, and let us work out the best approach for you...


q
Leave the Money on the Fridge.
Uwe Zessin
Honored Contributor

Re: How to get others nodes' information in cluster

OK, that's not what I have read from your description, but it now makes more sense to me - thanks!

And yes, I have created additional system roots. Worked well.

Steps? I just used CLUSTER_CONFIG to create them, then boot into the root and run NETCONFIG / TCPIP$CONFIG.

A single system can 'have' more than one root on a system disk ;-)
.
Richard W Hunt
Valued Contributor
Solution

Re: How to get others nodes' information in cluster

Olive

To get other node information, you might consider something like

SHOW CLUSTER /OUT=convenient-file-name

Then read the file you just created, one line at a time. Loop through the lines. Using the lexical function F$LOCATE, find lines that contain a vertical bar character. Skip all other lines. Exit the read loop when you reach . (READ/END=)

If the line you just read contains strings SYSTEMS and MEMBERS, discard it. If the line contains NODE, SOFTWARE and STATUS discard it.

If you have seen the SYSTEMS & MEMBERS line and the NODE & SOFTWARE & STATUS line, all other lines containing vertical bars can be analyzed using the F$ELEMENT function, using the vertical bar as the separator and using element 1 to get node names. You will have to also trim the result to remove spaces.

$ NEXTNODE = F$ELEMENT( 1, "|", input-line )

$ NEXTNODE = F$EDIT( NEXTNODE, "COLLAPSE,UPCASE" )

From programmed SYSTEM SERVICE CALL code, you could do this with a context-controlled scan using one of the $GET functions, like $GETSYI - but it involves item lists and not everyone likes working with those nasty little things.

Now, as to the IP address, again you need to consider capturing some data through DCL. The command

$ TCPIP SHOW HOST host-name

will produce several lines of output. The last line will be in format

xxx.xxx.xxx.xxx fully-qualified-domain-name

So if you did a DEFINE/USER SYS$OUTPUT file before the TCPIP command, you could capture THAT output and read the file to find the line that contains your host-name. The start of that line will be the IP address for the given host-name.

The "etc." is trickier. Not everything will be so easily visible from DCL. The better way, but more tedious to write, is to use some system service calls that involve the item lists. That's why I suggested the DCL - as a shortcut until you decide how you want to go with this.
Sr. Systems Janitor
Lawrence Czlapinski
Trusted Contributor

Re: How to get others nodes' information in cluster

Olive: 1. CAUTION: If you boot both systems from the same system disk, you could corrupt your system disk if both boot to the same SYS root.
2. Most systems run DECnet which is started before TCPIP. So by changing the TCPIP HOST name, you could wind up with one name for DECNET and another for TCPIP which would be confusing at the least.
Lawrence
comarow
Trusted Contributor

Re: How to get others nodes' information in cluster

It sounds like you want the second machine to do the work of the first machine if it goes out.

You have options.

You can cluster the systems so the software runs on both systems and the users would either log into the other system and everything would be the same to them.

You can set up a cluster alias so that the user logs into the cluster and they don't even know which they are going into.

Or you can boot the second node into the root of the first. Then it will "Become" the other system. That requires the devices, memory and boards be identical. You would need two identical machines or they could have differnt device names, and if it has less memory, not even boot!

Bob