HP OpenVMS Systems Documentation
Volume Shadowing for OpenVMS
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.
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.
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.
3.4 Booting from a 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.
If the boot device fails, the following console warning message displays:
After the boot device has been repaired, manually add it back into the
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.
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.
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.
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:
ALLOCATE device-name[:] logical-name[:]
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|
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.
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
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)