120 • Configuring and Running SSH2 HP NonStop SSH Reference Manual
2. If neither define =SSH2^PROCESS^NAME nor environment parameter SSH2_PROCESS_NAME exists, the
client evaluates an environment variable named SSH2PREFIX to determine the process name prefix of the
SSH2 instances. The default is "$SSH".
3. If an open action fails, the client will look for an instance of an SSH2 process with the next higher processor
number, up to 15. After processor number 15 is searched, "00" will be tried. For example, if the SSH2PREFIX
is set to $ABC and there are two SSH2 processes running, one in cpu 4 with port 22, subnet $ztc0, and name
$ABC04, and one in cpu 5 with port 22, subnet $ztc1, and name $ABC05, an invocation of client SSH with
no -S and -p params connecting to a remote Unix box will find one of the two SSH2 processes, depending in
which cpu the client SSH was started: $ABC04 if SSH was started in a cpu other than 5, and $ABC05 if it was
started in cpu 5.
4. If all process names fail, the client will terminate with an error message.
The process names of the SSH2 instances serving the clients must be correctly configured to facilitate this heuristic
method. For example, you could decide to start an SSH2 instance in every CPU of your system, naming the instances
according to the number of the CPU they are running in:
RUN SSH2/NAME $SSH00, CPU 0, …/ …
RUN SSH2/NAME $SSH01, CPU 1, …/ …
…
After you have started multiple SSH2 instances in the manner described above, the distribution of the client processes
over CPUs will also ensure that the sessions are distributed across the available SSH2 instances. This distribution of
client processes can either be achieved manually, or by using any standard load-distributor tool available on your system.
Load-Balancing Inbound SSH Sessions
For incoming sessions, SSH2 can facilitate the round-robin filtering feature of TCPIPv6. In addition, parallel round-robin
filtering allows you to start multiple SSH2 listening processes in different processors that share the same port.
To enable round-robin filtering with SSH2, you have to configure the PTCPIPFILTERKEY parameter for every SSH2
instance listening on the same port as follows:
RUN SSH2/NAME $SSH00, CPU 0, .../ ALL; PORT 22, PTCPIPFILTERKEY mykey
RUN SSH2/NAME $SSH01, CPU 1, .../ ALL; PORT 22, PTCPIPFILTERKEY mykey
After you have started multiple SSH2 processes in the manner described above, inbound SSH sessions will then be
distributed across the SSH2 instances in a round-robin manner.
Fault Tolerance
SSH2 can be configured to ensure constant availability of NonStop-based SSH applications across the network. Running
on the Guardian platform, SSH2 takes advantage of the fundamental availability characteristics of NonStop.
SSH2 services can be configured as generic processes, enabling automatic recovery from failures, such as CPU outages.
SSH2 can also be started as a NonStop process pair. Both mechanisms will not prevent sessions to fail after the primary
CPU of the SSH2 process goes down. However, SSH2 will restart operation in a backup CPU, ensuring that clients can
reconnect immediately.
Configuring SSH2 as a NonStop Process Pair
SSH2 can easily be started as a NonStop process pair by specifying the BACKUPCPU parameter as follows:
RUN SSH2/ NAME $SSH00, CPU 0, .../ ALL; BACKUPCPU ANY; ...
In case of a failure of the primary CPU, the backup process of SSH2 will take over and restart the operation.