The Question is:
My application runs in a VMS Cluster consisting of 2 nodes. The app has its
own "failover" processes which use a middleware product for the interprocess
communicaion between the 2 Failover Managers (one on each node). The
middleware product uses the net
work. When a network problem occurs, both Failover Managers assume that their
partner node is down, when in fact the node is ok, it's the network that's down.
Is there a means of interprocess communication in a VMS cluster that does not
use the network?
The Answer is :
If you have a two-node OpenVMS Cluster, you must have a quorum disk,
or you must have a primary-secondary configuration, or you must add
a third node. Please see the OpenVMS FAQ for details of the VOTES
and EXPECTED_VOTES system parameter settings.
You do not indicate the particular cluster configuration -- there
are configurations that use the same Ethernet or FDDI network that
you seem to be having problems with, and there are configurations
Interestingly, that your two failover managers continued to operate
indicates this was a network protocol or routing failure, or that
there is an additional interconnect between these two cluster nodes.
(Had the cluster been partitioned, one or both of the nodes would
have paused pending quorum.)
That said, you will want to examine the use and operation of the
distributed lock manager (DLM), as the DLM is the component that
is specifically targeted at this class of problem. Using the DLM,
an application can be designed to permit exactly one and only one
process to hold a particular resource name, and the holder of this
lock resource will be assumed to be the primary. For details on
uses of the DLM please see the OpenVMS Programming Concepts Manual.
Please note: the DLM is the mechanism that supports synchronization
of the file system. The DLM is designed to be capable of synchronizing
completely arbitrary activities among any cooperating applications.
OpenVMS VV7.2 and later IntraCluster Communications Services (ICC),
which allows a user process directly communicate via the Systems
Communications Services (SCS) protocols used within an OpenVMS
With OpenVMS V5.0 and later, the peer node status can be determined
using $GETSYI and the state of the peer process(es) can be determine
using $GETJPI. With more recent OpenVMS versions (V7.*), you can
request notifications of arriving and departing cluster members using
the cluster event services ($SETCLUEVT, etc).