ibm-information-center/dist/eclipse/plugins/i5OS.ic.apis_5.4.0.1/clust1a3.htm

171 lines
7.6 KiB
HTML
Raw Normal View History

2024-04-02 14:02:31 +00:00
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="Copyright" content="Copyright (c) 2006 by IBM Corporation">
<title>Cluster Resource Services Job Structure</title>
<!-- Begin Header Records ========================================== -->
<!-- All rights reserved. Licensed Materials Property of IBM -->
<!-- US Government Users Restricted Rights -->
<!-- Use, duplication or disclosure restricted by -->
<!-- GSA ADP Schedule Contract with IBM Corp. -->
<!-- CLUST1A SCRIPT A converted by B2H R4.1 (346) (CMS) by NLJONES at -->
<!-- RCHVMX on 24 Feb 1999 at 15:32:00 -->
<!-- End Header Records -->
<!-- -->
<!-- -->
<!-- -->
<!-- Begin Developer Note ========================================== -->
<!-- NOTE: If you are adding, changing, or removing ANY requirements -->
<!-- for this API chance are good that the GUI code need to change -->
<!-- also. The Cluster GUI code is built on top of this API and it -->
<!-- does a certain amount of explicit and implicit validation -->
<!-- checking of user data prior to the API call being made. Please -->
<!-- have the Cluster GUI developer check the -->
<!--/as400/v5r4m0.guix/cur/cmvc/java.pgm/ugcl.guix/com/ibm/as400/opnav/ugcl/ClGuiActionsManager.java/ClGuiActionsManager.java -->
<!-- part to determine if any Cluster GUI code changes are needed. -->
<!-- End Developer Note -->
<link rel="stylesheet" type="text/css" href="../rzahg/ic.css">
</head>
<body>
<!--Java sync-link -->
<script type="text/javascript" language="Javascript" src="../rzahg/synch.js">
</script>
<a name="Top_Of_Page"></a>
<h2>Cluster Resource Services Job Structure</h2>
<p>Cluster Resource Services consists of a set of multi-threaded jobs. When
clustering is active on an iSeries,<SUP>(TM)</SUP> the jobs will be run in the QSYSWRK
subsystem. The jobs run using the
<img src="delta.gif" alt="Start of change">
QDFTSVR<img src="deltaend.gif" alt="End of change"> job description. All
Cluster Resource Services jobs
automatically provide a joblog to aid in problem determination. For these jobs,
the LOG parameter of the job description is overridden. An exit program job
<img src="delta.gif" alt="Start of change">may or may not
<img src="deltaend.gif" alt="End of change"> produce a joblog. To provide a
joblog, change the LOG parameter of the
job description to a level that will produce a joblog.</p>
<ol type="1">
<li>Cluster Control consists of one job. The job is named QCSTCTL and runs
under the QSYS user profile.</li>
<li>Cluster Resource Group Manager consists of one job. The job is named
QCSTCRGM and runs under the QSYS user profile.</li>
<li>Cluster Resource Groups consists of one job per cluster resource group
object. The job name is the same as the cluster resource group name and runs
under the QSYS user profile.
</li>
</ol>
<p>When using clustering, the multithreaded job action (QMLTTHDACN) system
value must be set to either 1 or 2. See <a href=
"../rbam6/rbam6clmain.htm">Display System Value (DSPSYSVAL) command</a> for
more information.</p>
<p>Most cluster resource group APIs result in a separate job being submitted
using the user profile specified when the cluster resource group was created.
The exit program defined in the cluster resource group is executed in the
submitted job.
<img src="delta.gif" alt="Start of change">
The job is submitted to the job queue defined in the job description
specified in the user profile for the cluster resource group.
<img src="deltaend.gif" alt="End of change">
By default, the jobs are submitted to the QBATCH JOBQ. In
general, this job queue is used for production batch jobs and will delay or
prevent completion of the exit programs. In order to allow the APIs to run
effectively, create a separate user profile, job description, and job queue for
use by cluster resource groups. Specify the new user profile for all cluster
resource groups created. The same program is executed on all nodes within the
recovery domain defined for the cluster resource group using the distributed
activity group support provided by Cluster Resource Services.</p>
<p>One or more batch jobs are
also submitted for a device cluster resource group if devices must be varied
off or on. Varying a device off or on can occur as a result of a failover event
or because the Initiate Switchover API was called. In the case of the <a href=
"clrginitso.htm">Initiate Switchover (QcstInitiateSwitchOver) API</a>, the
batch job runs under the same user profile as the one that called the API.
<img src="delta.gif" alt="Start of change">
During a failover event this job runs under the QSYS user profile. To determine the
subsystem this job runs under look at the job description associated with the QSYS
user profile.
<img src="deltaend.gif" alt="End of change">
</p>
<p><img src="delta.gif" alt="Start of change">
To reactivate a cluster resource group job with a cluster version of 4 or less
required clustering to be ended and restarted on the node. Cluster version 5
allows a cluster user to activate the cluster resource group job through the Change
Cluster Recovery (CHGCLURCY) command with ACTION(*STRCRGJOB) provided clustering is still
active on the node. A CRG job can now be reactivated without ending and starting the cluster on the node.
<img src="deltaend.gif" alt="End of change">
</p>
<br>
<h3><a name="HDRASYMOD"></a>Behavior of Cluster Resource Services APIs</h3>
<p>Most Cluster Resource Services APIs have an asynchronous behavior. In
general, whenever a user program calls a Cluster Resource Services API, the API
will:</p>
<ul compact>
<li>Check the status of the Cluster Resource Services that will be used to
process the API request. If Cluster Resource Services is not active, the API
will fail. See the specific API to determine if this condition applies.</li>
<li>Validate the API parameters and check authorities.</li>
<li>Validate that a restricted API is not being called from a cluster resource
group exit program (see the description of each API to see if this
applies).</li>
<li>Assign a handle to the request. The handle is defined by the <b>Request
Handle</b> parameter on the Cluster Resource Services APIs.</li>
<li>Send the request handle and request to the Cluster Resource Services for
processing.</li>
<li>Return to the API caller with the request handle.</li>
<li>Process the request on the caller's behalf. When the processing is
complete, one or more messages are sent to the user queue specified by the
<strong>Results Information</strong> parameter. Messages indicate whether the processing
was successful or unsuccessful. Each message that Cluster Resource Services
sends has a specific format. See <a href="clust1a4.htm">Cluster APIs Use of
User Queues</a> for more information on this format. Part of the message key
will be the Request Handle which is returned to the API user.</li>
<li>Run the API on the originating node, one or more remote nodes, or
both.</li>
<li>Respond to the API request by returning messages to the requestor's user
queue on the originating node.</li>
</ul>
<p>If the node originating a request fails, the request will not be handled on
any nodes in the cluster.</p>
<br>
<hr>
<center>
<table cellspacing="2" cellpadding="2">
<tr>
<td align="CENTER" valign="middle"><a href="#Top_Of_Page">Top</a> | <a href=
"clust1.htm">Cluster APIs</a> | <a href="aplist.htm">APIs by category</a></td>
</tr>
</table>
</center>
</body>
</html>