To perform an image backup to a disk, use the BACKUP command in the following format:
BACKUP/IMAGE/RECORD input-device output-specifier/SAVE_SET
The /IMAGE qualifier identifies the backup operation as an image backup. The /RECORD qualifier records the current date and time in the file header record of each file that is backed up. This information is essential for future incremental backups. The /SAVE_SET qualifier indicates that you are creating a save set on a disk.
Examples
$ MOUNT DUA1: USER1 %MOUNT-I-MOUNTED, USER1 mounted on _DUA1: $ MOUNT DUA2: USER2 %MOUNT-I-MOUNTED, USER2 mounted on _DUA2: $ BACKUP/IMAGE/RECORD _From: DUA1: _To: DUA2:[USER.BACKUPS]USER1.SAV/SAVE_SET
$ BACKUP/IMAGE/RECORD _From: DUA0: _To: DUB24:[USER.BACKUPS]USER1.SAV,DUB25/SAVE_SET
As described in Section 10.2, an incremental backup of a disk provides you with an exact copy of only those files that have been created or modified since the last image or incremental backup in which the /RECORD qualifier was used.
How to Perform This Task
To perform an incremental backup to tape, do the following:
$ DIRECTORY/FULL LOGIN.COM Directory WORK204:[HIGGINS] LOGIN.COM;31 File ID: (23788,1,0) Size: 7/9 Owner: [ACC,HIGGINS] Created: 30-APR-1996 14:37:33.98 Revised: 30-APR-1996 14:37:34.44 (1) Expires: <None specified> Backup: 30-APR-1996 20:20:57.37 File organization: Sequential File attributes: Allocation: 9, Extend: 0, Global buffer count: 0, No version limit Record format: Variable length, maximum 94 bytes Record attributes: Carriage return carriage control RMS attributes: None Journaling enabled: None File protection: System:RWED, Owner:RWED, Group:RE, World: Access Cntrl List: None Total of 1 file, 7/9 blocks.
Note
If you used the /IGNORE=INTERLOCK qualifier to back up open files during your last image backup or incremental backup in which the /RECORD qualifier was used, see Section 10.18.3. If the files remain open, they will not be included in the incremental backup because their backup date fields are not as recent as the last image backup or incremental backup in which the /RECORD qualifier was used.
BACKUP/RECORD/SINCE=BACKUP input-specifier output-specifier[/LABEL=label] [/REWIND]
Examples
The following command is an example of an incremental backup in which BACKUP saves all files on DRA1: that were modified since the previous BACKUP/RECORD command and stores them in a save set named 20APR1996.SAV:
$ BACKUP/RECORD/SINCE=BACKUP/RELEASE_TAPE From: DRA1:[000000...] To: MIA0:20APR1996.SAV/LABEL=20JUNE
The /LABEL qualifier identifies the volume label of the tape. Also, because BACKUP is performing an incremental rather than an image backup, it is necessary to explicitly use the notation DRA1:[000000...] to specify all the files on DRA1. The /SINCE=BACKUP qualifier saves all files created or modified since the last /RECORD backup. The /RELEASE_TAPE qualifier dismounts and unloads an output tape device after BACKUP writes the save set and before it performs the action of the /RECORD command.
As described in Section 10.2, an incremental backup of a disk provides you with an exact copy of only those files that have been created or modified since the last image or incremental backup in which the /RECORD qualifier was used.
How to Perform This Task
To perform an incremental backup to disk, do the following:
$ DIRECTORY/FULL LOGIN.COM Directory WORK204:[HIGGINS] LOGIN.COM;31 File ID: (23788,1,0) Size: 7/9 Owner: [ACC,HIGGINS] Created: 30-APR-1996 14:37:33.98 Revised: 30-APR-1996 14:37:34.44 (1) Expires: <None specified> Backup: 30-APR-1996 20:20:57.37 File organization: Sequential File attributes: Allocation: 9, Extend: 0, Global buffer count: 0, No version limit Record format: Variable length, maximum 94 bytes Record attributes: Carriage return carriage control RMS attributes: None Journaling enabled: None File protection: System:RWED, Owner:RWED, Group:RE, World: Access Cntrl List: None Total of 1 file, 7/9 blocks. $
Note
If you used the /IGNORE=INTERLOCK qualifier to back up open files during your last image backup or incremental backup in which the /RECORD qualifier was used, see Section 10.18.3. If the files remain open, they will not be included in the incremental backup because their backup date fields are not as recent as the last image backup or incremental backup in which the /RECORD qualifier was used.
BACKUP/RECORD/SINCE=BACKUP input-specifier output-specifier/SAVE_SET
Examples
$ MOUNT DUA55: DISK1 %MOUNT-I-MOUNTED, DISK1 mounted on _DUA55: $ MOUNT/FOREIGN DJC12: %MOUNT-I-MOUNTED, DISK2 mounted on _DJC12: $ BACKUP/RECORD/SINCE=BACKUP _From: DUA55:[000000...] _To: DJC12:USER1.SAV/SAVE_SET
$ MOUNT DUA0: USER1 %MOUNT-I-MOUNTED, USER1 mounted on _DUA0: $ MOUNT/FOREIGN DUB24: %MOUNT-I-MOUNTED, DISK2 mounted on _DUB24: $ MOUNT/FOREIGN DUB25: %MOUNT-I-MOUNTED, DISK3 mounted on _DUB25: $ BACKUP/RECORD/SINCE=BACKUP _From: DUA0:[000000...] _To: DUB24:USER1.SAV,DUB25/SAVE_SET
An incompatibility between the operating procedures of the PATHWORKS for OpenVMS Macintosh server and OpenVMS incremental backup operations can cause BACKUP to save entire disks or directory structures, including subdirectories and files.
BACKUP can detect whether a directory file has been modified since the date indicated by the Backup Date field in the file header. If a directory file has been modified, all subdirectories and files of that directory are saved for possible later restore operations.
Updating the modification date of directory files is unusual for OpenVMS systems. However, it can happen if, for example, you rename a directory file from one location to another. By contrast, the PATHWORKS Macintosh server maintains the modification date of directory files for Macintosh users; that is, it updates the modification date for each directory change, file creation, and file deletion.
Thus, an incremental backup of a disk where PATHWORKS is used to serve files to Macintosh users may result in saving the entire disk or entire directories (including their subdirectories and files) instead of just the user files that were created or modified since the last incremental backup operation.
You can avoid the unnecessary saving of files by performing a "dummy" BACKUP/RECORD operation on all directory files immediately before performing the incremental backup. For example:
$ BACKUP/RECORD/IGNORE=(INTERLOCK) - _$ disk:[000000...]*.DIR;* - _$ NLA0:DUMMY.BCK/SAVE/NOCRC/GROUP_SIZE=0 $ $ BACKUP/VERIFY/FAST/RECORD/IGNORE=(INTERLOCK) - _$ /NOASSIST/COMMENT="Incremental backup of DISK:" - _$ disk:[000000...]*.*;*/SINCE=BACKUP - _$ tape:incr.bck/LABEL=incr/SAVE
In this example, the first BACKUP command performs the dummy backup operation and the second performs the actual incremental backup. The first command updates the Backup Date field for all the directory files. Specifying the null output device NLA0:[000000...] causes no save set file to be written. Because no file information needs to be retained from this operation, the /NOCRC and /GROUP_SIZE=0 qualifiers are specified to avoid CRC and XOR block calculation.
On a standalone workstation, you are probably responsible for backing up files on your user disks. Section 10.15.7.1, Section 10.15.7.2, and Section 10.15.7.3 contain command procedures for making image, incremental, and interactive backups of user disks on your workstation.
Digital also provides two template command procedures in the SYS$EXAMPLES directory for you to use in designing BACKUP command procedures. These command procedures are called BACKUSER.COM and RESTUSER.COM.
If you are not familiar with using command procedures, see the OpenVMS User's Manual.
The following command procedure performs nightly image backups, backing up all the files on disk DUA2: to a tape in MUA0. The files are copied to a magnetic tape save set named FULL_BACKUP.SAV. This procedure is particularly useful for backing up files on a MicroVAX system or workstation.
How to Perform This Task
To use the command procedure, do the following:
$! $! Resubmit this procedure -- $ SUBMIT/AFTER="TOMORROW+2:0" SYS$MANAGER:SYSTEM_BACKUP $! $ ON ERROR THEN GOTO FAILURE $ SET PROCESS/PRIVILEGES=ALL $! $ REPLY/ALL - "Full Backup About to Begin. Open Files Will Not Be Saved" $! $ BACKUP /IMAGE DUA2: MUA0:FULL_BACKUP.SAV /REWIND /IGNORE=LABEL_PROCESSING $ DISMOUNT MUA0: $ EXIT $! $FAILURE: $ WRITE SYS$OUTPUT "---> Backup failed" $ WRITE SYS$OUTPUT "" $ DISMOUNT MUA0: $ EXIT
. . . $! $ BACKUP/IMAGE WORK_DISK MIA0:WORK_BACK.SAV/REWIND $ BACKUP/IMAGE PAYROLL_DISK MIA0:PAYROLL_BACK.SAV $! . . .
SUBMIT/NOPRINT/AFTER="TOMORROW+2:0"/QUEUE=queue_name SYS$MANAGER:SYSTEM_BACKUP
To stop the procedure after you have submitted it, use the DELETE/ENTRY command. To find the entry number, use the SHOW ENTRY command. For example:
$ SHOW ENTRY Entry Jobname Username Blocks Status ----- ------- -------- ------ ------ 14 SYS_BACKUP TPROULX Holding until 19-APR-1996 02:00 On generic batch queue CLUSTER_BATCH $ DELETE/entry=583
You can use a similar command procedure to perform nightly incremental backups of your disks. It might be more convenient to perform nightly incremental backups and weekly image backups if either of the following conditions applies:
Suppose that you want to do nightly incremental backups at 11:00 P.M., except on Friday night, when you want to do an image backup. The following command procedure executes an incremental backup on three disks and automatically resubmits itself to run again the following night, except for Friday night.
How to Perform This Task
To use the procedure, follow these steps:
$! $! Resubmit this procedure -- $ SUBMIT/AFTER="TOMORROW+23:0" SYS$MANAGER:INCREMENTAL_BACKUP $! $ TODAY = f$cvtime("today",,"weekday") $ IF TODAY .EQS. "Friday" THEN GOTO DONE $! $ ON ERROR THEN GOTO FAILURE $ SET PROC/PRIV=(OPER,BYPASS) $! $ REPLY/ALL - "Incremental Backup About to Begin. Open Files Will Not Be Saved" $! $ BACKUP/RECORD/SINCE=BACKUP DRA0:[000000...] - MIA0:INCREMENT1.SAV /LABEL=INC1 $ BACKUP/RECORD/SINCE=BACKUP DRA1:[000000...] - MIA1:INCREMENT2.SAV /LABEL=INC2 $ BACKUP/RECORD/SINCE=BACKUP DRA2:[000000...] - MIA2:INCREMENT3.SAV /LABEL=INC3 $ DISMOUNT MIA0: $ DISMOUNT MIA1: $ DISMOUNT MIA2: $ EXIT $! $FAILURE: $ WRITE SYS$OUTPUT "---> Backup failed" $ WRITE SYS$OUTPUT "" $ DISMOUNT MIA0: $ DISMOUNT MIA1: $ DISMOUNT MIA2: $ EXIT
$ SUBMIT/AFTER=23 SYS$MANAGER:INCREMENTAL_BACKUP
You can use the following command procedure to interactively back up a disk to a magnetic tape.
How to Perform This Task
To use the procedure, do the following:
$ ! Command procedure DAILYBACK.COM $ ! $ ! Execute this command procedure interactively $ ! by entering the command @[directory]DAILYBACK $ ! at the DCL prompt. $ ! $ ! The BACKUP command in this procedure contains the $ ! output save-set qualifier /REWIND. Therefore, this $ ! command procedure always initializes the output tape. $ ! $ ON ERROR THEN GOTO FAILURE $ INQUIRE DRIVE "Enter the drive name (without a colon)" $ ALLOCATE 'DRIVE' $ INQUIRE SAVESET_SPEC "Enter the save-set specifier" $ INQUIRE LBL "Enter the tape label" $ INQUIRE EXP "Enter the tape expiration date" $ BACKUP/NOASSIST/RECORD/IGNORE=INTERLOCK/SINCE=BACKUP - [...] 'DRIVE':'SAVESET_SPEC'/REWIND/LABEL='LBL'/TAPE_EXPIRATION='EXP' $ DISMOUNT 'DRIVE' $ EXIT $! $FAILURE: $ WRITE SYS$OUTPUT "---> Backup failed" $ WRITE SYS$OUTPUT "" $ DISMOUNT 'DRIVE' $ EXIT
Volume shadowing maintains multiple copies of the same data on two or more disk volumes. If you use volume shadowing on your system, you can form a shadow set by uniting individual disk volumes (shadow set members). Volume shadowing duplicates data on each member of the shadow set. Per-disk licensing is available for each disk you will be including in a shadow set. This option is effective in a cluster where you intend to shadow only a small number of disks. However, if you have larger systems with many more disks to shadow, traditional capacity (per-CPU) licenses may be more appropriate.
Limits on the numbers of disks allowed in shadow sets are shown in Table 10-7:
Type of Shadow Set | Sets Supported |
---|---|
Single member | Unlimited sets |
Multimember | Total of 400 disks in two- and three-member sets, or both |
These limits apply per cluster. For example, 400 total disks could be configured into 200 two-member shadow sets or into 133 three-member shadow sets per cluster. If single, two-, and three-member shadow sets are all present on a single cluster, then a maximum of 400 disks may be contained in the two- and three-member shadow sets.
You can use the firmware implementation of RAID level 1 (shadowing) to create shadow sets using the SCSI (Small Computer Systems Interface) disks attached locally to a single SWXCR-xx controller. The StorageWorks RAID Array 210 Subsystem (SWXCR-EA or SWXCR-EB EISA Backplane RAID controllers) and the StorageWorks PCI Backplane RAID controller (SWXCR-PA or SWXCR-PB) have their own firmware implementations of RAID, levels 0, 1, and 5.
SCSI disks connected to these controllers can also be included in shadow sets created using host-based volume shadowing for OpenVMS. For example, with host-based volume shadowing, you can create a RAID1 shadow set containing two like disks, each of which is attached to a separate SWXCR-xx RAID controller located within a cluster. SCSI disks can be configured as shadow sets when attached to systems running volume shadowing for OpenVMS.
For directly connected SCSI devices that have been powered down or do not answer to polling, the elapsed time before a device is removed from a shadow set approaches one minute. In all other situations, the elapsed time closely approximates the number of seconds specified in the SHADOW_MBR_TMO parameter.
Volume shadowing checks for geometries and maximum logical block numbers (LBNs) on devices. This enables devices such as the RZ28 and the RZ28B to operate in the same shadow set. Even though their device IDs differ, their geometries and maximum LBNs will match when configured on like controllers (two HSJ controllers, for example).
When you create a shadow set, individual users access it as a virtual unit. For example, you could create a virtual unit DSA1 that consists of the disks named DUA1:, DUA2:, and DUA3. Users cannot access the individual shadow set members directly, but can perform operations on the virtual unit (DSA1:).
Because of the way volume shadowing duplicates data on each disk in the shadow set, there are special considerations for backing up a shadow set. One strategy for backing up shadow sets involves using the OpenVMS Backup utility.
Caution
Do not attempt to back up a shadow set by dismounting an individual shadow set member or by backing up an active shadow set member. You must dismount the entire shadow set and re-create it less one shadow set member. If you do not follow this restriction, the resultant backup copy may contain inconsistent data.
How to Perform This Task
The proper procedure for using BACKUP to back up a shadow set is described in detail in the Volume Shadowing for OpenVMS manual, and can be summarized as follows.
Note
You cannot perform an incremental backup using this procedure because the backup record date is overwritten when you add the disk volume back into the existing shadow set.
To mount a disk in the StorageWorks RAID Array 110 Subsystem in a host-based shadow set, you must use the /OVERRIDE=NO_FORCED_ERROR qualifier with the MOUNT command.
The StorageWorks RAID Array 110 Subsystem does not support the READ/WRITE LONG SCSI commands that are necessary for implementing the FORCED ERROR function in SCSI. Without FORCED ERROR, you must override that check by the shadowing driver.
Assisted merging, also known as minimerge, is disabled if shadow sets are mounted on an OpenVMS Alpha node and also on other types of nodes in the same cluster. To reenable assisted merging, apply the CSCPAT (TIMA) kit to all OpenVMS Cluster nodes mounting the shadow set.
With minimerge disabled, shadowing will continue to function normally. However, a full merge will always be done when a merge operation is required. A full merge takes considerably longer to complete than a minimerge operation; Digital recommends that you install the CSCPAT (TIMA) kit.
Occasionally you may want to restore the backup copy of an entire disk. For example, if the disk drive fails, you could restore the backup copy to a working disk. By occasionally saving and restoring an image backup, you can also prevent disk fragmentation.
The way in which you restore a disk depends on whether the most recent backup was an image (full) or incremental backup. Section 10.16.1 describes the process for restoring a disk when the most recent backup was an image backup. Section 10.16.2 describes the process for restoring a disk when one or more incremental backups were performed since the most recent image backup.
This section describes how to restore the entire contents of a disk when your most recent backup was an image backup (using the /IMAGE qualifier, as described in Section 10.15.2).
How to Perform This Task
To restore an image backup, use the following procedure.
Caution
When you use the /IMAGE qualifier in a restore operation, the disk to which you are restoring the files is initialized. Initializing the disk removes links to the existing files, effectively erasing them. To restore individual files or directories rather than the entire disk, see Section 10.14.
$ DIRECTORY BACKUP_DISK:[BACKUPS] Directory SYS$SYSDEVICE:[BACKUPS] 19APRIL1996.SAV;1 Total of 1 file.
$ BACKUP/LIST/REWIND MIA1: Listing of save set(s) Save set: 19APRIL1996.SAV Written by: SYSTEM UIC: [000001,000004] Date: 19-APR-1996 22:03:03.63 . . .
BACKUP/IMAGE device:save-set-specifier [/SAVE_SET] output-device
6017P032.HTM OSSG Documentation 22-NOV-1996 14:22:03.10
Copyright © Digital Equipment Corporation 1996. All Rights Reserved.