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

655 lines
19 KiB
HTML
Raw Normal View History

2024-04-02 14:02:31 +00:00
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2 Final//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 Version</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 -->
<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 Version</h2>
<h3>Terminology for Cluster Version</h3>
<p><strong>Cluster version.</strong> The cluster version identifies the
communication level of the nodes in the cluster, the ability of a node to join
the cluster and the ability of the cluster to support new function. It is
composed of two parts, the <strong>version</strong> and the
<strong>modification level</strong>. There are two representations of the
cluster version, Current cluster version and Potential node version.</p>
<p><strong>Current cluster version.</strong> The version at which the nodes in
the cluster are actively communicating with each other. This value in
conjunction with the Potential node version determines which nodes can join in
the cluster. This value also determines the cluster's ability to use new
functions supported by the node's potential node version. It is set when the
cluster is created and can be changed by the <a href="clcntchgcv.htm">Adjust
Cluster Version (QcstAdjustClusterVersion) API</a>.</p>
<p><strong>Modification level.</strong> The modification level further
identifies the version at which the nodes in the cluster communicate. It is
updated when code changes that impact the communication between the cluster
nodes are applied.</p>
<p><strong>Potential node version.</strong> The version at which the node is
capable of communicating with the other nodes in the cluster. This is the value
associated with the cluster code installed on the node. It will be used to
determine if the node can join a cluster. If communications have not yet been
established with the node (status of New), then the potential node version will
be reported as 0.</p>
<br>
<h3>Version Restrictions</h3>
<p>A cluster can be composed of cluster nodes that are at different cluster
versions. There are, however, restrictions that are enforced:</p>
<ol>
<li><strong>New cluster version function is not available until all cluster
nodes are at the new cluster version.</strong> The current cluster version must
be equal to the new functions version. This implies the potential node version
of all the nodes must be at the same version. For example, assume new function
is provided in cluster version 2. The new function of cluster version 2 cannot
be used if the current cluster version equals 1. The current cluster version
cannot be adjusted to the new level until all cluster nodes are upgraded to
version 2.<br>
<br>
</li>
<li><strong>If N is the current cluster version, only nodes with potential
node version of N and N+1 can join the
cluster.</strong> N is defined when the cluster is created. This will either be
the potential node version of the node that originated the create cluster, or
the potential node version previous to the node that originated the create
cluster request. For example if it is desired to have cluster nodes with a
previous potential node version join the cluster, one of the following must be
done:<br>
<ul>
<li>Create the cluster on the node with the previous potential node version and
add nodes with a higher potential node version to the cluster. The potential
node version of the node being added must only be one version higher.</li>
<li>Create the cluster on the node with the higher potential node version
specifying a target cluster version of -1. Then add the nodes with a lower
potential node version to the cluster. The nodes being added must only be one
version difference.</li>
</ul>
<br>
</li>
<li><strong>A cluster will run protocols at the lowest potential node version
(N) only.</strong> This is defined when the cluster is first created. N can
either be set to the potential node version running on the node that originated
the create request or one potential node version previous to the originator's
potential node version.</li>
</ol>
<p><img src="delta.gif" alt="Start of change">When adjusting the cluster version,
the version is adjusted to be one level greater than the current cluster version.
All nodes must have the same potential cluster version before the cluster version
can be adjusted.
<img src="deltaend.gif" alt="End of change"></p>
<br>
<h3>Relationship of cluster version to i5/OS VRMs</h3>
<table border>
<tr>
<th align="center">Cluster Version</th>
<th align="center">i5/OS VRM</th>
</tr>
<tr>
<td align="center"><img src="delta.gif" alt="Start of change"> 5</td>
<td align="center">V5R4M0<img src="deltaend.gif" alt="End of change"></td>
</tr>
<tr>
<td align="center">4</td>
<td align="center">V5R3M0</td>
</tr>
<tr>
<td align="center">3</td>
<td align="center">V5R2M0</td>
</tr>
<tr>
<td align="center">2</td>
<td align="center">V5R1M0</td>
</tr>
</table>
<br>
<br>
<h3>How to view the cluster versions</h3>
<p>The current cluster version and the potential node version are retrieveable
through the List Cluster Information and the Retrieve Cluster Information
APIs.</p>
<br>
<h3>Summary of API changes by cluster version</h3>
<p>This documents the actual changes to the parameters on the APIs. The intent
is to show which changes are allowed for the value of the current cluster
version (CCV). The API changes for CCV 3 are only allowed on a V5R2M0 operating
system or greater.</p>
<br>
<br>
<h4><img src="delta.gif" alt="Start of change">API changes allowed for CCV 5 (implies all of the below plus the following):</h4>
<table border>
<tr>
<th align="left">API name</th>
<th align="left">Brief Description</th>
</tr>
<tr>
<th align="left" colspan="2" valign="bottom">CRG APIs</th>
</tr>
<tr>
<td align="left" valign="top" width="35%"><a href="clust3a1TOC.htm">All Cluster Resource Group APIs</a></td>
<td align="left" valign="top" width="65%">
<ul>
<li>Support new Peer cluster resource group.
</ul>
</td>
</tr>
<tr>
<td align="left" valign="top"><a href="clrgcrtcrg.htm">Create Cluster Resource Group</a></td>
<td align="left" valign="top">
<ul>
<li>Update RGDC0200 format to add allow active takeover IP address.
</ul>
</td>
</tr>
<tr>
<td align="left" valign="top"><a href="clrglstcrgi.htm">List Cluster Resource Group Information</a></td>
<td align="left" valign="top">
<ul>
<li>Update LRGI0200 format to return allow active takeover IP address.
</ul>
</td>
</tr>
<tr>
<td align="left" valign="top"><a href="clrgexit.htm">Cluster Resource Group Exit Program</a></td>
<td align="left" valign="top">
<ul>
<li>Update EXTP0100 format to include allow active takeover IP address.<img src="deltaend.gif" alt="End of change">
</ul>
</td>
</tr>
</table>
<br>
<br>
<h4>API changes allowed for CCV 4 (implies all of the below plus the following):</h4>
<table border>
<tr>
<th align="left">API name</th>
<th align="left">Brief Description</th>
</tr>
<tr>
<th align="left" colspan="2" valign="bottom">CRG APIs</th>
</tr>
<tr>
<td align="left" valign="top"><a href="clrgchgcrg.htm">Change Cluster Resource Group</a></td>
<td align="left" valign="top">
<ul>
<li>Update RGDC0300 format to allow changes for site name and data port IP addresses when changing current recovery domain.
<li>Allow change to the new EXTP0200 format for cluster resource group exit program.
<li>Support a new value (-2 = no change) for the node role field.
</ul>
</td>
</tr>
<tr>
<td align="left" valign="top"><a href="clrgcrtcrg.htm">Create Cluster Resource Group</a></td>
<td align="left" valign="top">
<ul>
<li>Update RGDC0300 format to add site name and data port IP addresses to the recovery domain array.
<li>Add a new EXTP0200 format for cluster resource group exit program.
</ul>
</td>
</tr>
<tr>
<td align="left" valign="top"><a href="clrglstcrgi.htm">List Cluster Resource Group Information</a></td>
<td align="left" valign="top">
<ul>
<li>Add a new LRGI0300 format to return site name and data port IP addresses for the recovery domain array.
</ul>
</td>
</tr>
<tr>
<td align="left" valign="top"><a href="clrgexit.htm">Cluster Resource Group Exit Program</a></td>
<td align="left" valign="top">
<ul>
<li>Support a new EXTP0200 format to include site name and data port IP addresses for the recovery domain array.
</ul>
</td>
</tr>
</table>
<br><br>
<h4>API changes allowed for CCV 3 (implies all of the below plus the following):</h4>
<table border>
<tr>
<th align="left" valign="top">API name</th>
<th align="left" valign="top">Brief Description</th>
</tr>
<tr>
<th align="left" colspan="2" valign="bottom"><strong>CCTL APIs</strong></th>
</tr>
<tr>
<td align="left" valign="top" width="35%">All APIS that support the Request
Information Queue (RIQ) parameter</td>
<td align="left" valign="top" width="65%">The RIQ is not allowed to be in an
independent auxiliary storage pool.</td>
</tr>
<tr>
<td align="left" valign="top" width="35%"><a href="clcntstcn.htm">Start Cluster
Node</a></td>
<td align="left" valign="top" width="65%">If any node that had been previously
but not currently ACTIVE starts itself, it will be able to rejoin the current
active cluster if it can find other active node in the cluster, otherwise it
will become a singleton cluster.</td>
</tr>
<tr>
<td align="left" colspan="2" valign="bottom"><strong>CRG APIs</strong></td>
</tr>
<tr>
<td align="left" valign="top">Following objects:
<ul compact>
<li>Request Information Queue (RIQ)</li>
<li>Cluster Resource Group Exit Program</li>
<li>Distribute Information Queue</li>
</ul>
</td>
<td align="left" valign="top">The identified objects are not allowed to be in
an independent auxiliary storage pool.</td>
</tr>
<tr>
<td align="left" valign="top"><a href="clrgadddevent.htm">Add Cluster Resource
Group Device Entry</a></td>
<td align="left" valign="top">
<ul>
<li>Primary and secondary auxiliary storage pools can be specified in a
resilient device cluster resource group.</li>
<li>A new value is added to the configuration object online field.</li>
<li>If the auxiliary storage pool has been created, the configuration object
online value is validated.</li>
<li>If a server takeover IP address is specified, it must exist on all nodes in
the recovery domain if the cluster resource group is active.</li>
<li>If a data base name is specified in the configuration object, it must be
the same on all nodes in the recovery domain.</li>
</ul>
</td>
</tr>
<tr>
<td align="left" valign="top"><a href="clrgaddnrd.htm">Add Node To Recovery
Domain</a></td>
<td align="left" valign="top">
<ul>
<li>If the node being added is the new primary node, all auxiliary storage
group members must be specified as device entries in a resilient device cluster
resource group.</li>
<li>If a server takeover IP address is specified, it must exist on all nodes in
the recovery domain if the cluster resource group is active.</li>
<li>If a data base name is specified in the configuration object, it must be
the same on all nodes in the recovery domain.</li>
</ul>
</td>
</tr>
<tr>
<td align="left" valign="top"><a href="clrgchgcrg.htm">Change Cluster Resource
Group</a></td>
<td align="left" valign="top">
<ul>
<li>If the primary node is being changed in the current recovery domain, all
auxiliary storage group members must be specified as device entries in a
resilient device cluster resource group.</li>
<li>New RGDC0110 format in support of failover message queue.</li>
</ul>
</td>
</tr>
<tr>
<td align="left" valign="top"><a href="clrgchgdevent.htm">Change Cluster
Resource Group Device Entry</a></td>
<td align="left" valign="top">
<ul>
<li>A new value is added to the configuration object online field.</li>
<li>If the auxiliary storage pool has been created, the configuration object
online value is validated.</li>
<li>If a server takeover IP address is specified, it must exist on all nodes in
the recovery domain if the cluster resource group is active.</li>
</ul>
</td>
</tr>
<tr>
<td align="left" valign="top"><a href="clrgcrtcrg.htm">Create Cluster Resource
Group</a></td>
<td align="left" valign="top">
<ul>
<li>Primary and secondary auxiliary storage pools can be specified in a
resilient device cluster resource group.</li>
<li>A new value is added to the configuration object online field.</li>
<li>If the auxiliary storage pool has been created, the configuration object
online value is validated.</li>
<li>If a data base name is specified in a configuration object, it must be the
same on all nodes in the recovery domain.</li>
<li>The server takeover IP address must be unique. It can only be associated
with a Primary auxiliary storage pool.</li>
</ul>
</td>
</tr>
<tr>
<td align="left" valign="top"><a href="clrginitso.htm">Initiate
Switchover</a></td>
<td align="left" valign="top">
<ul>
<li>All auxiliary storage group members must be specified as device entries in
a resilient device cluster resource group.</li>
</ul>
</td>
</tr>
<tr>
<td align="left" valign="top"><a href="clrglstcrg.htm">List Cluster Resource
Group Information</a></td>
<td align="left" valign="top">
<ul>
<li>Information about auxiliary storage pool device types is returned.</li>
<li>Information about failover message queue is returned.</li>
<li>Information about server takeover IP address is returned.</li>
<li>The user space cannot be in an independent auxiliary storage pool.</li>
</ul>
</td>
</tr>
<tr>
<td align="left" valign="top"><a href="clrgrmvdevent.htm">Remove Cluster
Resource Group Device Entry</a></td>
<td align="left" valign="top">If the cluster resource group is active, all
members of an auxiliary storage pool group must be removed at the same
time.</td>
</tr>
<tr>
<td align="left" valign="top"><a href="clrgrmvnrd.htm">Remove Node From
Recovery Domain</a></td>
<td align="left" valign="top">
<ul>
<li>If the node being removed is the primary node, all auxiliary storage group
members must be specified as device entries in a resilient device cluster
resource group.</li>
</ul>
</td>
</tr>
<tr>
<td align="left" valign="top"><a href="clrgstcrg.htm">Start Cluster Resource
Group</a></td>
<td align="left" valign="top">
<ul>
<li>All auxiliary storage group members must be specified as device entries in
a resilient device cluster resource group.</li>
<li>The value of the configuration object online field must be correct for the
type of auxiliary storage pool.</li>
<li>If a data base name has been specified for a configuration object, it must
be the same on all active nodes in the recovery domain.</li>
<li>If a server takeover IP address is specified, it must exist on all nodes in
the recovery domain.</li>
</ul>
</td>
</tr>
<tr>
<td align="left" valign="top"><a href="clrgexit.htm">Cluster Resource Group
Exit Program</a></td>
<td align="left" valign="top">
<ul compact>
<li>Format changes</li>
<li>New action code - Verification Phase</li>
<li>New action code - Failover Cancelled</li>
</ul>
</td>
</tr>
<tr>
<td align="left" colspan="2" valign="bottom"><strong>Clustered Hash Table APIs</strong></td>
</tr>
<tr>
<td align="left" valign="top"><a href="clchtconnect.htm">Connect Clustered Hash
Table</a></td>
<td align="left" valign="top">New API</td>
</tr>
<tr>
<td align="left" valign="top"><a href="clchtdisconnect.htm">Disconnect
Clustered Hash Table</a></td>
<td align="left" valign="top">New API</td>
</tr>
<tr>
<td align="left" valign="top"><a href="clchtgenkey.htm">Generate Clustered Hash
Table Key</a></td>
<td align="left" valign="top">New API</td>
</tr>
<tr>
<td align="left" valign="top"><a href="clchtlstkey.htm">List Clustered Hash
Table Keys</a></td>
<td align="left" valign="top">New API</td>
</tr>
<tr>
<td align="left" valign="top"><a href="clchtretrieveentry.htm">Retrieve
Clustered Hash Table Entry</a></td>
<td align="left" valign="top">New API</td>
</tr>
<tr>
<td align="left" valign="top"><a href="clchtstoreentry.htm">Store Clustered
Hash Table Entry</a></td>
<td align="left" valign="top">New API</td>
</tr>
</table>
<br><br>
<h4>API changes allowed for CCV 2:</h4>
<table border>
<tr>
<th align="left" valign="top">API name</th>
<th align="left" valign="top">Brief Description</th>
</tr>
<tr>
<th align="left" colspan="2" valign="bottom"><strong>CCTL APIs</strong></th>
</tr>
<tr>
<td align="left" valign="top" width="35%"><a href="clcntadddde.htm">Add Device
Domain Entry</a></td>
<td align="left" valign="top" width="65%">New API</td>
</tr>
<tr>
<td align="left" valign="top"><a href="clcntchgcrs.htm">Change Cluster Resource
Services</a></td>
<td align="left" valign="top">New API</td>
</tr>
<tr>
<td align="left" valign="top"><a href="clcntchgcne.htm">Change Cluster Node
Entry</a></td>
<td align="left" valign="top">New format STSC0100 for changing node status from
Partition to Failed.</td>
</tr>
<tr>
<td align="left" valign="top"><a href="clcntlstddi.htm">List Device Domain
Information</a></td>
<td align="left" valign="top">New API</td>
</tr>
<tr>
<td align="left" valign="top"><a href="clcntrtvci.htm">Retrieve Cluster
Resource Services Information</a></td>
<td align="left" valign="top">New API</td>
</tr>
<tr>
<td align="left" valign="top"><a href="clcntrmvdde.htm">Remove Device Domain
Entry</a></td>
<td align="left" valign="top">New API</td>
</tr>
<tr>
<td align="left" colspan="2" valign="bottom"><strong>CRG APIs</strong></td>
</tr>
<tr>
<td align="left" valign="top"><a href="clrgadddevent.htm">Add Cluster Resource
Group Device Entry</a></td>
<td align="left" valign="top">New API</td>
</tr>
<tr>
<td align="left" valign="top"><a href="clrgchgcrg.htm">Change Cluster Resource
Group</a></td>
<td align="left" valign="top">New RGDC0300 format in support of device cluster
resource groups</td>
</tr>
<tr>
<td align="left" valign="top"><a href="clrgchgdevent.htm">Change Cluster
Resource Group Device Entry</a></td>
<td align="left" valign="top">New API</td>
</tr>
<tr>
<td align="left" valign="top"><a href="clrgcrtcrg.htm">Create Cluster Resource
Group</a></td>
<td align="left" valign="top">
<ul>
<li>New format RGDI0300 to support device cluster resource groups</li>
<li>New configure takeover IP address option</li>
<li>New distribute information queue field</li>
</ul>
</td>
</tr>
<tr>
<td align="left" valign="top"><a href="cldistinfo.htm">Distribute
Information</a></td>
<td align="left" valign="top">New API</td>
</tr>
<tr>
<td align="left" valign="top"><a href="clrglstcrgi.htm">List Cluster Resource
Group Information</a></td>
<td align="left" valign="top">New format LRGI0200 for device cluster resource
groups</td>
</tr>
<tr>
<td align="left" valign="top"><a href="clrgrmvdevent.htm">Remove Cluster
Resource Group Device Entry</a></td>
<td align="left" valign="top">New API</td>
</tr>
</table>
<br>
<br>
<hr>
<center>
<table cellpadding="2" cellspacing="2">
<tr align="center">
<td valign="middle" align="center"><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>