HP Volume Shadowing for OpenVMS: OpenVMS Version 8.4 > Chapter 6 Ensuring Shadow Set Consistency

Examples of Copy and Merge Operations

Example 6-1 shows what happens when you create a shadow set by mounting two disk volumes that have never been a part of a shadow set. Because neither disk volume has been a part of a shadow set, the Mount utility (MOUNT) assumes that the first disk named in the MOUNT command is the source member. When the Mount utility checks the volume labels on the disks, it discovers that they are different from each other, and the utility automatically performs a copy operation.

In this example, DSA0 is the virtual unit name, $1$DUA8 and $1$DUA89 are the names of the disk volumes, and SHADOWDISK is the volume label.

Example 6-1 Copy Operation: Creating a New Shadow Set

$MOUNT DSA0: /SHADOW=($1$DUA8:,$1$DUA89:) SHADOWDISK
%MOUNT-I-MOUNTED, SHADOWDISK    mounted on _DSA0:
%MOUNT-I-SHDWMEMSUCC, _$1$DUA8: (FUSS) is now a valid member
of the shadow set
%MOUNT-I-SHDWMEMCOPY, _$1$DUA89: (FUSS) added to the shadow
set with a copy operation

$SHOW DEVICE DSA0:

Device                  Device           Error    Volume         Free  Trans Mnt
Name                   Status           Count     Label        Blocks Count Cnt
DSA0:                   Mounted              0  SHADOWDISK      890937     1   1
$1$DUA8:        (FUSS)  ShadowSetMember      0  (member of DSA0:)

$1$DUA89:       (FUSS)  ShadowCopying        0  (copy trgt DSA0:  1% copied)

The SHOW DEVICE display in Example 6-1 shows the shadow set during the copy operation (transient state). Because the SCB information on $1$DUA8 and $1$DUA89 indicates that these devices have never been part of a shadow set, the shadowing software uses the first device named in the command line ($1$DUA8) as the source of the copy operation. The device status “ShadowSetMember” indicates that the $1$DUA8 device is a source shadow set member, and “ShadowCopying” indicates that the physical device $11$DUA89 is the target of a copy operation.

Suppose you want to add a new member to an existing shadow set, and the device you add is a previous member of this same shadow set. In this case, the volume label of the new member matches that of the current shadow set members, but the new member's MOUNT generation number is out of date compared with those of the current members. Thus, the Mount utility automatically performs a copy operation on that member.

Example 6-2 shows the format of the MOUNT command and MOUNT status messages returned when you add the $3$DIA12 device to the shadow set represented by the DSA9999 virtual unit. Notice that you do not need to list the member units currently in the shadow set on the MOUNT command line.

Example 6-2 Copy Operation: Adding a Member to an Existing Shadow Set

$MOUNT /SYSTEM DSA9999: /SHADOW=$3$DIA12: AXP_SYS_071
%MOUNT-I-MOUNTED, AXP_SYS_071 mounted on _DSA9999:
%MOUNT-I-SHDWMEMCOPY, _$3$DIA12: (SHAD03) added to the shadow
set with a copy operation

$SHOW DEVICE DSA9999:

Device                  Device           Error    Volume         Free  Trans Mnt
Name                   Status           Count     Label        Blocks Count Cnt
DSA9999:                Mounted              0  AXP_SYS_071     70610     1   1
$3$DIA7:      (BGFUSS)  ShadowSetMember      0  (member of DSA9999:)
$3$DIA5:      (SHAD03)  ShadowSetMember      0  (member of DSA9999:)

$3$DIA12:     (SHAD03)  ShadowCopying        0  (copy trgt DSA9999:  0% copied)

Example 6-3 shows what happens when a three-member shadow set is dissolved on one node and then is immediately remounted on another node. When the Mount utility checks the volume information on each member, it finds that the volume information is consistent across the shadow set. Thus, a copy operation is not necessary when the shadow set is mounted.

In Example 6-3, DSA10 is the virtual unit and $3$DUA10, $3$DUA11, and $3$DUA12 are the member volumes. The first part of the example displays the output from a SHOW DEVICE command, which shows that the shadow set is mounted and in a steady state. Then the user dismounts the DSA10 shadow set and immediately remounts it.

Example 6-3 No Copy Operation: Rebuilding a Shadow Set

$SHOW DEVICE D

Device                  Device           Error    Volume         Free  Trans Mnt
Name                   Status           Count     Label        Blocks Count Cnt
DSA10:                 Mounted              0  VAX_SYS_071      292971     1   1
$3$DUA10:    (MYNODE)  ShadowSetMember      0  (member of DSA10:)
$3$DUA11:    (MYNODE)  ShadowSetMember      0  (member of DSA10:)
$3$DUA12:    (MYNODE)  ShadowSetMember      0  (member of DSA10:)

$DISMOUNT /NOUNLOAD DSA10:
%%%%%%%%%%%  OPCOM  24-MAR-1997 20:26:41.40  %%%%%%%%%%%
$3$DUA10: (MYNODE) has been removed from shadow set.
%%%%%%%%%%%  OPCOM  24-MAR-1997 20:26:41.69  %%%%%%%%%%%
$3$DUA11: (MYNODE) has been removed from shadow set.
%%%%%%%%%%%  OPCOM  24-MAR-1997 20:26:41.69  %%%%%%%%%%%
$3$DUA12: (MYNODE) has been removed from shadow set.
%%%%%%%%%%%  OPCOM  24-MAR-1997 20:26:41.69  %%%%%%%%%%%

$MOUNT /SYSTEM DSA10: /SHADOW=($3$DUA10:, $3$DUA11:, $3$DUA12:) VAX_SYS_071
%MOUNT-I-MOUNTED, VAX_SYS_071 mounted on _DSA10:
%MOUNT-I-SHDWMEMSUCC, _$3$DUA10: (MYNODE) is now a valid member of
the shadow set
%MOUNT-I-SHDWMEMSUCC, _$3$DUA11: (MYNODE) is now a valid member of
the shadow set
%MOUNT-I-SHDWMEMSUCC, _$3$DUA12: (MYNODE) is now a valid member of
the shadow set
$

Example 6-4 shows the output from the SHOW DEVICE command at the time of the merge operation.

When a system fails, the volume information is left in a state that shows that each shadow set member was not properly dismounted. If you issue the MOUNT command again after the node reboots, the shadowing software automatically performs a merge operation on the shadow set.

Example 6-4 Merge Operation: Rebuilding a Shadow Set

$SHOW DEVICE DSA42:
Device                  Device           Error    Volume         Free  Trans Mnt
Name                   Status           Count     Label        Blocks Count Cnt
DSA42:                  Mounted              0    ATHRUZ        565997     1   1

$4$DUA2:     (MYNODE)   ShadowMergeMbr       0  (merging DSA42: 0% merged)
$4$DUA42:    (YRNODE)   ShadowMergeMbr       0  (merging DSA42: 0% merged)