TECHNICAL ARTICLES [ COMMUNICATOR 3000/XL XL RELEASE 2.1 ] MPE/iX Communicators
COMMUNICATOR 3000/XL XL RELEASE 2.1
Chapter 7 TECHNICAL ARTICLES
More About Mirrored Disk/XL
by Kendall Sutton
Commercial Systems Division
Mirrored Disk/XL features the ability to maintain two copies of all data
residing on a non-system volume set. Two physical disks comprise each
volume of the mirrored volume set, providing transparent protection
against disk failures as well as the ability to perform backup while
applications are accessing the data.
INITIALIZATION AND MAINTANENCE
On MPE XL, non-system volume sets are created with the utility Volutil.
Volutil has been enhanced to allow for the creation and maintenance of
mirrored volume sets as described below.
Creating a Mirrored Volume Set
The Volutil command NEWSET is used to create a volume set by initializing
the master volume. For mirrored volume sets, we are introducing a new
command, NEWMIRRSET, which is nearly the same as NEWSET but allows for
the specification of multiple ldevs. The syntax of the NEWMIRRSET is as
follows:
volutil: NEWMIRRSET [SNAME=]sname
[MASTER=]master
[LDEVS=](ldev, ldev)
[[PERM=]percent_perm]
[[TRANS=]percent_trans]
[[GEN=]gen_number]
[[CLASSES=](cname[[,cname]...])]
Below is an example of the command.
volutil: NEWMIRRSET example_set member1 (16, 17)
The Volutil command, NEWVOL, is used to add a volume to a volume set.
Again, we introduce a new command, NEWMIRRVOL, which allows multiple
ldevs to be specified for mirrored volume sets. Below is the syntax of
the command followed by an example of its use.
volutil: NEWMIRRVOL [VNAME=]sname:vname
[LDEVS=](ldev, ldev)
[[PERM=]percent_perm [TRANS=]percent_trans]
[[CLASSES=](cname[[,cname]...])]
volutil: NEWMIRRVOL example_set:member2 (14, 15)
Displaying Information
Information on volume sets is available both from the CI and from within
Volutil.
The CI command, :DSTAT, is used to display the status of disk drives on
the system. Below is a typical :DSTAT display.
:DSTAT
LDEV-TYPE STATUS VOLUME (VOLUME SET - GEN)
---------- --------- ---------------------------
14-07937 MASTER MEMBER1 (PRODUCTION_VOL_SET-0)
15-07937 MEMBER MEMBER2 (PRODUCTION_VOL_SET-0)
This display has been enhanced for mirrored volume sets. If
production_vol_set were a mirrored set, the display would look like this.
:DSTAT
LDEV-TYPE STATUS VOLUME (VOLUME SET - GEN)
---------- --------- ---------------------------
14-07937 MASTER-MD MEMBER1 (PRODUCTION_VOL_SET-0)
15-07937 MASTER-MD MEMBER1 (PRODUCTION_VOL_SET-0)
16-07937 MEMBER-MD MEMBER2 (PRODUCTION_VOL_SET-0)
17-07937 MEMBER-MD MEMBER2 (PRODUCTION_VOL_SET-0)
If one of the disks has failed and is no longer being used for I/O, the
display would look like this.
:DSTAT
LDEV-TYPE STATUS VOLUME (VOLUME SET - GEN)
---------- --------- ---------------------------
14-07937 MASTER-MD MEMBER1 (PRODUCTION_VOL_SET-0)
15-07937 MASTER-MD MEMBER1 (PRODUCTION_VOL_SET-0)
16-07937 *DISABL-MD MEMBER2 (PRODUCTION_VOL_SET-0)
17-07937 MEMBER-MD MEMBER2 (PRODUCTION_VOL_SET-0)
The user could then use the REPLACEMIRRVOL command (described below) to
replace the bad drive.
Volutil Commands
A new key word, MIRROR, has been added to the Volutil SHOWSET command.
When issued with INFO=MIRROR, the display will show information on the
mirrored partners. For example:
volutil: SHOWSET PRODUCTION_VOL_SET INFO=MIRROR
Volume Name Vol Status Mirr Status Ldev Mirr Ldev
----------- ---------- ----------- ---- ---------
MEMBER1 MASTER NORMAL 14 15
MEMBER1 MASTER NORMAL 15 14
MEMBER2 MEMBER NORMAL 16 17
MEMBER2 MEMBER NORMAL 17 16
This shows that all disks in the volume set are operating in normal
mirrored mode.
If one of the disks, say ldev 16, has failed and is no longer being used,
the display would look like this.
Volume Name Vol Status Mirr Status Ldev Mirr Ldev
----------- ---------- ----------- ---- ---------
MEMBER1 MASTER NORMAL 14 15
MEMBER1 MASTER NORMAL 15 14
MEMBER2 MEMBER DISABL 16 17
MEMBER2 MEMBER NON-MIRROR 17 16
Here we see that ldevs 14 and 15 are mirrored pairs in a normal mirroring
state. Ldev 16 is disabled, while its partner, ldev 17, is functioning
in a non-mirrored state.
Replacing A Partner Of A Mirrored Pair
When a partner of a mirrored pair has suffered a failure, and mirroring
has been disabled, the drive may be physically replaced or repaired. The
new disk may then replace the old one as a mirrored partner using the
REPLACEMIRRVOL command. For example:
volutil: REPLACEMIRRVOL production_vol_set:member2 16
This will initialize the new partner volume and begin the synchronization
process on it.
ONLINE BACKUP
Mirrored Disk/XL Online Backup uses mirrored disks to perform file backup
while allowing users to continue accessing those same files. A mirrored
volume set is "split" into two identical sets of data. One of the sets
is used for normal access and operation, while the other is used
exclusively for backup. When the backup is complete, the backup volumes
are copied over with the contents of the user volumes (which may have
undergone modifications). Normal disk mirroring resumes after this
point. The volume set is continuously available except during the time
it takes to close the volume set, split it, and remount it.
There are four steps to performing an online backup:
1. Executing a :VSCLOSE for the volume set while splitting it into
user volumes and backup volumes.
2. Executing a :VSOPEN to open the volume set in split mode.
(Applications may then be restarted.)
3. Storing the files from the backup volumes to tape.
4. Joining the volume set halves back together.
Splitting the Volume Set
The :VSCLOSE command with a new ;SPLIT option will be used to split the
volume set. For example, to close a volume set in preparation for online
backup, the user would enter the command:
:VSCLOSE PRODUCTION_VOL_SET; SPLIT
Mounting a Split Volume Set
The volume set is then opened in split mode with the :VSOPEN command as
follows:
:VSOPEN PRODUCTION_VOL_SET
This will mount the volume set in a split mode. Half of the volumes will
be available to applications in a normal manner. These are called the
"user" volumes. The other half, called the "backup" volumes, may be
accessed by the STORE program using a special option described below.
After the :VSOPEN, the DSTAT display would look like this.
LDEV-TYPE STATUS VOLUME (VOLUME SET - GEN)
---------- --------- ---------------------------
14-07937 MASTER-SU MEMBER1 (PRODUCTION_VOL_SET-0)
15-07937 MASTER-SB MEMBER1 (PRODUCTION_VOL_SET-0)
16-07937 MEMBER-SU MEMBER2 (PRODUCTION_VOL_SET-0)
17-07937 MEMBER-SB MEMBER2 (PRODUCTION_VOL_SET-0)
The "SU" indicates a split user volume and the "SB" indicates a split
backup volume.
Concurrent Backup from a Split Volume Set
After the volume set is split, files will be stored from the backup
volumes using the :STORE command with a new SPLITVS= parameter. Since
these are separate copies of files from those on the user volumes, users
can continue to create, modify, or purge files on the user volumes while
the backup is in progress. The tape produced by a split volume STORE is
fully compatible with that from a normal STORE.
In order to initiate the online backup the user may enter a command
similar to the following:
:STORE @.@.PROD;*TAPE;SPLITVS=PRODUCTION_VOL_SET
Joining a Split Volume Set
The Volutil program has a new command, JOINMIRRSET, which joins the user
and backup halves of a split volume set to make them mirrored again.
When the backup is complete, the user may enter the following:
volutil: JOINMIRRSET PRODUCTION_VOL_SET SOURCE=USER
This command will initiate the joining of the two halves of the volume
set. It specifies that the source volumes for the synchronization of the
volumes will be the user volumes.
Restoring files from Backup tape
Since the tape produced by a split volume backup is identical in format
to that from a normal STORE, no changes in operation are required to
restore the files from tape.
MPE/iX Communicators