Operating System - OpenVMS
1752727 Members
5942 Online
108789 Solutions
New Discussion юеВ

Re: How to get others nodes' information in cluster

 
SOLVED
Go to solution
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