|
Volume Shadowing for OpenVMS
4.7 Specifying Disaster-Tolerant Management Attributes (Alpha Only)
Starting with OpenVMS Alpha Version 7.3, qualifiers to the DCL command
SET DEVICE are provided for specifying management attributes for shadow
set members located at different sites. By using these qualifiers,
system managers can override the default volume shadowing actions that
can occur when the systems at one site of a disaster-tolerant OpenVMS
Cluster configuration fail. These qualifiers are designed primarily for
use in a configuration that uses Fibre Channel for a site-to-site
storage interconnect. They can be used in other configurations as well.
Similarly, the DCL command DISMOUNT has been enhanced by the addition
of the qualifier /FORCE_REMOVAL ddcu:. This qualifier has been
added for the same purpose---to give system managers greater control of
shadow set members located at different sites. For more information
about this qualifier, see Section 4.8.1.
Table 4-3 SET DEVICE Command Qualifiers for Multiple-Site Shadow Set Members
Qualifier |
Function |
/FORCE_REMOVAL
ddcu:
|
If connectivity to a device has been lost and the shadow set is in
mount verification, this qualifier causes the member to be expelled
from the shadow set immediately.
If the shadow set is not currently in mount verification, no
immediate action is taken. If connectivity to a device has been lost
but the shadow set is not in mount verification, this qualifier lets
you flag the member to be expelled from the shadow set, as soon as it
does enter mount verification. The device specified must be a member of
a shadow set that is mounted on the node where the command is issued.
|
/MEMBER_TIMEOUT =
xxxxxx ddcu:
|
Specifies the timeout value to be used for a member of a shadow set.
The value supplied by this qualifier overrides the SYSGEN parameter
SHADOW_MBR_TMO for this specific device. Each member of a shadow set
can be assigned a different MEMBER_TIMEOUT value.
The valid range for
xxxxxx is 1 to 16,777,215 seconds.
The device specified must be a member of a shadow set that is
mounted on the node where the command is issued.
After you have applied this qualifier to a member, the setting
remains in effect as long as the member is part of the shadow set. If
the member is removed from the shadow set and later returned, this
qualifier must be specified again.
|
/MVTIMEOUT =
yyyyyy DSA
nnnn:
|
Specifies the mount verification timeout value to be used for this
shadow set, specified by its virtual unit name, DSA
nnnn.
The value supplied by this qualifier overrides the SYSGEN parameter
MVTIMEOUT for this specific shadow set.
The valid range for
yyyyyy is 1 to 16,777,215 seconds. The device specified must
be a shadow set that is mounted on the node where the command is issued.
After you have applied this qualifier, the setting remains in
effect as long as the shadow set is mounted. If the shadow set is
dismounted and later remounted, this qualifier must be specified again
|
/READ_COST =
zzz
ddcu:
|
The valid range for
zzz is 1 to 65,535 units.
The device specified must be a member of a shadow set that is
mounted on the node where the command is issued.
This qualifier enables you to modify the default "cost"
assigned to each member of a shadow set. By modifying the assignments,
you can bias the reads in favor of one member of a two-member shadow
set, or, in the case of three-member shadow sets, in favor of one or
two members of the set over the remaining members.
The shadowing driver assigns default READ_COST values to shadow set
members when each member is initially mounted. The default value
depends on the device type and its configuration relative to the system
mounting it. There are default values for a DECRAM device; a directly
connected device in the same physical location; a directly connected
device in a remote location; a DECram served device; and a default
value for other served devices.
The value supplied by this qualifier overrides the default
assignment. The shadowing driver adds the value of the current queue
depth of the shadow set member to the READ_COST value and then reads
from the member with the lowest value.
After you have applied this qualifier to a member, the setting
remains in effect as long as the member is part of the shadow set. If
the member is removed from the shadow set and later returned, this
qualifier must be specified again.
Different systems in the cluster can assign different costs to each
shadow set member.
If the /SITE command qualifier has been specified, the shadowing
driver will take site values into account when it assigns default
READ_COST values. Note that in order for the shadowing software to
determine whether a device is in the category of "directly
connected device in a remote location," the /SITE command
qualifier must have been applied to both the shadow set and the DSA
device.
Reads requested for a shadow set from a system at site 1 are
performed from a shadow set member that is also at site 1. Reads
requested for the same shadow set from site 2 can read from the member
located at site 2.
|
/READ_COST =
y DSA
nnnn
|
The valid range for
y is
any number. The value supplied has no inherent meaning. The
purpose of this qualifier is to switch the read cost setting for all
shadow set members back to the default read cost settings established
automatically by the shadowing software. DSA
nnnn must be a shadow set that is mounted on the node from
which this command is issued.
|
/SITE = (
nnn, logical_name) (
ddcu:, DSA
nnnn:)
|
This qualifier indicates to the shadowing driver the site location of
the shadow set member or of the shadow set (represented by its virtual
unit name). Prior to using this qualifier, you can define the site
location in the SYLOGICALS.COM command procedure to simplify its use.
The valid range for
nnn is 1 through 255.
After you have applied this qualifier, the setting remains in
effect as long as the member is part of the shadow set. If the member
is removed from the shadow set and later returned, this qualifier must
be specified again
The following example shows the site locations defined, followed by
the use of the /SITE qualifier:
$ DEFINE/SYSTEM/EXEC ZKO 1
$ DEFINE/SYSTEM/EXEC LKG 2
$!
$! At the ZKO site ...
$ MOUNT/SYSTEM DSA0/SHAD=($1$DGA0:,$1$DGA1:) TEST
$ SET DEVICE/SITE=ZKO DSA0:
$!
$! At the LKG site ...
$ MOUNT/SYSTEM DSA0/SHAD=($1$DGA0,$1$DGA1) TEST
$ SET DEVICE/SITE=LKG DSA0:
$!
$! At both sites, the following would be used:
$ SET DEVICE/SITE=ZKO $1$DGA0:
$ SET DEVICE/SITE=LKG $1$DGA1:
|
/COPY_SOURCE (
ddcu:, DSA
nnnn:)
|
Controls whether one or both source members of a shadow set are used as
the source for read data during full copy operations, when a third
member is added to the shadow set. This only affects copy operations
that do not use DCD operations.
Some storage controllers, such as the HSG80, have a read-ahead
cache, which significantly improves single-disk read performance. Copy
operations normally alternate reads between the two source members,
which effectively nullifies the benefits of the read-ahead cache. This
qualifier lets you force all reads from a single source member for a
copy operation.
If the shadow set is specified, then all reads for full copy
operations will be performed from whichever disk is the current
"master" member, regardless of physical location of the disk.
If a member of the shadow set is specified, then that member will
be used as the source of all copy operations. This allows you to choose
a local source member, rather than a remote master member.
|
/ABORT_VIRTUAL_UNIT DSA
nnnn:
|
To use this qualifier, the shadow set must be in mount verification.
When you specify this qualifier, the shadow set aborts mount
verification immediately on the node from which the qualifier is
issued. This qualifier is intended to be used when it is known that the
unit cannot be recovered. Note that after this command completes, the
shadow set must still be dismounted. Use the following command to
dismount the shadow set:
$ DISMOUNT/ABORT DSA
nnnn
|
4.7.1 How to Use the Multiple-Site SET DEVICE and DISMOUNT Command Qualifiers
Figure 4-1 depicts a typical multiple-site cluster using Fibre
Channel. The figure illustrates the steps required to recover one site
manually when the site-to-site storage interconnect fails. These steps
must be taken for multiple-site OpenVMS Cluster systems that are
running:
- Earlier versions of OpenVMS (prior to OpenVMS Alpha Version 7.3-1)
that do not support MSCP failover to a served path
- Versions of OpenVMS Alpha that support MSCP failover to a served
path (Version 7.3-1 onward) but serve only a subset of their disks.
If you have chosen to serve only a subset of the disks in your
configuration, you must use this configuration method for site recovery
for the disks that are not served. One reason to serve only a subset of
your disks is that failover of the served disks, from a Fibre Channel
interconnect to the LAN interconnects and the inter-site link, can put
a very heavy load on these interconnects, which can seriously degrade
performance.
Figure 4-1 Multiple-Site OpenVMS Cluster System With FC and LAN
Interconnects
To prevent the shadowing driver from automatically recovering shadow
sets from connection-related failures, three steps must be taken prior
to any failure:
- Every device that is a member of a multiple-site shadow set must
have its MEMBER_TIMEOUT setting raised to a high value, using the
following command:
$ SET DEVICE /MEMBER_TIMEOUT= x ddcu:
|
This command will override the SHADOW_MBR_TMO value, which would
normally be used for a shadow set member. A value for x of
259200 would be a 72-hour wait time.
- Every shadow set that spans multiple sites must have its mount
verification timeout setting raised to a very high value, higher than
the MEMBER_TIMEOUT settings for each member of the shadow set.
Use
the following command to increase the mount verification timeout
setting for the shadow set:
$ SET DEVICE /MVTIMEOUT = y DSAnnnn
|
The y value of this command should always be greater than
the x value of the SET DEVICE/MEMBER_TIMEOUT= x ddcu:
command. The SET DEVICE /MVTIMEOUT = y command will
override the MVTIMEOUT value, which would normally be used for the
shadow set. A value for y of 262800 would be a 73 hour wait.
- Every shadow set and every shadow set member must have a site
qualifier. As already noted, a site qualifier will ensure that the read
cost is correctly set. The other critical factor is three-member shadow
sets. When they are being used, the site qualifier will ensure that the
master member of the shadow set will be properly maintained.
Figure 4-1 shows a shadow set DSA42, whose members are devices
$1$DGA1000 and $1$DGA2000. Systems at Site A or Site B have direct
access to all devices at both sites via Fibre Channel connections.
XYZZY is a theoretical point between the two sites. If the Fibre
Channel connection were to break at this point, each site could access
different "local" members of DSA42 without error.
For the purpose of this example, Site A will be the sole site chosen to
retain access to the shadow set.
The following steps must be taken to recover the shadow set at Site A.
- On Site A, issue the following command:
$ DISMOUNT /FORCE_REMOVAL= $1$DGA2000:
|
Once the command has completed, the shadow set will be available
for use only at site A.
- On Site B, issue the following command:
$ SET DEVICE /ABORT_VIRTUAL_UNIT DSA42:
|
Once the command has completed, the shadow set status will be
MntVerifyTimeout
.
- Next, issue the following command to free up the shadow set:
These steps must be taken for all affected multiple-site shadow
sets.
4.8 Removing Members and Dissolving Shadow Sets
You can remove shadow set members and dissolve shadow sets with the DCL
command DISMOUNT. You must have GRPNAM and SYSNAM user privileges to
dismount group and system volumes. The DISMOUNT command has the
following format:
DISMOUNT {device-name[:] virtual-unit-name}
|
The action taken differs depending on whether you specify an individual
shadow set member or the shadow set (by its virtual unit name) on the
DISMOUNT command:
- If you specify the device name of a shadow set member, only that
member is dismounted, and the remaining shadow set members continue
servicing I/O requests.
- If you specify a shadow set virtual unit, all shadow set members
are dismounted and the shadow set is dissolved.
To dismount a shadow set that is mounted across an OpenVMS Cluster
system, include the /CLUSTER qualifier with the DISMOUNT command. If
you dismount a shadow set without including the /CLUSTER qualifier,
only the node from which you issued the command dismounts the shadow
set. The shadow set remains operational on the other OpenVMS Cluster
nodes that have the shadow set mounted.
If the disks on your system are neither SCSI nor Fibre Channel disks,
you can use the /NOUNLOAD qualifier on the DISMOUNT command to prevent
the disk volume or volumes from spinning down. The devices remain in a
ready state. If you specify the /UNLOAD qualifier when dismounting a
virtual unit, the disk volumes are physically spun down after
the shadow set is dissolved. See the OpenVMS DCL Dictionary for more information
about using the DISMOUNT command and its qualifiers.
4.8.1 Removing Members from Shadow Sets
To remove an individual member from a shadow set, specify the name of
the physical device with the DISMOUNT command. For example:
When you dismount an individual shadow set member, all outstanding I/O
operations are completed and the member is removed from the set.
Starting with OpenVMS Alpha Version 7.3, the /FORCE_REMOVAL
ddcu: qualifier is available. If connectivity to a device has
been lost and the shadow set is in mount verification,
/FORCE_REMOVAL ddcu:
can be used to immediately expel a named shadow set member
(ddcu:) from the shadow set. If you omit this qualifier, the
device is not dismounted until mount verification completes. Note that
this qualifier cannot be used in conjunction with the /POLICY=MINICOPY
(=OPTIONAL) qualifier.
The device specified must be a member of a shadow set that is mounted
on the node where the command is issued.
This qualifier gives system managers greater control of shadow sets
whose members are located at different sites in an OpenVMS Cluster
configuration. SET DEVICE command qualifiers are also available for
specifying disaster-tolerant management attributes for shadow set
members, as described in Section 4.7.
Note
You cannot dismount a device if it is the only source member in a
shadow set. All shadow sets must have at least one valid source member.
If you try to dismount the only source member device, the DISMOUNT
command fails and returns the message:
%DISM-F-SRCMEM, Only source member of shadow set cannot be dismounted
|
The only way to dismount the last source member of a shadow set is to
dissolve the shadow set by specifying the virtual unit name on the
DISMOUNT command.
|
4.8.2 Dissolving Shadow Sets
You dissolve a shadow set by specifying its virtual
unit name with the DISMOUNT command. Specifying the virtual unit name
causes all members in the shadow set to be dismounted, thereby
dissolving the shadow set on the node that issues the DISMOUNT command.
The command in Example 4-9 includes the /CLUSTER qualifier to
dissolve the DSA36 shadow set across an OpenVMS Cluster system.
Example 4-9 Dissolving a Shadow Set |
$ DISMOUNT /CLUSTER DSA36:
|
Dismounting the virtual unit can be done only after all files are
closed, thereby ensuring that the dismounted disks are fully consistent
from a file system perspective. The dismount operation marks the shadow
set members as being properly dismounted so that a rebuild is not
required the next time the disks are mounted. However, if a merge
operation was either pending or in progress, then the dismount
operation marks the shadow set members as being improperly dismounted
and requires a merge operation.
Note
If you dismount a virtual unit while a copy operation is in progress
for the shadow set, the copy operation aborts and the shadow set is
dissolved. You receive OPCOM messages similar to those in the following
example:
$ DISMOUNT DSA9999:
%%%%%%%%%%% OPCOM 24-MAR-1990 20:29:57.52 %%%%%%%%%%%
$7$DUA6: (WRKDSK) has been removed from shadow set.
%%%%%%%%%%% OPCOM 24-MAR-1990 20:29:57.68 %%%%%%%%%%%
$7$DUA56: (PLADSK) has been removed from shadow set.
%%%%%%%%%%% OPCOM 24-MAR-1990 20:29:57.88 %%%%%%%%%%%
Message from user SYSTEM on SYSTMX
|
|
4.8.3 Dismounting and Remounting With One Less Member for Backup
As discussed in Section 4.8.2, the virtual unit can be dismounted on
the system or across an OpenVMS Cluster system. To ensure that the
virtual unit has been dismounted correctly, the following steps are
recommended:
- Issue the MOUNT/NOWRITE command, followed by the SHOW DEVICE
command, for example:
$ MOUNT/NOWRITE DSA42: /SHADOW=($4$DUA3,$4$DUA4,$4$DUA5) volume-label
$ SHOW DEVICE DSA42:
|
- Observe that the virtual unit is in a steady state; that is, all
members are consistent and no copy or merge operation is in progress.
If a copy or merge operation is in progress, you must wait for the
operation to complete.
- When the virtual unit is in a steady state, remove a member from
the shadow set with the DISMOUNT command, as shown in the following
example:
- Dismount the virtual unit and then remount it with one less member,
as shown by the following command:
$ MOUNT/SYS DSA42: /SHADOW=($4$DUA3,$4$DUA4) volume-label
|
The shadow set member that was removed can now be used for a backup
operation of the virtual unit.
Note
If your application must run continuously (that is, you cannot dismount
the virtual unit without disrupting your business), you can still
remove a shadow set member that you plan to return later to the shadow
set. Your application and recovery procedures must be designed to
ensure data consistency, as described in Section 7.12.
|
4.9 Displaying Information About Shadow Sets
You can use the DCL command SHOW DEVICE or the F$GETDVI lexical
function to get information about a shadow set virtual unit and the
physical volumes that make up the members. You can also use the System
Dump Analyzer (SDA) to get more information about shadow sets.
The following sections describe how to use these tools to examine
volume shadowing virtual units and shadow set members. See also the
OpenVMS DCL Dictionary for a full description of how to use the SHOW DEVICE
command and the F$GETDVI lexical function. See the OpenVMS Alpha System Analysis Tools Manual and
the OpenVMS VAX System Dump Analyzer Utility Manual for more information about how to use SDA on OpenVMS
Alpha and OpenVMS VAX systems, respectively.
You can use any of the SHOW DEVICE qualifiers when you examine shadow
sets (by specifying a shadow set's virtual unit name) or shadow set
members.
Note
Because shadow sets are created and maintained individually on each
node in the OpenVMS Cluster, the SHOW DEVICE display does not list
shadow sets that have been created on only remote nodes.
|
|