Operating System - OpenVMS
1754146 Members
3463 Online
108811 Solutions
New Discussion юеВ

Re: Creating clusterwide logical name tables

 
SOLVED
Go to solution
Jim Geier_1
Regular Advisor

Creating clusterwide logical name tables

How does one create a clusterwide logical name table in OpenVMS Alpha 7.3-2 or 8.2?

Looking at the output from SHOW LOGICAL /FULL /TABLE=LNM$SYSTEM_DIRECTORY, I see that there is a characteristic "clusterwide" associated with entries in that table that are clusterwide logical name tables, e.g.

LNM$SYSCLUSTER_TABLE [kernel,no_alias,table,clusterwide]

I do not see a means of associating that characteristic using the CREATE/NAME_TABLE DCL command or even in the documentation for the $CRELNT system service. What is the secret to creating a clusterwide logical name table?
10 REPLIES 10
Wim Van den Wyngaert
Honored Contributor

Re: Creating clusterwide logical name tables

I'm on 7.3 but I guess you need to specify :
create/name=xxx/parent=LNM$SYSCLUSTER_TABLE
to create one.
And add it to lnm$file_dev too of course.

Wim
Wim
Ian Miller.
Honored Contributor

Re: Creating clusterwide logical name tables

Try
$ CREATE/NAME_TABLE/PARENT=LNM$SYSCLUSTER_TABLE
____________________
Purely Personal Opinion
Jim Geier_1
Regular Advisor

Re: Creating clusterwide logical name tables

I thought of using lnm$syscluster_table as the parent, but the documentation explicity says that shared tables must have lnm$system_directory as their parent. And, all of the clusterwide logical name tables do appear to follow that rule. For example, the following are all listed in lnm$system_directory, and none are listed in lnm$syscluster_table:

CLU$ICC_ORBS_HCPA [exec,table,clusterwide]
CLU$ICC_ORBS_HCPB [exec,table,clusterwide]
CLU$ICC_ORBS_HCPC [exec,table,clusterwide]
CLU$ICC_ORBS_HCPQ [exec,table,clusterwide]
CLU$ICC_ORBS_ICC$ [exec,table,clusterwide]
HBMM$DEVICE_POLICY_TABLE [kernel,no_alias,table,clusterwide]
HBMM$NAMED_POLICY_TABLE [kernel,no_alias,table,clusterwide]
ICC$REGISTRY_TABLE [exec,table,clusterwide]
LNM$CLUSTER_INTRUSION_TABLE [kernel,no_alias,table,clusterwide]
LNM$CLUSTER_TABLE [kernel,no_alias,table,clusterwide]
LNM$DEV_WWID_TABLE [exec,no_alias,table,clusterwide]
LNM$SYSCLUSTER_TABLE [kernel,no_alias,table,clusterwide]

I don't think that lnm$syscluster_table is a logical name table directory, like lnm$system_directory and lnm$process_directory are (I'm sure I could be wrong, though).
Jim Geier_1
Regular Advisor

Re: Creating clusterwide logical name tables

I was wrong, and this behavior is quite non-intuitive. Creating a logical name table with /parent=lnm$syscluster_table makes the logical name table cluster-wide, AND places it in the lnm$system_directory. The "clusterwide" attribute is not set but the table behaves much like a cluster-wide logical name table:

$ create/name_table/nolog/prot=(s:rwed,g:r,w:r)/exec -
/parent=lnm$syscluster_table jimgeier_cluster_table
$
$! Even though the parent was set as lnm$syscluster_table
$! the logical name is not in lnm$syscluster_table
$
$ show logical/full/table=lnm$syscluster_table jimgeier_cluster_table
%SHOW-S-NOTRAN, no translation for logical name JIMGEIER_CLUSTER_TABLE
$
$! But it IS in lnm$system_directory
$
$ show logical/full/table=lnm$system_directory jimgeier_cluster_table
"JIMGEIER_CLUSTER_TABLE" [exec,table] = "" [terminal] (LNM$SYSTEM_DIRECTORY)
$
$! The logical name in the system directory does not
$! have the "clusterwide" attribute, but it is accessible
$! cluster wide (two systems in this cluster)
$
$ define/table=jimgeier_cluster_table jimgeier 112358
$ sysman do show logical/table=jimgeier_cluster_table
%SYSMAN-I-ENV, current command environment:
Clusterwide on local cluster
Username JGEIER will be used on nonlocal nodes

%SYSMAN-I-TIMEVAL, timeout value is 0 00:00:30.00
%SYSMAN-I-OUTPUT, command execution on node HCPU
(JIMGEIER_CLUSTER_TABLE)
"JIMGEIER" = "112358"
%SYSMAN-I-OUTPUT, command execution on node HCPT
(JIMGEIER_CLUSTER_TABLE)
"JIMGEIER" = "112358"

So there are still some questions here ... how does the "clusterwide" attribute get set, and is this REALLY the proper way to create a cluster-wide logical name table. What works is (1) non-intuitive, (2) not documented where I could find it, and (3) leaves some questions unanswered, like how do these other tables get created with the "clusterwide" attribute.
Robert_Boyd
Respected Contributor
Solution

Re: Creating clusterwide logical name tables

Directly from the OpenVMS Cluster Systems documentation:


LNM$CLUSTER_TABLE: The parent table for all clusterwide logical name tables, including LNM$SYSCLUSTER_TABLE. When you create a new table using LNM$CLUSTER_TABLE as the parent table, the new table will be available clusterwide.


Robert
Master you were right about 1 thing -- the negotiations were SHORT!
Robert_Boyd
Respected Contributor

Re: Creating clusterwide logical name tables

I forgot to add -- the documentation I quoted is in 5.4.1 Default Clusterwide Logical Name Tables of the OpenVMS Cluster Systems manual for V8.2
Master you were right about 1 thing -- the negotiations were SHORT!
Jim Geier_1
Regular Advisor

Re: Creating clusterwide logical name tables

Good find on the documentation - that was not my first choice to look.

I changed my example to use lnm$cluster_table instead of lnm$syscluster_table as the parent. Nothing really changed, the logical name is entered into the lnm$system_directory, the "clusterwide" attribute is not set, but the table is available cluster-wide. How does that attribute get set, and how important is it?
Robert Brooks_1
Honored Contributor

Re: Creating clusterwide logical name tables

For V8.2, there is the $ DEFINE /CLUSTER_SYSTEM

DEFINE

/CLUSTER_SYSTEM

You must be signed in to the SYSTEM account or have SYSNAM
(system logical name) or SYSPRV (system) privilege to use this
qualifier.

Defines a clusterwide logical name in the LNM$SYSCLUSTER table.
Robert_Boyd
Respected Contributor

Re: Creating clusterwide logical name tables

It appears that only logical names created in a clusterwide logical name table get the "CLUSTERWIDE" bit flagged, not the table itself. To me this is a design flaw. The only way I can find to verify that a particular table is in fact clusterwide is to use the command

$ SHOW LOGICAL/DESCENDANT/TABLE=LNM$CLUSTER_TABLE

Also, how does one get at the name of the parent table of a logical name table?

The lexical F$TRNLNM doesn't appear to have any item code for doing this. The item TABLE_NAME returns LNM$SYSTEM_DIRECTORY. There doesn't appear to be a PARENT_TABLE_NAME item code. I suppose there might ought to be a separate system service to match $CRELNT, such as $SHOW_LNT. It seems like it would be easier to add the PARENT_TABLE_NAME item code to $TRNLNM.

Robert

Master you were right about 1 thing -- the negotiations were SHORT!