Document revision date: 15 July 2002
[Compaq] [Go to the documentation home page] [How to order documentation] [Help on this site] [How to contact us]
[OpenVMS documentation]

Volume Shadowing for OpenVMS


Previous Contents Index

3.3.1 Setting System Parameters

To set or modify volume shadowing parameters, edit the [SYSn.SYSEXE]MODPARAMS.DAT file or the appropriate AUTOGEN include file. After editing the file, execute SYS$UPDATE:AUTOGEN as described in the OpenVMS System Manager's Manual, Volume 2: Tuning, Monitoring, and Complex Systems. If you have an OpenVMS Cluster system, ensure that the system parameters are updated on each node. Example 3-2 illustrates a MODPARAMS.DAT file that includes assignment statements to set shadowing parameters.

Example 3-2 MODPARAMS.DAT File

   .
   .
   .
! Volume Shadowing Parameters: 
SHADOWING=2             ! Enables phase II shadowing 
 
SHADOW_SYS_DISK=1       ! Enables system disk shadowing 
 
SHADOW_SYS_UNIT=7       ! Specifies 7 as the virtual unit number 
                          of the system disk 
 
SHADOW_MAX_COPY=4       ! Specifies that 4 parallel copies can occur at one time 
 
SHADOW_MBR_TMO=120      ! Allows 120 seconds for physical members to fail over 
                        ! before removal from the shadow set 
 
   .
   .
   .

See the OpenVMS System Manager's Manual, Volume 2: Tuning, Monitoring, and Complex Systems for complete information about invoking AUTOGEN and specifying the appropriate command qualifiers to perform the desired AUTOGEN operations.

3.3.2 Displaying System Parameters

It is sometimes useful to use the SYSGEN command SHOW to display the values of system parameters.

You do not need special privileges to invoke the SYSGEN utility. You can use either a qualifier or the name of a system parameter with the SHOW command, or you can use the SHOW/ALL command to display information about all system parameters. (Enter HELP SHOW at the SYSGEN> prompt for more information about the SHOW command.) The following example illustrates how you can check the current default, minimum, and maximum values for the SHADOWING parameter.


$ MCR SYSGEN
SYSGEN> SHOW SHADOWING
Parameter Name   Current  Default  Minimum  Maximum  Unit        Dynamic
--------------   -------  -------  -------  -------  ----        -------
SHADOWING              2        0        0        3  Coded-value
SYSGEN>  

3.4 Booting from a System Disk Shadow Set

When multiple nodes boot from a common system disk shadow set, ensure that all nodes specify a physical disk that is a source member of the system disk shadow set.

At boot time, the volume shadowing software attempts to construct a complete system disk shadow set based on the shadowing membership information contained in the storage control block (SCB) of the boot device. The SCB is an ODS-2 or ODS-5 file system data structure that resides on each storage device and contains information about shadow set membership (described in Section 6.1). Depending on what information is in the SCB at boot time, the following scenarios are possible:

The boot process automatically locates all the members of a system disk shadow set. You should not add system disk shadow set members in startup procedures as formerly recommended when phase I shadowing was supported.

Caution

Do not add members to a system disk shadow set in startup procedures. Doing so can result in loss of data under the following circumstances:
  1. A system is operating normally with a multiple member system disk shadow set.
  2. The original boot device is removed from the shadow set but remains as a functioning disk.
  3. The system continues with the remaining members.
  4. The system is shut down or it fails.
  5. The system is rebooted using the original boot device (which is now out of date).
  6. The boot process determines that the boot device is not consistent with the other shadow set members and, therefore, does not add them into the shadow set. This behavior preserves the up-to-date data on the other members.
  7. A MOUNT command in the startup procedure adds the other shadow set members to the system disk shadow set.
  8. A copy operation from the boot device to the other shadow set members is initiated, thereby overwriting them.

If the boot device fails, the following console warning message displays:


virtual-unit: does not contain the member named to VMB. 
System may not reboot. 

After the boot device has been repaired, manually add it back into the system disk shadow set.

3.5 Booting Satellite Nodes from an MSCP Served System Disk Shadow Set

The OpenVMS operating system uses the Maintenance Operations Procedure (MOP) protocol to boot satellite nodes. The MOP protocol is provided by either the LANCP utility or by DECnet. The network software (LANCP or DECnet) must be configured on your system before you can use either LANCP or DECnet commands. You must also define a satellite's system disk using the LANCP or DECnet commands of the network software you are using for satellite booting. If the system disk is shadowed, the commands should specify the virtual unit or the virtual unit logical name rather than any physical unit.

The MOP server accesses the system disk shadow set (using the virtual unit defined) to perform downline load operations to the satellite. These operations include downline loading the physical boot device name to the satellite. When downline loading is complete, the satellite is able to connect to an MSCP server and access the physical boot device directly. The satellite's shadowing parameters are then used in the same way as a nonsatellite node.

You can use the SYS$MANAGER:CLUSTER_CONFIG_LAN.COM procedure or the SYS$MANAGER:CLUSTER_CONFIG.COM procedure to set MOP server, MSCP server, and satellite parameters automatically. When configuring satellite nodes with the cluster configuration command procedure, you can specify a shadowed system disk virtual unit as the satellite's system disk. The cluster configuration command procedure then automatically sets the satellite's system parameters SHADOW_SYS_DISK and SHADOW_SYS_UNIT for you. The values of these parameters are transferred automatically to the system parameter file VAXVMSSYS.PAR for VAX satellites and to ALPHAVMSSYS.PAR for Alpha satellites. (See the OpenVMS Cluster Systems manual for more information about using this command procedure.)

Example 3-3 shows the commands to enter to display the LANCP satellite database entries.

Example 3-3 LANCP Database Example of a Satellite Node

$ MCR LANCP
LANCP> LIST DEVICE/MOPDLL
 
 
Device Listing, permanent database:
  --- MOP Downline Load Service Characteristics ---
Device    State   Access Mode      Client            Data Size
------    -----   -----------      ------            ---------
ESA0    Disabled NoExlusive  NoKnownClientsOnly     246 bytes
FCA0    Disabled NoExlusive  NoKnownClientsOnly     246 bytes
LANCP> EXIT

For DECnet--Plus commands, see the DECnet--Plus documentation.

Example 3-4 shows the NCP commands you should enter on a MOP server to display a satellite DECnet database entry. Note that the load assist parameter displays the shadow set virtual unit name that downline loads the satellite node HIWAY1. Example 3-4 uses an explicit virtual unit name. However, you might prefer to use a logical name that translates to the virtual unit.

Example 3-4 DECnet Database Example of a Satellite Node

$ MCR NCP
NCP> SHOW NODE HIWAY1 CHAR
Node Volatile Characteristics as of 12-MAR-2000 14:53:59
Remote node =   19.891 (HIWAY1)
Hardware address         = 03-03-03-03-03-BC
Tertiary loader          = SYS$SYSTEM:TERTIARY_VMB.EXE
Load Assist Agent        = SYS$SHARE:NISCS_LAA.EXE
Load Assist Parameter    = DSA1:<SYS4C.>
NCP> EXIT

You may need to adjust the settings of the SHADOW_MBR_TMO and SHADOW_MAX_COPY parameters on satellite nodes. These parameters are not automatically set by the cluster configuration command procedure. See Section 3.2 for more information.

The cluster configuration command procedure automatically enables shadowing on satellite nodes when you want to shadow the system disk. If you do not want to shadow the system disk but need to enable shadowing, you must do so manually after the cluster configuration command procedure completes. Set shadowing parameters in the satellite node's MODPARAMS.DAT file and execute AUTOGEN as described in Section 3.2 and in Section 3.3.1.

Figure 3-1 shows two satellite nodes with shadowed system disk volumes located in an OpenVMS Cluster system configuration. In this configuration, the devices $254$DUA1 and $254$DUA2 make up a two-member shadow set. The satellites HIWAY1 and BYWAY2 access shadow set members across the Ethernet via the MSCP servers in the two boot nodes.

Figure 3-1 Booting Satellite Nodes


When a satellite node in Figure 3-1 is booted, the boot node (MOP server) downline loads initial bootstrap code from the virtual unit DSA1. The boot node points the satellite to use either $254$DUA1 or $254$DUA2 as a boot device for the remainder of the boot process. Note that the boot node must have the virtual unit mounted. The satellite then forms the system disk shadow set locally according to the shadow set membership information stored in the SCB on the boot device.

The following SHOW DEVICES command displays how the shadow set appears after the satellite node HIWAY1 is booted. In this example, the physical disk devices are accessed through the MSCP server node BTNODE.


$ SHOW DEVICES DSA1
Device                Device           Error   Volume    Free   Trans Mnt
Name                  Status           Count   Label     Blocks Count Cnt
DSA1:                 Mounted           0      MYVOLUME  181779   194  37
$254$DUA1:  (BTNODE)  ShadowSetMember   0      (member of DSA1:)
$254$DUA2:  (BTNODE)  ShadowSetMember   0      (member of DSA1:)
$ 

3.6 Creating and Managing Shadow Sets

You can create, mount, and manage shadow sets interactively at the DCL command level, or in user-written programs:


Chapter 4
Creating and Managing Shadow Sets Using DCL Commands

This chapter describes how to create, mount, dismount, and dissolve shadow sets using interactive DCL commands. It also describes how to use the DCL command SET DEVICE to specify management attributes for shadow set members located at different sites in a multiple-site OpenVMS Cluster system. In addition, it describes how to use the DCL command SHOW DEVICE and the lexical function F$GETDVI to access current information about the state of shadow sets.

Volume Shadowing for OpenVMS improves data availability by ensuring that corresponding logical block numbers (LBNs) on multiple disk volumes contain the same information. Upon receiving a command to mount or dismount disks in a shadow set, the volume shadowing software may need to reconcile data differences and ensure that corresponding LBNs contain the same information.

An understanding of the copy and merge operations used for data reconciliation is essential to the discussions in this chapter. Therefore, you may find it helpful to refer to Chapter 6 to understand how Volume Shadowing for OpenVMS ensures data availability and consistency during changes in shadow set membership.

4.1 Allocating Devices

To avoid the possibility of another user mounting a particular device before you enter the MOUNT command, you can optionally allocate the device before issuing the MOUNT command. Use the DCL command ALLOCATE to provide your process with exclusive access to a physical device until you either deallocate the device or terminate your process. Optionally, you can associate a logical name with the device. The format for the ALLOCATE command is as follows:

ALLOCATE device-name[:] logical-name[:]

4.2 Creating a Shadow Set

To create a shadow set, you must use the MOUNT command with the /SHADOW qualifier to mount at least one physical disk into a shadow set and assign a virtual unit name to the set, as shown in Example 4-1.

Example 4-1 Creating a Shadow Set

$  MOUNT DSA23:(1) /SHADOW(2) =$4$DUA9:(3) volume-label(4) logical-name(5)

This example forms a shadow set represented by the virtual unit DSA23, and includes one shadow set member, $4$DUA9.

  1. You must use the DSAn: format to specify the shadow set virtual unit, where n represents a unique number from 0 through 9999. If you do not include a number after the DSA prefix, MOUNT automatically assigns the highest unit number available. Numbering starts at 9999 and decrements to 0; the first virtual unit mounted is numbered 9999, the second 9998, and so on.
    Each virtual unit number must be unique across the system, regardless of whether or not the unit is mounted for public (mounted with the /SYSTEM qualifier) or private access. Virtual units are named independently of the controllers involved.
  2. The /SHADOW qualifier is required when specifying a physical device. You must name at least one physical device as a parameter to the /SHADOW qualifier. Although one-member shadow sets are valid, you should mount one or two additional disks in order for the shadowing software to maintain duplicate data. Adding disks to an existing shadow set is discussed in Section 4.5.
  3. You must use a nonzero allocation class for each physical device in the shadow set. Use the allocation class naming format $allocation-class$ddcu, where:
    See OpenVMS Cluster Systems for more information about allocation classes.
  4. Specify a 1- to 12-character volume label for the virtual unit.
  5. Optionally, specify a 1- to 255-alphanumeric-character logical name string for the shadow set.

In addition, you can specify /SYSTEM, /GROUP, or /CLUSTER to make the shadow set available to all users of a system, all members of a group, or all nodes in a cluster on which shadowing is enabled.

To create a three-member shadow set, you can add two members in a single MOUNT command to an existing one-member shadow set. This method optimizes the I/O operation because both members are copied at the same time. (See the example in Section 4.4.4.)

You can also streamline the process of creating a shadow set by initialized multiple devices in one command, using INITIALIZE/SHADOW/ERASE, as described in Section 4.3.

Upon receiving a command to create a shadow set, the volume shadowing software may perform a copy or a merge operation to reconcile data differences. If you are not sure which disks might be targets of copy operations, you can specify the /CONFIRM or /NOCOPY qualifiers as a precaution against overwriting important data when you mount a disk. These and other MOUNT command qualifiers are discussed in Section 4.4.

4.3 Using INITIALIZE/SHADOW/ERASE to Streamline the Formation of a Shadow Set

You can use the DCL command INITIALIZE with the /SHADOW and /ERASE command qualifiers to initialize multiple members of a a future shadow set. Initializing multiple members in this way eliminates the requirement of a full copy when you later create a shadow set.

The INITIALIZE command with the /SHADOW and /ERASE qualifiers performs the following operations:

You can then mount up to three of the devices that you have initialized in this way as members of a new host-based shadow set.

4.3.1 Benefits and Side Effects of Using /ERASE

Compaq strongly recommends that you use the /ERASE qualifier. By using the /ERASE qualifier, a subsequent merge operation will be substantially reduced.

If you omit the /ERASE qualifier, then the portions of the volume that do not contain file system data structures will contain indeterminate data. This data can differ from one shadow set member to another. Make sure to take this into account when using utilities that compare all of the LBNs between shadow set members.

The next time a full merge operation occurs, the presence of this indeterminate data will cause the merge to take much longer than it would have without use of the INITIALIZE/SHADOW/ERASE command. When this full merge completes, the LBNs will contain identical data, and the storage control block (SCB) will no longer indicate that the /ERASE qualifier was omitted from the INITIALIZE/SHADOW command.

Note, however, that a side effect of using /ERASE is that the ERASE volume attribute is set. In effect, each file on the volume is erased when it is deleted. Another side effect is that an INITIALIZE/ERASE operation is always slower than an INITIALIZE/NOERASE operation.

You can remove the ERASE volume attribute by issuing the SET VOLUME/NOERASE_ON_DELETE command. For more information about these DCL commands and qualifiers, see the OpenVMS DCL Dictionary.

4.3.2 Requirements for Using INITIALIZE/SHADOW

All the devices must have identical, nonzero values for Total Blocks . You can view the Total Blocks value by entering the SHOW DEVICE/FULL command. If a device has never been mounted or initialized on this system, the SHOW DEVICE/FULL command for the device will not display a value for Total Blocks . To correct this condition, either mount and then dismount the device, or initialize the device. The Total Blocks value will then be displayed by SHOW DEVICE/FULL.

The use of INITIALIZE/SHADOW requires the VOLPRO privilege.

Note that the INITIALIZE/SHADOW command should not be used to initialize a disk to be added to an existing shadow set, since there is no benefit to be gained.

The format of this command follows:

INITIALIZE/SHADOW=(device_name1, device_name2, device_name3) label

4.3.3 INITIALIZE/SHADOW Examples

The following example shows the correct use of this command. Note that the command specifies multiple devices on the same line.


$ INITIALIZE /ERASE /SHADOW=($4$DKA1300, $4$DKA1301) NONVOLATILE 
 
$ MOUN/SYS DSA42 /SHAD=( $4$DKA1300 , $4$DKA1301 ) NONVOLATILE 
%MOUNT-I-MOUNTED, NONVOLATILE MOUNTED ON _DSA42: 
%MOUNT-I-SHDWMEMSUCC, _$4$DKA1300: (WILD3) IS NOW A VALID MEMBER OF THE SHADOW SET 
%MOUNT-I-SHDWMEMSUCC, _$4$DKA1301: (WILD4) IS NOW A VALID MEMBER OF THE SHADOW SET 
$ SHO DEV DSA42: 
 
DEVICE               DEVICE           ERROR    VOLUME         FREE  TRANS MNT 
 NAME                STATUS           COUNT     LABEL        BLOCKS COUNT CNT 
DSA42:               MOUNTED              0  NONVOLATILE    5799600     1   1 
$4$DKA1300: (WILD3)  SHADOWSETMEMBER      0  (MEMBER OF DSA42:) 
$4$DKA1301: (WILD4)  SHADOWSETMEMBER      0  (MEMBER OF DSA42:) 

The following example shows an incorrect use of this command. Do not use a separate command to initialize each device.


$ INITIALIZE /ERASE /SHADOW=  $4$DKA1300 NONVOLATILE                       
$ INITIALIZE /ERASE /SHADOW=  $4$DKA1301 NONVOLATILE 
 
$ MOUN/SYS DSA42 /SHAD=( $4$DKA1300 , $4$DKA1301 ) NONVOLATILE 
%MOUNT-I-MOUNTED, NONVOLATILE MOUNTED ON _DSA42: 
%MOUNT-I-SHDWMEMSUCC, _$4$DKA1300: (WILD3) IS NOW A VALID MEMBER OF THE SHADOW SET 
%MOUNT-I-SHDWMEMSUCC, _$4$DKA1301: (WILD4) IS NOW A VALID MEMBER OF THE SHADOW SET 
$ SHO DEV DSA42: 
 
DEVICE               DEVICE           ERROR    VOLUME         FREE  TRANS MNT 
 NAME                STATUS           COUNT     LABEL        BLOCKS COUNT CNT 
DSA42:               MOUNTED              0  NONVOLATILE    5799600     1   1 
$4$DKA1300:    (WILD3)  ShadowSetMember      0  (member of DSA42:) 
$4$DKA1301:    (WILD4)  ShadowCopying        0  (copy trgt DSA42:   0% copied) 


Previous Next Contents Index

  [Go to the documentation home page] [How to order documentation] [Help on this site] [How to contact us]  
  privacy and legal statement  
5423PRO_003.HTML