During the life of a shadow set, the state of
any shadow set member relative to the rest of the members of the shadow
set can vary. The shadow set is considered to be in a steady state
when all of its members are known to contain identical data. Changes in the composition of the shadow set are inevitable
because:
Disk drives occasionally
need corrective maintenance.
New disks are added to
replace other disks.
System failures occur,
requiring merge operations to take place within the shadow set.
Controllers fail, requiring
maintenance.
System management functions,
such as backup, are required.
For example, suppose an operator dismounts a member
of a shadow set and then remounts the member back into the shadow
set. During the member's absence, the remaining members of the
shadow set may have experienced write operations. Thus, the information
on the member being remounted into the shadow set differs from the
information on the rest of the shadow set. Therefore, a copy (or minicopy)
operation is required.
As another example, consider a situation where
a shadow set is mounted by several systems in an OpenVMS Cluster configuration.
If one of those systems fails, the data on the members of the shadow
set may differ because of outstanding or incomplete write operations
issued by the failed system. The shadowing software resolves this
situation by performing a merge operation.
In any event, copy and merge operations allow
volume shadowing to preserve the consistency of the data written to
the shadow set. A shadow set is considered to be in a transient
state when one or more of its members are undergoing a
copy or a merge operation.
Additionally, volume shadowing maintains shadow
set consistency by:
Maintaining consistent
data on shadow set members by automatically detecting and replacing
bad blocks on one shadow set member and rewriting those bad blocks
with good data from another shadow set member.
Notifying all nodes when
a member is added or removed from a shadow set, and ensuring the shadow
set membership is consistent clusterwide.
Volume shadowing uses two internal mechanisms
to coordinate shadow set consistency:
Storage control blocks
(SCBs)
Volume shadowing uses a storage control
block (SCB) as a primary method for controlling shadow set membership.
Each physical disk contains an SCB in which the shadowing software
records the names of all the current members of the shadow set. Each
time the composition of the shadow set changes, the SCB on all members
is updated. This feature simplifies clusterwide membership coordination
and is also used by the MOUNT qualifier /INCLUDE to reconstruct a
shadow set.
Shadow set generation
number
Volume shadowing uses a shadow set
generation number as a primary method of determining shadow set member
validity and status. A shadow set generation number is an incrementing
value that is stored on every member of a shadow set. Each time a
membership change occurs to the shadow set (members are mounted, dismounted,
or fail), the generation number on the remaining members is incremented.
Thus, if a shadow set's generation number is 100 and a member
is dismounted from the set, the generation numbers on the remaining
members are incremented to 101. The removed member's generation
number remains at 100. When mounting shadow sets, the shadowing software
uses the generation numbers, found in the SCB on the physical units,
to determine the need for and direction of copy operations.
Table 6-1 lists
some of the information contained in the SCB.
Table 6-1 Information in the Storage Control Block (SCB)
SCB Information | Function |
---|
Volume
label | Identifies a unique name for the
volume. Every member of a shadow set must use the same volume label. |
BACKUP
revision number | A BACKUP/IMAGE restoration
rearranges the location of data on a volume and sets a revision number
to record this change. The Mount utility (MOUNT) checks the revision
number of the proposed shadow set member against the numbers on current
or other proposed shadow set members. If the revision number differs,
the shadowing software determines whether a copy or merge operation
is required to bring the data on the less current members up to date. |
Volume
shadowing generation number | When a member
joins a shadow set, it is marked with a volume shadowing generation
number. You can zero the generation number by using the /OVERRIDE=SHADOW_MEMBERSHIP
qualifier with the MOUNT command. |
Mount and dismount
status | The SCB mount status
field is used as a flag that is set when a volume is mounted and cleared
when it is dismounted. There is also a count of the number of nodes
that have mounted the shadow set write-enabled. The MOUNT command
checks this field when a disk is mounted. If the flag is set, this
indicates that the disk volume was incorrectly dismounted. This occurs
in the event of system failure. When mounting shadow sets that were
incorrectly dismounted, or where the write count field is not correct,
the shadowing software automatically initiates merge operations. |
Upon receiving a command to mount a shadow set,
the volume shadowing software immediately determines whether a copy
or a merge operation is required; if either is required, the software
automatically performs the 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 when you use the
MOUNT command. To disable performing any copy operations, use the
/NOCOPY qualifier. If you mount a shadow set interactively, use the
/CONFIRM qualifier to instruct MOUNT to display the targets of copy
operations and request permission before the operations are performed.
When you dismount an individual shadow set member,
you produce a situation similar to a hardware disk failure. Because
files remain open on the virtual unit, the removed physical unit is
marked as not being properly dismounted.
After one of the devices is removed from a shadow
set, the remaining shadow set members have their generation number
incremented, identifying them as being more current than the former
shadow set member. This generation number aids in determining the
correct copy operation if you remount the member into a shadow set.