The disaster recovery plan is organized into stanzas, which you can break out into multiple useful files.
You can use an awk script procedure or an editor to break out the stanzas in the disaster recovery plan file into individual files.
An example procedure, planexpl.awk.smp, is shipped with the DRM feature and is located in /usr/lpp/adsmserv/bin/ or wherever the server resides. You can modify this procedure for your installation.
The disaster recovery plan stanzas can be categorized as follows:
Note: | The RECOVERY.SCRIPT.DISASTER.RECOVERY.MODE and RECOVERY.SCRIPT.NORMAL.MODE stanzas contain the scripts that invoke the scripts and macros contained in the other stanzas. |
Table 22 lists the recovery plan file stanzas, and indicates what type of administrative processing is required during set up, routine operations, and disaster recovery. The table also indicates whether the stanza contains a macro, a script, or a configuration file.
Note: | In the column "Admin. Action During Setup or Periodic Updates," the "--" means that DRM automatically collects this information for the file. |
Table 22. Administrative Tasks Associated with the Disaster Recovery Plan File
Stanza Name | Admin. Action During Setup or Periodic Updates | Recommended Admin. Action During Routine Processing | Admin. Action During Disaster Recovery |
---|---|---|---|
PLANFILE.DESCRIPTION | -- | -- | -- |
PLANFILE.TABLE.OF.CONTENTS | -- | -- | -- |
SERVER.REQUIREMENTS | -- | -- | -- |
RECOVERY.INSTRUCTIONS.GENERAL | Optionally edit source file associated with stanza | -- | -- |
RECOVERY.INSTRUCTIONS.OFFSITE | Optionally edit source file associated with stanza | -- | -- |
RECOVERY.INSTRUCTIONS.INSTALL | Optionally edit source file associated with stanza | -- | -- |
RECOVERY.INSTRUCTIONS.DATABASE | Optionally edit source file associated with stanza | -- | -- |
RECOVERY.INSTRUCTIONS.STGPOOL | Optionally edit source file associated with stanza | -- | -- |
RECOVERY.VOLUMES.REQUIRED | -- | MOVE DRMEDIA | -- |
RECOVERY.DEVICES.REQUIRED | -- | -- | -- |
RECOVERY.SCRIPT.DISASTER.RECOVERY.MODE script | -- | -- | Optionally edit/execute |
RECOVERY.SCRIPT.NORMAL.MODE script | -- | -- | Optionally edit/execute |
LOGANDDB.VOLUMES.CREATE script | -- | -- | Optionally edit/execute |
LOG.VOLUMES | -- | -- | Optionally edit/copy |
DB.VOLUMES | -- | -- | Optionally edit/copy |
LOGANDDB.VOLUMES.INSTALL script | -- | -- | Optionally edit/execute |
LICENSE.REGISTRATION macro | -- | -- | Optionally edit/execute |
COPYSTGPOOL.VOLUMES.AVAILABLE macro | -- | MOVE DRMEDIA | Optionally edit/execute |
COPYSTGPOOL.VOLUMES.DESTROYED macro | -- | MOVE DRMEDIA | Optionally edit/execute |
PRIMARY.VOLUMES.DESTROYED macro | -- | -- | Optionally edit/execute |
PRIMARY.VOLUMES.REPLACEMENT.CREATE script | -- | -- | Optionally edit/execute |
PRIMARY.VOLUMES.REPLACEMENT macro | -- | -- | Optionally edit/execute |
STGPOOLS.RESTORE macro | -- | -- | Optionally edit/execute |
VOLUME.HISTORY.FILE configuration file | -- | -- | Optionally copy |
DEVICE.CONFIGURATION.FILE configuration file | -- | -- | Optionally edit/copy |
DSMSERV.OPT.FILE configuration file | -- | -- | Optionally edit/copy |
LICENSE.INFORMATION | -- | -- | -- |
MACHINE.GENERAL.INFORMATION | Optionally issue DEFINE MACHINE ADSMSERVER=YES | -- | -- |
MACHINE.RECOVERY.INSTRUCTIONS | Optionally issue INSERT MACHINE RECOVERYINSTRUCTIONS | -- | -- |
MACHINE.RECOVERY.CHARACTERISTICS | Optionally issue INSERT MACHINE CHARACTERISTICS | -- | -- |
MACHINE.RECOVERY.MEDIA | Optionally issue DEFINE RECOVERYMEDIA and DEFINE RECMEDMACHASSOCIATION | -- | -- |
This section contains an example of a disaster recovery plan file and information about each stanza. The disaster recovery plan file has been divided into separate figures that correlate to the descriptions of specific stanzas within each figure.
Figure 66. Description and Table of Contents
*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* begin PLANFILE.DESCRIPTION Recovery Plan for ADSM Server DESIGN_DEPARTMENT Created by DRM PREPARE on 02/11/1998 10:20:34 ADSM Server for AIX-RS/6000 - Version 3, Release 1, Level x.x/x.x end PLANFILE.DESCRIPTION *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* begin PLANFILE.TABLE.OF.CONTENTS PLANFILE.DESCRIPTION PLANFILE.TABLE.OF.CONTENTS Server Recovery Stanzas: SERVER.REQUIREMENTS RECOVERY.INSTRUCTIONS.GENERAL RECOVERY.INSTRUCTIONS.OFFSITE RECOVERY.INSTRUCTIONS.INSTALL RECOVERY.VOLUMES.REQUIRED RECOVERY.DEVICES.REQUIRED RECOVERY.SCRIPT.DISASTER.RECOVERY.MODE script RECOVERY.SCRIPT.NORMAL.MODE script LOGANDDB.VOLUMES.CREATE script LOG.VOLUMES DB.VOLUMES LOGANDDB.VOLUMES.INSTALL script LICENSE.REGISTRATION macro COPYSTGPOOL.VOLUMES.AVAILABLE macro COPYSTGPOOL.VOLUMES.DESTROYED macro PRIMARY.VOLUMES.DESTROYED script PRIMARY.VOLUMES.REPLACEMENT.CREATE script PRIMARY.VOLUMES.REPLACEMENT macro STGPOOLS.RESTORE macro VOLUME.HISTORY.FILE DEVICE.CONFIGURATION.FILE DSMSERV.OPT.FILE LICENSE.INFORMATION Machine Description Stanzas: MACHINE.GENERAL.INFORMATION MACHINE.RECOVERY.INSTRUCTIONS MACHINE.CHARACTERISTICS MACHINE.RECOVERY.MEDIA.REQUIRED end PLANFILE.TABLE.OF.CONTENTS *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* |
This stanza also identifies the directory where the server executable resided when the server was started. If the server executable is in a different directory on the replacement machine, you must edit the plan file to account for this change.
Note: | If you use links to the server executable file, you must create the links on
the replacement machine or modify the following plan file stanzas:
|
Figure 67. Server Requirements
*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* begin SERVER.REQUIREMENTS Database Requirements Summary: Available Space (MB): 20 Assigned Capacity (MB): 20 Pct. Utilization: 2.2 Maximum Pct. Utilization: 2.2 Physical Volumes: 2 Recovery Log Requirements Summary: Available Space (MB): 20 Assigned Capacity (MB): 20 Pct. Utilization: 4.4 Maximum Pct. Utilization: 4.8 Physical Volumes: 2 ADSM Server Executable Location: /usr/lpp/adsmserv/bin end SERVER.REQUIREMENTS *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* |
The administrator enters recovery instructions into source files that the PREPARE command includes in the plan files. For more information on editing the source file, see "Customizing the Site-Specific Recovery Instructions".
Note: | In the following stanza descriptions, instructionsprefix represents the prefix portion of the file name. See "Prefix for Recovery Instructions" for details. |
Figure 68. Recovery Instructions
*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* begin RECOVERY.INSTRUCTIONS.GENERAL This ADSM server contains the backup and archive data for FileRight Company accounts receivable system. It also is used by various end users in the finance and materials distribution organizations. The storage administrator in charge of this server is Jane Doe 004-001-0006. If a disaster is declared, here is the outline of steps that must be completed. 1. Determine the recovery site. Our alternate recovery site vendor is IBM BRS in Tampa, Fl, USA 213-000-0007. 2. Get the list of required recovery volumes from this recovery plan file and contact our offsite vault so that they can start pulling the volumes for transfer to the recovery site. 3. etc... end RECOVERY.INSTRUCTIONS.GENERAL *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* begin RECOVERY.INSTRUCTIONS.OFFSITE Our offsite vaulting vendor is OffsiteVault Inc. Their telephone number is 514-555-2341. Our account rep is Joe Smith. Our account number is 1239992. Their address is ... Here is a map to their warehouse ... Our courier is ... end RECOVERY.INSTRUCTIONS.OFFSITE *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* begin RECOVERY.INSTRUCTIONS.INSTALL The base ADSM server system is AIX 4.1.2 running on an RS6K model 320. Use mksysb volume serial number svrbas to restore this system image. A copy of this mksysb tape is stored at the vault. There is also a copy in bldg 24 room 4 cabinet a. The image includes the ADSM server code. The system programmer responsible for this image is Fred Myers. Following are the instructions to do a mksysb based OS install: end RECOVERY.INSTRUCTIONS.INSTALL *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* |
If you are using a nonvirtual volume environment and issuing the MOVE DRMEDIA command for offsite recovery media management, a blank location field means that the volumes are onsite and available to the ADSM server. This volume list can be used as the basis of periodic audits for the inventory of volumes at the courier and offsite vault. You can use the list to collect the required volumes before recovering the server.
For virtual volumes, the location field contains the target server name.
Figure 69. Volume and Device Requirements
*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* begin RECOVERY.VOLUMES.REQUIRED Volumes required for data base restore Location = OffsiteVault Inc. Device Class = LIB8MM Volume Name = TPBK08 Location = OffsiteVault Inc. Device Class = LIB8MM Volume Name = TPBK06 Volumes required for storage pool restore Location = OffsiteVault Inc. Copy Storage Pool = CSTORAGEPF Device Class = LIB8MM Volume Name = TPBK05 TPBK07 end RECOVERY.VOLUMES.REQUIRED *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* begin RECOVERY.DEVICES.REQUIRED Purpose: Description of the devices required to read the volumes listed in the recovery volumes required stanza. Device Class Name: LIB8MM Device Access Strategy: Sequential Storage Pool Count: 2 Device Type: 8MM Format: DRIVE Est/Max Capacity (MB): 4.0 Mount Limit: 2 Mount Wait (min): 60 Mount Retention (min): 10 Label Prefix: ADSM Library: RLLIB Directory: Last Update by (administrator): Bill Last Update Date/Time: 12/11/1997 10:18:34 end RECOVERY.DEVICES.REQUIRED *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* |
The RECOVERY.SCRIPT.DISASTER.RECOVERY.MODE script often requires modification at the recovery site because of differences between the original and the replacement systems. This script provides the following:
Note: | Any log volumes or database volumes having the same names as those identified in the plan are removed when this script is executed (see LOGANDDB.VOLUMES.CREATE). In most disaster recovery situations, a new machine is acquired and the operating system and the ADSM server are installed. When this script is executed, it is assumed that this new machine does not contain any ADSM data in log or database volumes. If there are special circumstances where, for some reason (for example, testing), you have created a log volume or a database volume and want to preserve the contents, you then must take some action such as renaming the volume or copying the contents elsewhere before executing this script. |
To help understand the operations being performed in this script, see "Backup and Recovery Scenarios".
To invoke this script, the following positional parameters must be specified:
Note: | The default location for dsm.sys is /usr/lpp/adsm/bin. |
For example, to invoke this script using an administrator ID of don, password of mox, server name of prodadsm, enter the following command:
planprefix/RECOVERY.SCRIPT.DISASTER.RECOVERY.MODE don mox prodadsm
For additional information on planprefix, see "Prefix for Recovery Plan File".
Figure 70. Disaster Recovery Mode Script
*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* begin RECOVERY.SCRIPT.DISASTER.RECOVERY.MODE script #!/bin/ksh set -x # Purpose: This script contains the steps required to recover the server # to the point where client restore requests can be satisfied # directly from available copy storage pool volumes. # Note: This script assumes that all volumes necessary for the restore have # been retrieved from the vault and are available. This script assumes # the recovery environment is compatible (essentially the same) as the # original. Any deviations require modification to this script and the # macros and shell scripts it runs. Alternatively, you can use this # script as a guide, and manually execute each step. if [ -z "$1" -o -z "$2" -o -z "$3" ] then print "Specify the following positional parameters:" print "administrative client ID, password, and server ID." print "Script stopped." exit fi # Set the ADSM server working directory cd /usr/lpp/adsmserv/bin/ # Restore server options, volume history, device configuration files. cp /prepare/DSMSERV.OPT.FILE \ /usr/lpp/adsmserv/bin/dsmserv.optx cp /prepare/VOLUME.HISTORY.FILE \ /usr/lpp/adsmserv/bin/volhistory.txtx cp /prepare/DEVICE.CONFIGURATION.FILE \ /usr/lpp/adsmserv/bin/devconfig.txtx export DSMSERV_CONFIG=/usr/lpp/adsmserv/bin/dsmserv.optx export DSMSERV_DIR=/opt/adsmserv/bin # Create and format log and database files. /prepare/LOGANDDB.VOLUMES.CREATE 2>&1 \ | tee /prepare/LOGANDDB.VOLUMES.CREATE.log # Initialize the log and database files. /prepare/LOGANDDB.VOLUMES.INSTALL 2>&1 \ | tee /prepare/LOGANDDB.VOLUMES.INSTALL.log # Restore the ADSM server database to latest version backed up per the # volume history file. /usr/lpp/adsmserv/bin/dsmserv restore db todate=08/11/1996 totime=10:20:22 # Start the server. nohup /usr/lpp/adsmserv/bin/dsmserv & print Please start new ADSM server console with command dsmadmc -CONSOLE. print Press enter to continue recovery script execution. read pause # Register ADSM Server Licenses. dsmadmc -id=$1 -pass=$2 -serv=$3 -ITEMCOMMIT -OUTFILE=/prepare/LICENSE.REGISTRATION.log macro /prepare/LICENSE.REGISTRATION.mac # Tell ADSM Server these copy storage pool volumes are available for use. # Recovery Administrator: Remove from macro any volumes not obtained from vault. dsmadmc -id=$1 -pass=$2 -serv=$3 -ITEMCOMMIT \ -OUTFILE=/prepare/COPYSTGPOOL.VOLUMES.AVAILABLE.log \ macro /prepare/COPYSTGPOOL.VOLUMES.AVAILABLE # Volumes in this macro were not marked as 'offsite' at the time # PREPARE ran. They were likely destroyed in the disaster. # Recovery Administrator: Remove from macro any volumes not destroyed. dsmadmc -id=$1 -pass=$2 -serv=$3 -ITEMCOMMIT \ -OUTFILE=/prepare/COPYSTGPOOL.VOLUMES.DESTROYED.log \ macro /prepare/COPYSTGPOOL.VOLUMES.DESTROYED # Mark primary storage pool volumes as ACCESS=DESTROYED. # Recovery administrator: Remove from macro any volumes not destroyed. dsmadmc -id=$1 -pass=$2 -serv=$3 -ITEMCOMMIT \ -OUTFILE=/prepare/PRIMARY.VOLUMES.DESTROYED.log \ macro /prepare/PRIMARY.VOLUMES.DESTROYED end RECOVERY.SCRIPT.DISASTER.RECOVERY.MODE script *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* |
At the completion of these steps, client requests for file restores are satisfied from primary storage pool volumes. Clients should also be able to resume file backup, archive, and migration functions.
This script will often need modification at the recovery site because of differences between the original and the replacement systems.
This script invokes the script contained in the following stanza:
This script also invokes the ADSM macros contained in stanzas:
To help understand the operations being performed in this script, see "Backup and Recovery Scenarios".
To invoke this script, the following positional parameters must be specified:
For example, to invoke this script using an administrator ID of don, password of mox, server name of prodadsm, enter the following command:
planprefix/RECOVERY.SCRIPT.NORMAL.MODE don mox prodadsm
For additional information on planprefix, see "Prefix for Recovery Plan File".
*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* begin RECOVERY.SCRIPT.NORMAL.MODE script #!/bin/ksh set -x # Purpose: This script contains the steps required to recover the server # primary storage pools. This mode allows you to return the # copy storage pool volumes to the vault and to run the # server as normal. # Note: This script assumes that all volumes necessary for the restore # have been retrieved from the vault and are available. This script # assumes the recovery environment is compatible (essentially the # same) as the original. Any deviations require modification to this # script and the macros and shell scripts it runs. Alternatively, # you can use this script as a guide, and manually execute each step. if [ -z "$1" -o -z "$2" -o -z "$3" ] then print "Specify the following positional parameters:" print "administrative client ID, password, and server ID." print "Script stopped." exit fi # Create replacement volumes in the primary storage pools (If any # are implemented as disk but not logical volume.) # Recovery administrator: Edit script for your replacement volumes. /prepare/PRIMARY.VOLUMES.REPLACEMENT.CREATE 2>&1 \ | tee /prepare/PRIMARY.VOLUMES.REPLACEMENT.CREATE.log # Define replacement volumes in the primary storage pools. Must # have different name than original. # Recovery administrator: Edit macro for your replacement volumes. dsmadmc -id=$1 -pass=$2 -serv=$3 -ITEMCOMMIT \ -OUTFILE=/prepare/PRIMARY.VOLUMES.REPLACEMENT.log \ macro /prepare/PRIMARY.VOLUMES.REPLACEMENT # Restore the primary storage pools from the copy storage pools. dsmadmc -id=$1 -pass=$2 -serv=$3 -ITEMCOMMIT \ -OUTFILE=/prepare/STGPOOLS.RESTORE.log \ macro /prepare/STGPOOLS.RESTORE end RECOVERY.SCRIPT.NORMAL.MODE script *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* |
The PREPARE command assumes that the volume formatting program (DSMFMT) resides in the same directory as the server executable indicated in the stanza SERVER.REQUIREMENTS.
This script is invoked by the RECOVERY.SCRIPT.DISASTER.RECOVERY.MODE script.
The contents of this stanza must be placed into a separate file which will be used by the LOGANDDB.VOLUMES.INSTALL script.
The contents of this stanza must be placed into a separate file which will be used by the LOGANDDB.VOLUMES.INSTALL script.
This script is invoked by the RECOVERY.SCRIPT.DISASTER.RECOVERY.MODE script.
Figure 72. Create and Install Database and Recovery Log Volumes Scripts
*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* begin LOGANDDB.VOLUMES.CREATE script #!/bin/ksh set -x # Purpose: Create log and database volumes. # Recovery Administrator: Run this to format ADSM server log and # database volumes. print Remove database volume /usr/lpp/adsmserv/bin/db01x. rm -f /usr/lpp/adsmserv/bin/db01x print Create ADSM database volume /usr/lpp/adsmserv/bin/db01x 12M /usr/lpp/adsmserv/bin/dsmfmt -m -db /usr/lpp/adsmserv/bin/db01x 12M print Remove database volume /usr/lpp/adsmserv/bin/db02x. rm -f /usr/lpp/adsmserv/bin/db02x print Create ADSM database volume /usr/lpp/adsmserv/bin/db02x 8M /usr/lpp/adsmserv/bin/dsmfmt -m -db /usr/lpp/adsmserv/bin/db02x 8 print Remove log volume /usr/lpp/adsmserv/bin/lg01x. rm -f /usr/lpp/adsmserv/bin/lg01x print Create ADSM log volume /usr/lpp/adsmserv/bin/lg01x 12M /usr/lpp/adsmserv/bin/dsmfmt -m -log /usr/lpp/adsmserv/bin/lg01x 12M print Remove log volume /usr/lpp/adsmserv/bin/lg02x. rm -f /usr/lpp/adsmserv/bin/lg02x print Create ADSM log volume /usr/lpp/adsmserv/bin/lg02x 8M /usr/lpp/adsmserv/bin/dsmfmt -m -log /usr/lpp/adsmserv/bin/lg02x 8 end LOGANDDB.VOLUMES.CREATE script *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* begin LOG.VOLUMES /usr/lpp/adsmserv/bin/lg01x /usr/lpp/adsmserv/bin/lg02x end LOG.VOLUMES *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* begin DB.VOLUMES /usr/lpp/adsmserv/bin/db01x /usr/lpp/adsmserv/bin/db02x end DB.VOLUMES *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* begin LOGANDDB.VOLUMES.INSTALL script #!/bin/ksh set -x # Purpose: Initialize the log and database volumes. # Recovery Administrator: Run this to initialize an ADSM server. /usr/lpp/adsmserv/bin/dsmserv install \ 2 FILE:/prepare/LOG.VOLUMES \ 2 FILE:/prepare/DB.VOLUMES end LOGANDDB.VOLUMES.INSTALL script *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* |
This macro is invoked by the RECOVERY.SCRIPT.DISASTER.RECOVERY.MODE script.
Figure 73. License Registration Macro
*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* begin LICENSE.REGISTRATION macro /* Purpose: Register the ADSM Server licenses by specifying the names */ /* of the enrollment certificate files necessary to recreate the */ /* licenses that existed in the ADSM server. */ /* Recovery Administrator: Review licenses and add or delete licenses */ /* as necessary. */ register license file(50client.lic) register license file(network.lic) register license file(drm.lic) register license file(virtvols.lic) end LICENSE.REGISTRATION macro *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* |
This macro is invoked by the RECOVERY.SCRIPT.DISASTER.RECOVERY.MODE script.
After a disaster, compare the copy storage pool volumes listed in this stanza with the volumes that were moved back onsite. You should remove entries from this stanza for any missing volumes.
This macro is invoked by the RECOVERY.SCRIPT.DISASTER.RECOVERY.MODE script.
After a disaster, compare the copy storage pool volumes listed in this stanza with the volumes that were left onsite. If you have any of the volumes and they are usable, you should remove their entries from this stanza.
This stanza does not include copy storage pool virtual volumes, because these volumes are considered offsite, and therefore they have not been destroyed in a disaster.
Figure 74. Copy Storage Pool Volumes Macros
*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* begin COPYSTGPOOL.VOLUMES.AVAILABLE macro /* Purpose: Mark copy storage pool volumes as available for use in recovery. */ /* Recovery Administrator: Remove any volumes that have not been obtained */ /* from the vault or are not available for any reason. */ /* Note: It is possible to use the mass update capability of the ADSM */ /* UPDATE command instead of issuing an update for each volume. However, */ /* the 'update by volume' technique used here allows you to select */ /* a subset of volumes to be processed. */ upd vol TPBK05 acc=READW wherestg=CSTORAGEPF upd vol TPBK07 acc=READW wherestg=CSTORAGEPF end COPYSTGPOOL.VOLUMES.AVAILABLE macro *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* begin COPYSTGPOOL.VOLUMES.DESTROYED macro /* Purpose: Mark destroyed copy storage pool volumes as unavailable. */ /* Volumes in this macro were not marked as 'offsite' at the time the */ /* PREPARE ran. They were likely destroyed in the disaster. */ /* Recovery Administrator: Remove any volumes that were not destroyed. */ upd vol c:\win32app\ibm\adsm\server2\stg\bk02 acc=DESTROYED wherestg=BACKUPPOOL upd vol c:\win32app\ibm\adsm\server2\stg\bk01x acc=DESTROYED wherestg=BACKUPPOOL upd vol c:\win32app\ibm\adsm\server2\stg\bk03 acc=DESTROYED wherestg= BACKUPPOOLF upd vol BACK4X acc=DESTROYED wherestg=BACKUPPOOLT end COPYSTGPOOL.VOLUMES.DESTROYED macro *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* |
This macro is invoked by the RECOVERY.SCRIPT.DISASTER.RECOVERY.MODE script.
In the event of a disaster, compare the primary storage pool volumes listed in this stanza with the volumes that were onsite. If you have any of the volumes and they are usable, you should remove their entries from here.
This stanza does not include primary storage pool virtual volumes, because these volumes are considered offsite, and therefore they have not been destroyed in a disaster.
The PREPARE command assumes that the volume formatting program (DSMFMT) resides in the same directory as the server executable indicated in the stanza SERVER.REQUIREMENTS.
This script is invoked by the RECOVERY.SCRIPT.NORMAL.MODE script.
The SET DRMPLANVPOSTFIX command adds a character to the end of the names of the original volumes listed in this stanza. This character does the following:
Notes:
This stanza does not include primary storage pool virtual volumes, because these volumes are considered offsite, and therefore they have not been destroyed in a disaster.
This macro is invoked by the RECOVERY.SCRIPT.NORMAL.MODE script.
Primary storage pool volumes that have entries in this stanza possess at least one of the following three characteristics:
The SET DRMPLANVPOSTFIX command adds a character to the end of the names of the original volumes listed in this stanza. This character does the following:
Notes:
This stanza does not include primary storage pool virtual volumes, because these volumes are considered offsite, and therefore they have not been destroyed in a disaster.
Figure 75. Primary Storage Volumes Macro and Script
*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* begin PRIMARY.VOLUMES.DESTROYED macro /* Purpose: Mark primary storage pool volumes as ACCESS=DESTROYED. */ /* Recovery administrator: Delete any volumes listed here */ /* that you do not want to recover. */ /* Note: It is possible to use the mass update capability of the ADSM */ /* UPDATE command instead of issuing an update for each volume. However*/ /* the 'update by volume' technique used here allows you to select */ /* a subset of volumes to be marked as destroyed. */ upd vol /usr/lpp/adsmserv/bin/bk02 acc=DESTROYED wherestg=BACKUPPOOL upd vol /usr/lpp/adsmserv/bin/bk01x acc=DESTROYED wherestg=BACKUPPOOL upd vol /usr/lpp/adsmserv/bin/bk03 acc=DESTROYED wherestg= BACKUPPOOLF upd vol BACK4X acc=DESTROYED wherestg=BACKUPPOOLT end PRIMARY.VOLUMES.DESTROYED macro *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* begin PRIMARY.VOLUMES.REPLACEMENT.CREATE script #!/bin/ksh set -x # Purpose: Create replacement volumes for primary storage pools that # use device class DISK. # Recovery administrator: Edit this section for your replacement # volume names. New name must be unique, i.e. different from any # original or other new name. print Replace /usr/lpp/adsmserv/bin/bk02 DISK 16M in BACKUPPOOL /usr/lpp/adsmserv/bin/dsmfmt -m -data /usr/lpp/adsmserv/bin/bk02@ 16 print Replace /usr/lpp/adsmserv/bin/bk01x DISK 5M in BACKUPPOOL /usr/lpp/adsmserv/bin/dsmfmt -m -data /usr/lpp/adsmserv/bin/bk01x@ 5 end PRIMARY.VOLUMES.REPLACEMENT.CREATE script *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* begin PRIMARY.VOLUMES.REPLACEMENT macro /* Purpose: Define replacement primary storage pool volumes for either: */ /* 1. Original volume in a storage pool whose device class was DISK. */ /* 2. Original volume in a storage pool with MAXSCRATCH=0. */ /* 3. Original volume in a storage pool and volume scratch=no. */ /* Recovery administrator: Edit this section for your replacement */ /* volume names. New name must be unique, i.e. different from any */ /* original or other new name. */ /* Replace /usr/lpp/adsmserv/bin/bk02 DISK 16M in BACKUPPOOL */ def vol BACKUPPOOL /usr/lpp/adsmserv/bin/bk02@ acc=READW /* Replace /usr/lpp/adsmserv/bin/bk01x DISK 5M in BACKUPPOOL */ def vol BACKUPPOOL /usr/lpp/adsmserv/bin/bk01x@ acc=READW /* Replace /usr/lpp/adsmserv/bin/bk03 FILES 4M in BACKUPPOOLF */ def vol BACKUPPOOLF /usr/lpp/adsmserv/bin/bk03@ acc=READW /* Replace BACK4X COOL8MM 0M in BACKUPPOOLT */ def vol BACKUPPOOLT BACK4X@ acc=READW end PRIMARY.VOLUMES.REPLACEMENT macro *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* |
This macro is invoked by the RECOVERY.SCRIPT.NORMAL.MODE script.
This stanza does not include primary storage pool virtual volumes, because these volumes are considered offsite, and therefore they have not been destroyed in a disaster.
Figure 76. Storage Pools Restore Macro
*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* begin STGPOOLS.RESTORE macro /* Purpose: Restore the primary storage pools from copy storage pool(s). */ /* Recovery Administrator: Delete entries for any primary storage pools */ /* that you do not want to restore. */ restore stgp ARCHIVEPOOL restore stgp BACKUPPOOL restore stgp BACKUPPOOLF restore stgp BACKUPPOOLT restore stgp SPACEMGPOOL end STGPOOLS.RESTORE macro *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* |
The following rules are used to determine where the volume history file is placed at restore time:
Note: | The volhprefix is set based on the following:
|
If a fully qualified file name was not specified in the server options file for the VOLUMEHISTORY option, the PREPARE command adds it to the DSMSERV.OPT.FILE stanza.
At recovery time, the contents of this stanza may need to be modified if, for example, the original site uses an automated tape library and the recovery site does not use an automated tape library. For information about updating the device configuration file, see "Recreating a Device Configuration File".
The following rules are used to determine where the device configuration file is placed at restore time:
Note on the devcprefix: | The devcprefix is set based on the following:
|
If a fully qualified file name was not specified for the DEVCONFIG option in the server options file, PREPARE adds it to the stanza DSMSERV.OPT.FILE.
This stanza is referenced by the RECOVERY.SCRIPT.DISASTER.RECOVERY.MODE script.
Note: | The following figure contains text strings that are too long to display in the hardcopy or softcopy publications. The long text strings have a plus symbol (+) at the end of the string to indicate that they continue on the next line. |
Figure 77. Configuration Files
*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* begin VOLUME.HISTORY.FILE ***************************************************************************************************** * * IBM AdStar Distributed Storage Manager Sequential Volume Usage History * Updated 02/11/1998 10:20:34 * * Operation Volume Backup Backup Volume Device Volume * Date/Time Type Series Oper. Seq Class Name Name ************************************************************************************************* 1997/08/11 10:18:43 STGNEW 0 0 0 COOL8MM BACK4X 1997/08/11 10:18:43 STGNEW 0 0 0 FILES /adsmserv/bk03 1997/08/11 10:18:46 STGNEW 0 0 0 LIB8MM TPBK05 * Location for volume TPBK06 is: 'Ironvault Inc.' 1997/08/11 10:19:23 BACKUPFULL 1 0 1 LIB8MM TPBK06 1997/08/11 10:20:03 STGNEW 0 0 0 LIB8MM TPBK07 1997/08/11 10:20:22 BACKUPINCR 1 1 1 LIB8MM TPBK08 end VOLUME.HISTORY.FILE *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* begin DEVICE.CONFIGURATION.FILE /* IBM AdStar Distributed Storage Manager Device Configuration */ DEFINE DEVCLASS COOL8MM DEVTYPE=8MM FORMAT=DRIVE MOUNTLIMIT=1 MOUNTWAIT=60 MOUNTRETENTION=60 PREFIX=ADSM LIBRARY=ITSML DEFINE DEVCLASS FILES DEVTYPE=FILE MAXCAPACITY=4096K MOUNTLIMIT=2 + DIRECTORY=/usr/lpp/adsmserv/bin/ DEFINE DEVCLASS FILESSM DEVTYPE=FILE MAXCAPACITY=100K MOUNTLIMIT=2 + DIRECTORY=/usr/lpp/adsmserv/bin/ DEFINE DEVCLASS LIB8MM DEVTYPE=8MM FORMAT=DRIVE MOUNTLIMIT=1 MOUNTWAIT=60+ MOUNTRETENTION=60 PREFIX=ADSM LIBRARY=RLLIB end DEVICE.CONFIGURATION.FILE *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* begin DSMSERV.OPT.FILE * Server options file located in /usr/lpp/adsmserv/bin/dsmserv.optx TCPPort 1509 VOLUMEHISTORY /usr/lpp/adsmserv/bin/volhistory.txtx DEVCONFIG /usr/lpp/adsmserv/bin/devconfig.txtx * The following option was added by PREPARE. DISABLESCHEDS YES end DSMSERV.OPT.FILE *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* |
Figure 78. License Information
*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* begin LICENSE.INFORMATION Last License Audit: 12/30/1997 10:25:34 Registered Client Nodes: 1 Licensed Client Nodes: 51 Are network connections in use ?: Yes Are network connections licensed ?: Yes Are Open Systems Environment clients registered ?: No Are Open Systems Environment clients licensed ?: No Is space management in use ?: No Is space management licensed ?: No Is disaster recovery manager in use ?: Yes Is disaster recovery manager licensed ?: Yes Are Server-to-Server Virtual Volumes in use ?: No Are Server-to-Server Virtual Volumes licensed ?: Yes Is Advanced Device Support required ?: No Is Advanced Device Support licensed ?: No Server License Compliance: Valid end LICENSE.INFORMATION *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* |
This stanza is included in the plan file if the machine information are saved in the ADSM server database using the DEFINE MACHINE with the ADSMSERVER parameter set to YES.
This stanza is included in the plan file if the machine recovery instructions are saved in the ADSM server database.
This stanza is included in the plan file if the machine characteristics are saved in the ADSM server database.
This stanza is included in the plan file if recovery media information is saved in the ADSM server database and it has been associated with the machine that contains the ADSM server.
*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* begin MACHINE.GENERAL.INFORMATION Purpose: General information for machine ADSMSRV1. This is the machine that contains ADSM server ADSM. Machine Name: ADSMSRV1 Machine Priority: 1 Building: 21 Floor: 2 Room: 2749 Description: ADSM Server for Branch 51 Recovery Media Name: ADSMSRVIMAGE end MACHINE.GENERAL.INFORMATION *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*- begin MACHINE.RECOVERY.INSTRUCTIONS Purpose: Recovery instructions for machine ADSMSRV1. Primary Contact: Jane Smith (wk 520-000-0000 hm 520-001-0001) Secondary Contact: John Adams (wk 520-000-0001 hm 520-002-0002) end MACHINE.RECOVERY.INSTRUCTIONS *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*- begin MACHINE.CHARACTERISTICS Purpose: Hardware and software characteristics of machine ADSMSRV1. devices aio0 Defined Asynchronous I/O bbl0 Available 00-0J GXT150 Graphics Adapter bus0 Available 00-00 Microchannel Bus DSM1509bk02 Available N/A DSM1509db01x Available N/A DSM1509lg01x Available N/A en0 Defined Standard Ethernet Network Interface end MACHINE.CHARACTERISTICS *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*- begin MACHINE.RECOVERY.MEDIA.REQUIRED Purpose: Recovery media for machine ADSMSRV1. Recovery Media Name: ADSMSRVIMAGE Type: Boot Volume Names: mkssy1 Location: IRONMNT Description: mksysb image of ADSM server machine base OS Product: mksysb Product Information: this mksysb was generated by AIX 4.2 end MACHINE.RECOVERY.MEDIA.REQUIRED *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* |