Operating System - OpenVMS
1753779 Members
7508 Online
108799 Solutions
New Discussion юеВ

Re: set login/interactive question

 
SOLVED
Go to solution
Kirk Reindl
Frequent Advisor

set login/interactive question

HW--Two node cluster, both nodes Alpha Es40s
SW--Open VMS 7.3-1

Hi,

Currently our two node VMS cluster is configured to allow 64 interactive logins when the system boots. (I'm thinking this is the default)
This number isn't large enough for our user load.
As part of our manual "post reboot" tasks, someone (me) manually sets the the interactive limit to 1400 on each node. "set login/interactive=1400

This seems like something that could be easily fixed/automated.

What would be the best practice/standarized way for OpenVMS to handle this?

I was thinking of adding "set login/inter=1400 to the end of the sys$manager:systartup_vms.com
But I'm thinking most shops don't do this, and I'd like to stay as standardized as possible.

I have to believe there is a setting some where that I can change 64 to 1400.

Thanks for responses,
Kirk Reindl
18 REPLIES 18
Uwe Zessin
Honored Contributor

Re: set login/interactive question

Define the following symbol in SYS$MANAGER:SYSTARTUP_VMS.COM

$ STARTUP$INTERACTIVE_LOGINS == 64


If you do a '$ SET LOGINS/INTERACTIVE=64' you will triger the job controller to allow logins before the system is up completely.

In the past (with lots of locally attched terminals) I have used a 'trick' to allow logins for users with OPER privilege only -
I've put the following two commands early in startup:
$ SET LOGINS/INTERACTIVE=1
$ SET LOGINS/INTERACTIVE=0

That allowed me to login from a locally attached terminal while the operator console (an LA210?) was still occupied by the startup process - I am talking about VAX-11/780 here ;-)

If something during startup went wrong I could login and tried to fix it while the system was still coming up.


You know that you are still limited by the number of user licenses (unless you have an unlimited license ;-), do you?
.
Kirk Reindl
Frequent Advisor

Re: set login/interactive question

Uwe:

I├в m following what you are saying. But forgive me, I├в m new to OpenVMS and I have some follow up questions:

We are okay with the user licenses.

I see what you are saying about defining what I├в d call a process logical in systartup_vms.com
$ STARTUP$INTERACTIVE_LOGINS == 1400

but├в ┬ж├в ┬ж.

What I don├в t understand is, how does VMS then in turn know how to:

$ set login/interactive=startup$interactive_logins

For some reason I├в m thinking the set command has to be triggered somewhere.

Finally,
How does your recommendation circumvent the issue of the job controller from allowing logins before the system is completely up.

T
John Eerenberg
Valued Contributor
Solution

Re: set login/interactive question

During the system boot, the first command procedure to execute is sys$system:startup.com (as defined in sysgen/start).

Eventually, sys$systartup:vms$baseenviron-050_vms.com is executed and sets STARTUP$INTERACTIVE_LOGINS to 64.

sys$manager:systartup_vms.com executes some time after. Here you can override STARTUP$INTERACTIVE_LOGINS with 1400.
In VMS parlance it is a global symbol so make sure to use the two "="'s not just one. Logicals are different and have other uses . . .

Some time after that, sys$startup:vms$lpbegin-050_startup.com executes and it does the
$ set login/interactive
using the global symbol STARTUP$INTERACTIVE_LOGINS.

The technique used to take STARTUP$INTERACTIVE_LOGINS and use it in the Set Login/Interactive is called symbol substitution (the single quote "'" performs this operation).

I've simplified the startup because lots of things are performed before and after each one of these command procedures. NOTE: never modify them (except of course systartup_vms.com).
It is better to STQ then LDQ
Uwe Zessin
Honored Contributor

Re: set login/interactive question

Kirk,
I might have gone a little bit too much into detail, sorry.

I see that John, has already explained what goes on behind the stage with STARTUP$INTERACTIVE_LOGINS.

The job controller is triggered the first time of 'SET LOGINS /INTERACTIVE=' being executed and starts accepting logins. If you do that command yourself in SYSTARTUP_VMS.COM it will happen before the system does it anyway and users could try to get in before the system startup has completed - depending on your users that might not cause any harm - it is just that some components are not yet available.

I can not try this out, but the system might even override your '$ SET LOGINS /INTERACTIVE=1400' from SYSTARTUP_VMS.COM later with 64, when it executes '$ SET LOGINS' on its own.

John,
can you test it? It sounds like you have a GS-class system you can play with ;-)

Be careful, though! Unless VMS has changed since VAX/VMS V4.x you should not set STARTUP$INTERACTIVE_LOGINS to 0. When I wanted to 'be clever' and tried that in 1986, nobody could log in to the system, not even at the console! It was a cluster so I could easily fix it from another node, pheww..
.
Kirk Reindl
Frequent Advisor

Re: set login/interactive question

I have another question:

I searched inside the file sys$startup:vms$lpbegin-050_startup.com for all instances of set login/interactive, this is what I found

$set logins/interactive='startup$interactive_logins

$set logins/interactive=8

Now you are probably wondering why isn't there an end single quote after

$set logins/interactive='startup$interactive_logins

I don't know why, but I thought to myself, good this set login/inter..... is bombing so 64 never gets overriden.

But....... how does anyone explain
$set logins/interactive=8

I'm like 99% sure the last time I booted I ran $set login immediately and login interactive limit was equal to 64.

Any ideas??? thanks again for al your help
Dale A. Marcy
Trusted Contributor

Re: set login/interactive question

Kirk,

>I have another question:

>I searched inside the file sys$startup:vms$lpbegin-050_startup.com for all instances of set login/interactive, this is what I found

>$set logins/interactive='startup$interactive_logins

>$set logins/interactive=8

>Now you are probably wondering why isn't there an end single quote after

This is a "feature" of VMS. The end quote should be there to be correct, but VMS will happily work at the present even if it is missing.

>$set logins/interactive='startup$interactive_logins

>I don't know why, but I thought to myself, good this set login/inter..... is bombing so 64 never gets overriden.

>But....... how does anyone explain
$set logins/interactive=8


You have to study the flow of the command procedure. Only one or the other of the set logins will be executed. The 8 is for minimal boots only. The startup$interactive_logins is for the normal booting of the system.

>I'm like 99% sure the last time I booted I ran $set login immediately and login interactive limit was equal to 64.

>Any ideas??? thanks again for al your help
John Eerenberg
Valued Contributor

Re: set login/interactive question

Kirk

> "Now you are probably wondering why isn't there an end single quote after . . ."
The missing single quote is not a problem.

> "I don't know why, but I thought to myself, good this set login/inter..... is bombing so 64 never gets overriden."
If one does a hard coded
$ Set login/inter=1400
in systartup_vms.com, it simply gets un-done later when vms$lpbegin-050_startup.com executes (it uses the unmodified startup$interactive_logins as defined in vms$baseenviron-050_vms.com). The default action will be to set interactive logins to 64.

> "But....... how does anyone explain
$set logins/interactive=8"
DCL is powerful and can be coded such that things are not obvious. vms$lpbegin-050_startup.com can be called with a p1 parameter of anything. So if p1 is "minimum" then the first goto concantenates the contents of p1 with "_continue" and jumps to "minimum_continue:". I presume this happens when sysgen's startup_p1 is set to "MIN" or when one does a conversational boot and sets startup_p1 to "MIN".

Uwe,
I'll try and validate some things later tonight when I can snag a test system. You've given me some ideas. :-)
It is better to STQ then LDQ
Wim Van den Wyngaert
Honored Contributor

Re: set login/interactive question

Kirk,

If you put the interactive limit on 1400, you should also put MAXPROCESSCNT on a high value such as 1500 (via autogen).

Wim
Wim
Jan van den Ende
Honored Contributor

Re: set login/interactive question

Uwe,

are you sure that with interactive logins = 0 you could NOT login? As far as I remember, even in V3, an account with OPER priv in SYSUAF was permitted login regardless; with the intro of Default & Authorized privs in V4 it HAD to be default for that effect.

And, in a V4 cluster, you could "easily" login to another node and correct things?
IMMSMW, the first few SYSMAN functionalities were only introduced with V5. It WAS possible to trick around and get batchjobs activated on another node, but before the gradual intro of the Clusterwide Queue Manager in the various V5.5 sub-versions, that certainly was not "easily done" !

Wim:
And of course, to have profit from setting MAXPROCESSCNT, so should also set BALSETCNT to that value (or at least MAXPROCESSCNT - 2)

Kirk:
what this means:
roughly speaking MAXPROCESSCNT is used at bootstrap to create 'hooks' for processes in the PAGEFILE and SWAPFILE, creating entries for process control information blocks.
As a relic from past times when internal memory was quite expensive, a similar but separate BALSETCNT specifies the number of "balance slots", being the in-memory process hooks.
If you are real tight in memory, you spare some hooks (a few kB each), at the expense of SWAPPING processes completely out of memory to the swapfile before able to get a process in (or in again from the swapfile), whenever BALSETCNT are memory-resident. Costly in CPU, I/O, and time, so if you do not VERY seriously need a few extra kB of memory, make BALSETCNT = MAXPROCESSCNT.
Well, at modern memory prices, even if there is only a VERY REMOTE chance that you MIGHT ever need more, be generous with both (say, double your expected max)!.
Even if you got a limited number of licenses, if the need should occur, you can enter an extra license, LOAD it, and start using it. On the other hand, MAXPROCESSCNT is a HARD limit, and requires a reboot (and you really should use AUTOGEN to recalculate various related params).

The more you see and use this sort of thing, the more you will learn to appreciate the consistency and elegance of VMS! (never mind the grumbling of the old dogs about the many points that still can be improved, even the best thing is not yet perfect)

so:

get involved, and ENJOY!

hth,

Jan


Don't rust yours pelled jacker to fine doll missed aches.