  | 
		
HP OpenVMS Cluster Systems
 
 
6.2.2.1 Assigning Node Allocation Class Values on Computers
There are two ways to assign a node allocation class: by using 
CLUSTER_CONFIG.COM or CLUSTER_CONFIG_LAN.COM, which is described in 
Section 8.4, or by using AUTOGEN, as shown in the following table.
 
  
    | Step  | 
    Action  | 
   
  
    | 
      1
     | 
    
Edit the root directory [SYS
n.SYSEXE]MODPARAMS.DAT on each node that boots from the system 
disk. The following example shows a MODPARAMS.DAT file. The entries are 
hypothetical and should be regarded as examples, not as suggestions for 
specific parameter settings.
 
 
!
 ! Site-specific AUTOGEN data file. In an OpenVMS Cluster
 ! where a common system disk is being used, this file
 ! should reside in SYS$SPECIFIC:[SYSEXE], not a common
 ! system directory.
 !
 ! Add modifications that you want to make to AUTOGEN's
 ! hardware configuration data, system parameter
 ! calculations, and page, swap, and dump file sizes
 ! to the bottom of this file.
 SCSNODE="NODE01"
 SCSSYSTEMID=99999
 NISCS_LOAD_PEA0=1
 VAXCLUSTER=2
 MSCP_LOAD=1
 MSCP_SERVE_ALL=1
 ALLOCLASS=1
 TAPE_ALLOCLASS=1
 
 
      
     | 
   
  
    | 
      2
     | 
    
Invoke AUTOGEN to set the system parameter values:
$ @SYS$UPDATE:AUTOGEN start-phase end-phase
 
 
      
     | 
   
  
    | 
      3
     | 
    
      Shut down and reboot the entire cluster in order for the new values to 
      take effect.
     | 
   
 
6.2.2.2 Node Allocation Class Example With a DSA Disk and Tape 
Figure 6-4 shows a DSA disk and tape that are dual pathed between 
two computers.
 
Figure 6-4 Disk and Tape Dual Pathed Between Computers
  
 
In this configuration:
 
  - URANUS and NEPTUN access the disk either locally or through the 
  other computer's MSCP server.
  
 - When satellites ARIEL and OBERON access $1$DGA8, a path is made 
  through either URANUS or NEPTUN.
  
 - If, for example, the node URANUS has been shut down, the satellites 
  can access the devices through NEPTUN. When URANUS reboots, access is 
  available through either URANUS or NEPTUN.
  
6.2.2.3 Node Allocation Class Example With Mixed Interconnects
Figure 6-5 shows how device names are typically specified in a 
mixed-interconnect cluster. This figure also shows how relevant system 
parameter values are set for each FC computer.
 
Figure 6-5 Device Names in a Mixed-Interconnect Cluster
  
 
In this configuration:
 
  - A disk and a tape are dual pathed to the HSG or HSV subsystems 
  named VOYGR1 and VOYGR2; these subsystems are connected to JUPITR, 
  SATURN, URANUS and NEPTUN through the star coupler.
  
 - The MSCP and TMSCP servers are loaded on JUPITR and NEPTUN 
  (MSCP_LOAD = 1, TMSCP_LOAD = 1) and the ALLOCLASS and TAPE_ALLOCLASS 
  parameters are set to the same value (1) on these computers and on both 
  HSG or HSV subsystems.
  
Note: For optimal availability, two or more FC 
connected computers can serve HSG or HSV devices to the cluster.
6.2.2.4 Node Allocation Classes and RAID Array 210 and 230 Devices  
 
If you have RAID devices connected to StorageWorks RAID Array 210 or 
230 subsystems, you might experience device-naming problems when 
running in a cluster environment if nonzero node allocation classes are 
used. In this case, the RAID devices will be named 
$n$DRcu, where n is the (nonzero) 
node allocation class, c is the controller letter, and 
u is the unit number.
 
If multiple nodes in the cluster have the same (nonzero) node 
allocation class and these same nodes have RAID controllers, then RAID 
devices that are distinct might be given the same name (for example, 
$1$DRA0). This problem can lead to data corruption.
 
To prevent such problems, use the DR_UNIT_BASE system parameter, which 
causes the DR devices to be numbered sequentially, starting with the 
DR_UNIT_BASE value that you specify. For example, if the node 
allocation class is $1, the controller letter is A, and you set 
DR_UNIT_BASE on one cluster member to 10, the first device name 
generated by the RAID controller will be $1$DRA10, followed by 
$1$DRA11, $1$DRA12, and so forth.
 
To ensure unique DR device names, set the DR_UNIT_BASE number on each 
cluster member so that the resulting device numbers do not overlap. For 
example, you can set DR_UNIT_BASE on three cluster members to 10, 20, 
and 30 respectively. As long as each cluster member has 10 or fewer 
devices, the DR device numbers will be unique.
6.2.3 Reasons for Using Port Allocation Classes
 
When the node allocation class is nonzero, it becomes the device name 
prefix for all attached devices, whether the devices are on a shared 
interconnect or not. To ensure unique names within a cluster, it is 
necessary for the ddcu part of the disk device name (for 
example, DKB0) to be unique within an allocation class, even if the 
device is on a private bus.
 
This constraint is relatively easy to overcome for DIGITAL Storage 
Architecture (DSA) devices, because a system manager can select from a 
large unit number space to ensure uniqueness. The constraint is more 
difficult to manage for other device types, such as SCSI devices whose 
controller letter and unit number are determined by the hardware 
configuration.
 
For example, in the configuration shown in Figure 6-6, each system 
has a private SCSI bus with adapter letter A. To obtain unique names, 
the unit numbers must be different. This constrains the configuration 
to a maximum of 8 devices on the two buses (or 16 if wide addressing 
can be used on one or more of the buses). This can result in empty 
StorageWorks drive bays and in a reduction of the system's maximum 
storage capacity.
 
Figure 6-6 SCSI Device Names Using a Node Allocation 
Class
  
 
6.2.3.1 Constraint of the SCSI Controller Letter in Device  Names
The SCSI device name is determined in part by the SCSI controller 
through which the device is accessed (for example, B in DKBn). 
Therefore, to ensure that each node uses the same name for each device, 
all SCSI controllers attached to a shared SCSI bus must have the same 
OpenVMS device name. In Figure 6-6, each host is attached to the 
shared SCSI bus by controller PKB.
 
This requirement can make configuring a shared SCSI bus difficult, 
because a system manager has little or no control over the assignment 
of SCSI controller device names. It is particularly difficult to match 
controller letters on different system types when one or more of the 
systems have:
 
  - Built-in SCSI controllers that are not supported in SCSI clusters
  
 - Long internal cables that make some controllers inappropriate for 
  SCSI clusters
  
6.2.3.2 Constraints Removed by Port Allocation Classes
The port allocation class feature has two major 
benefits:
 
  - A system manager can specify an allocation class value that is 
  specific to a port rather than nodewide.
  
 - When a port has a nonzero port allocation class, the controller 
  letter in the device name that is accessed through that port is always 
  the letter A.
  
Using port allocation classes for naming SCSI, IDE, floppy disk, and 
PCI RAID controller devices removes the configuration constraints 
described in Section 6.2.2.4, in Section 6.2.3, and in Section 6.2.3.1. You 
do not need to use the DR_UNIT_BASE system parameter recommended in 
Section 6.2.2.4. Furthermore, each bus can be given its own unique 
allocation class value, so the ddcu part of the disk device 
name (for example, DKB0) does not need to be unique across buses. 
Moreover, controllers with different device names can be attached to 
the same bus, because the disk device names no longer depend on the 
controller letter.
 
Figure 6-7 shows the same configuration as Figure 6-6, with two 
additions: a host named CHUCK and an additional disk attached to the 
lower left SCSI bus. Port allocation classes are used in the device 
names in this figure. A port allocation class of 116 is used for the 
SCSI interconnect that is shared, and port allocation class 0 is used 
for the SCSI interconnects that are not shared. By using port 
allocation classes in this configuration, you can do what was not 
allowed previously:
 
  - Attach an adapter with a name (PKA) that differs from the name of 
  the other adapters (PKB) attached to the shared SCSI interconnect, as 
  long as that port has the same port allocation class (116 in this 
  example).
  
 - Use two disks with the same controller name and number (DKA300) 
  because each disk is attached to a SCSI interconnect that is not shared.
  
Figure 6-7 Device Names Using Port Allocation Classes
  
 
6.2.4 Specifying Port Allocation Classes 
A port allocation class is a designation for all ports attached to a 
single interconnect. It replaces the node allocation class in the 
device name.
 
The three types of port allocation classes are:
 
  - Port allocation classes of 1 to 32767 for devices attached to a 
  multihost interconnect or a single-host interconnect, if desired
  
 - Port allocation class 0 for devices attached to a single-host 
  interconnect
  
 - Port allocation class -1 when no port allocation class is in effect
  
Each type has its own naming rules.
6.2.4.1 Port Allocation Classes for Devices Attached to a Multi-Host  Interconnect
 
The following rules pertain to port allocation classes for devices 
attached to a multihost interconnect:
 
  - The valid range of port allocation classes is 1 through 32767.
  
 - When using port allocation classes, the controller letter in the 
  device name is always A, regardless of the actual controller letter. 
  The $GETDVI item code DVI$_DISPLAY_DEVNAM displays the actual port 
  name. 
 Note that it is now more important to use fully specified 
  names (for example, $101$DKA100 or ABLE$DKA100) rather than abbreviated 
  names (such as DK100), because a system can have multiple DKA100 disks.
   - Each port allocation class must be unique within a cluster.
  
 - A port allocation class cannot duplicate the value of another 
  node's tape or disk node allocation class.
  
 - Each node for which MSCP serves a device should have the same 
  nonzero allocation class value.
  
Examples of device names that use this type of port allocation class 
are shown in Table 6-2.  
 
  Table 6-2 Examples of Device Names with Port Allocation Classes 1-32767
  
    | Device Name  | 
    Description  | 
   
  
    | 
      $101$DKA0
     | 
    
       The port allocation class is 101; DK represents the disk device 
       category, A is the controller name, and 0 is the unit number.
     | 
   
  
    | 
      $147$DKA0
     | 
    
      The port allocation class is 147; DK represents the disk device 
      category, A is the controller name, and 0 is the unit number.
     | 
   
 
6.2.4.2 Port Allocation Class 0 for Devices Attached to a Single-Host  Interconnect
The following rules pertain to port allocation class 0 for devices 
attached to a single-host interconnect:
 
  - Port allocation class 0 does not become part of the device name. 
  Instead, the name of the node to which the device is attached becomes 
  the first part of the device name.
  
 - The controller letter in the device name remains the designation of 
  the controller to which the device is attached. (It is not changed to A 
  as it is for port allocation classes greater than zero.)
  
Examples of device names that use port allocation class 0 are shown in 
Table 6-3.  
 
  Table 6-3 Examples of Device Names With Port Allocation Class 0
  
    | Device Name  | 
    Description  | 
   
  
    | 
      ABLE$DKD100
     | 
    
      ABLE is the name of the node to which the device is attached. D is the 
      designation of the controller to which it is attached, not A as it is 
      for port allocation classes with a nonzero class. The unit number of 
      this device is 100. The port allocation class of $0$ is not included in 
      the device name.
     | 
   
  
    | 
      BAKER$DKC200
     | 
    
       BAKER is the name of the node to which the device is attached, C is the 
       designation of the controller to which it is attached, and 200 is the 
       unit number. The port allocation class of $0$ is not included in the 
       device name.
     | 
   
 
6.2.4.3 Port Allocation Class -1
The designation of port allocation class -1 means that a port 
allocation class is not being used. Instead, a node allocation class is 
used. The controller letter remains its predefined designation. (It is 
assigned by OpenVMS, based on the system configuration. It is not 
affected by a node allocation class.)
6.2.4.4 How to Implement Port Allocation Classes
 
Port allocation classes were introduced in OpenVMS Alpha Version 7.1 
with support in OpenVMS VAX. VAX computers can serve disks connected to 
Alpha systems that use port allocation classes in their names.
 
To implement port allocation classes, you must do the following:
 
  - Enable the use of port allocation classes.
  
 - Assign one or more port allocation classes.
  
 - At a minimum, reboot the nodes on the shared SCSI bus.
  
Enabling the Use of Port Allocation Classes
 
 
 To enable the use of port allocation classes, you must set a new SYSGEN 
 parameter DEVICE_NAMING to 1. The default setting for this parameter is 
 zero. In addition, the SCSSYSTEMIDH system parameter must be set to 
 zero. Check to make sure that it is.
 
Assigning Port Allocation Classes
 
 
You can assign one or more port allocation classes with the OpenVMS 
Cluster configuration procedure, CLUSTER_CONFIG.COM (or 
CLUSTER_CONFIG_LAN.COM).
 
If it is not possible to use CLUSTER_CONFIG.COM or 
CLUSTER_CONFIG_LAN.COM to assign port allocation classes (for example, 
if you are booting a private system disk into an existing cluster), you 
can use the new SYSBOOT SET/CLASS command.
 
The following example shows how to use the new SYSBOOT SET/CLASS 
command to assign an existing port allocation class of 152 to port PKB.
 
 
  
    
       
      
SYSBOOT> SET/CLASS PKB 152 
 
 |   
The SYSINIT process ensures that this new name is used in successive 
boots.
 
To deassign a port allocation class, enter the port name without a 
class number. For example:
 
 
The mapping of ports to allocation classes is stored in 
SYS$SYSTEM:SYS$DEVICES.DAT, a standard text file. You use the 
CLUSTER_CONFIG.COM (or CLUSTER_CONFIG_LAN.COM) command procedure or, in 
special cases, SYSBOOT to change SYS$DEVICES.DAT.
6.2.4.5 Clusterwide Reboot Requirements for SCSI Interconnects
 
Changing a device's allocation class changes the device name. A 
clusterwide reboot ensures that all nodes see the device under its new 
name, which in turn means that the normal device and file locks remain 
consistent.
 
Rebooting an entire cluster when a device name changes is not 
mandatory. You may be able to reboot only the nodes that share the SCSI 
bus, as described in the following steps. The conditions under which 
you can do this and the results that follow are also described.
 
  - Dismount the devices whose names have changed from all nodes.
    
  This is not always possible. In particular, you cannot dismount a 
    disk on nodes where it is the system disk. If the disk is not 
    dismounted, a subsequent attempt to mount the same disk using the new 
    device name will fail with the following error:
 
  
    
       
      
%MOUNT-F-VOLALRMNT, another volume of same label already mounted 
 
 |   
     Therefore, you must reboot any node that cannot dismount the disk.
   - Reboot all nodes connected to the SCSI bus. 
 Before you reboot 
  any of these nodes, make sure the disks on the SCSI bus are dismounted 
  on the nodes not rebooting.
 
  Note 
OpenVMS ensures that a node cannot boot if the result is a SCSI bus 
with naming different from another node already accessing the same bus. 
(This check is independent of the dismount check in step 1.) 
     | 
   
 
     After the nodes that are connected to the SCSI bus reboot, the 
    device exists with its new name.
   - Mount the devices systemwide or clusterwide. 
 If no other node 
  has the disk mounted under the old name, you can mount the disk 
  systemwide or clusterwide using its new name. The new device name will 
  be seen on all nodes running compatible software, and these nodes can 
  also mount the disk and access it normally.  Nodes that have not 
  rebooted still see the old device name as well as the new device name. 
  However, the old device name cannot be used; the device, when accessed 
  by the old name, is off line. The old name persists until the node 
  reboots.
  
6.3 MSCP and TMSCP Served Disks and Tapes
The MSCP server and the TMSCP server make locally connected disks and 
tapes available to all cluster members. Locally connected disks and 
tapes are not automatically cluster accessible. Access to these devices 
is restricted to the local computer unless you explicitly set them up 
as cluster accessible using the MSCP server for disks or the TMSCP 
server for tapes.
6.3.1 Enabling Servers
 
To make a disk or tape accessible to all OpenVMS Cluster computers, the 
MSCP or TMSCP server must be:
 
  - Loaded on the local computer, as described in Table 6-4
  
 - Made functional by setting the MSCP and TMSCP system parameters, as 
  described in Table 6-5
  
 
  Table 6-4 MSCP_LOAD and TMSCP_LOAD Parameter Settings
  
    | Parameter  | 
    Value  | 
    Meaning  | 
   
  
    | 
      MSCP_LOAD
     | 
    
      0
     | 
    
      Do not load the MSCP_SERVER. This is the default.
     | 
   
  
    |  
      
     | 
    
      1
     | 
    
      Load the MSCP server with attributes specified by the MSCP_SERVE_ALL 
      parameter using the default CPU load capacity.
     | 
   
  
    |  
      
     | 
    
      >1
     | 
    
      Load the MSCP server with attributes specified by the MSCP_SERVE_ALL 
      parameter. Use the MSCP_LOAD value as the CPU load capacity.
     | 
   
  
    | 
      TMSCP_LOAD
     | 
    
      0
     | 
    
      Do not load the TMSCP server and do not serve any tapes (default value).
     | 
   
  
    |  
      
     | 
    
      1
     | 
    
      Load the TMSCP server and serve all available tapes, including all 
      local tapes and all multihost tapes with a matching TAPE_ALLOCLASS 
      value.
     | 
   
 
Table 6-5 summarizes the system parameter values you can specify 
for MSCP_SERVE_ALL and TMSCP_SERVE_ALL to configure the MSCP and TMSCP 
servers. Initial values are determined by your responses when you 
execute the installation or upgrade procedure or when you execute the 
CLUSTER_CONFIG.COM command procedure described in Chapter 8 to set 
up your configuration.
 
Starting with OpenVMS Version 7.2, the serving types are implemented as 
a bit mask. To specify the type of serving your system will perform, 
locate the type you want in Table 6-5 and specify its value. For 
some systems, you may want to specify two serving types, such as 
serving the system disk and serving locally attached disks. To specify 
such a combination, add the values of each type, and specify the sum.
 
 
  Note 
In a mixed-version cluster that includes any systems running OpenVMS 
Version 7.1-x or earlier, serving all available disks is 
restricted to serving all disks whose allocation class matches the 
system's node allocation class (pre-Version 7.2 meaning). To specify 
this type of serving, use the value 9 (which sets bit 0 and bit 3). 
     | 
   
 
 
  Table 6-5 MSCP_SERVE_ALL and TMSCP_SERVE_ALL Parameter Settings
  
    | Parameter  | 
    Bit  | 
    Value When Set  | 
    Meaning  | 
   
  
    | 
      MSCP_SERVE_ALL
     | 
    
      0
     | 
    
      1
     | 
    
Serve all available disks (locally attached and those connected to HS
      x and DSSI controllers). Disks with allocation classes that 
      differ from the system's allocation class (set by the ALLOCLASS 
      parameter) are also served if bit 3 is not set.
     | 
   
  
    |  
      
     | 
    
      1
     | 
    
      2
     | 
    
Serve locally attached (non-HS
      x and non-DSSI) disks. The server does not monitor its I/O 
      traffic and does not participate in load balancing.
     | 
   
  
    |  
      
     | 
    
      2
     | 
    
      4
     | 
    
       Serve the system disk. This is the default setting. This setting is 
       important when other nodes in the cluster rely on this system being 
       able to serve its system disk. This setting prevents obscure contention 
       problems that can occur when a system attempts to complete I/O to a 
       remote system disk whose system has failed. For more information, see 
       Section 6.3.1.1.
     | 
   
  
    |  
      
     | 
    
      3
     | 
    
      8
     | 
    
 Restrict the serving specified by bit 0. All disks except those with 
 allocation classes that differ from the system's allocation class (set 
 by the ALLOCLASS parameter) are served.
  This is pre-Version 7.2 behavior. If your cluster includes systems 
running Open 7.1-
      x or earlier, and you want to serve all available disks, you 
      must specify 9, the result of setting this bit and bit 0.
      | 
   
  
    |  
      
     | 
    
      4
     | 
    
      15
     | 
    
      By default, the bit 4 is not set, hence the DUDRIVER will accept the 
      devices with unit number greater than 9999. On the client side, if bit 
      4 is set (10000 binary) in the MSCP_SERVE_ALL parameter, the client 
      will reject devices with unit number greater than 9999 and retains the 
      earlier behavior.
     | 
   
  
    | 
      TMSCP_SERVE_ALL
     | 
    
      0
     | 
    
      1
     | 
    
Serve all available tapes (locally attached and those connected to HS
      x and DSSI controllers). Tapes with allocation classes that 
      differ from the system's allocation class (set by the ALLOCLASS 
      parameter) are also served if bit 3 is not set.
     | 
   
  
    |  
      
     | 
    
      1
     | 
    
      2
     | 
    
Serve locally attached (non-HS
      x and non-DSSI) tapes.
     | 
   
  
    |  
      
     | 
    
      3
     | 
    
      8
     | 
    
Restrict the serving specified by bit 0. Serve all tapes except those 
with allocation classes that differ from the system's allocation class 
(set by the ALLOCLASS parameter).
  This is pre-Version 7.2 behavior. If your cluster includes systems 
running OpenVMS Version 7.1-
      x or earlier, and you want to serve all available tapes, you 
      must specify 9, the result of setting this bit and bit 0.
      | 
   
  
    |  
      
     | 
    
      4
     | 
    
      15
     | 
    
      By default, the bit 4 is not set, hence the TUDRIVER will accept the 
      devices with unit number greater than 9999. On the client side, if bit 
      4 is set (10000 binary) in the TMSCP_SERVE_ALL parameter, the client 
      will reject devices with unit number greater than 9999 and retains the 
      earlier behavior.
     | 
   
 
Although the serving types are now implemented as a bit mask, the 
values of 0, 1, and 2, specified by bit 0 and bit 1, retain their 
original meanings. These values are shown in the following table:
 
  
    | Value  | 
    Description  | 
   
  
    | 
      0
     | 
    
      Do not serve any disks (tapes). This is the default.
     | 
   
  
    | 
      1
     | 
    
      Serve all available disks (tapes).
     | 
   
  
    | 
      2
     | 
    
Serve only locally attached (non-HS
      x and non-DSSI) disks (tapes).
     | 
   
 
  
 |