Virtual TAPE is a software enhancement to VM that allows users to define virtual tape drives and mount virtual tapes on those drives with CP commands. Data written to virtual tapes is maintained in a Virtual TAPE library. Virtual tapes appear identical to real tapes to the virtual machine. TAPE DUMP and other CMS commands that use real tapes can use virtual tapes as well.
Virtual tape drives can be created with the CP DEFINE devicetype vdev command, or with SPECIAL vdev devicetype statements in a user's directory entry. The CP REDEFINE command will change the virtual address of a virtual tape drive, and CP DETACH will detach the drive. Supported device types are:
V3490 is equivalent to V3490-B04.
A virtual tape library is a database of up to 256 minidisks that have been formatted for use by VTAPE. Each minidisk can be up to a full volume in size. A virtual tape volume directory is maintained on the first and second disk of each library. The volume directory on the second disk is a mirror image of the primary directory, and is maintained for recovery if there is a hardware failure on the first disk.
Each library can contain up to 32,640 virtual tape volumes. The size of each volume can range from 1 megabyte to a user limit specified in the VTAPE configuration file.
The amount of disk space required for a VTAPE library depends on the number and size of the virtual tape volumes that are written to the library, and how long they are retained.
When a user mounts a scratch tape, it is assigned to the library minidisk with the most available space. At least two minidisks should be assigned to each library so that a duplicate copy of the directory can be maintained on the second disk for recovery. For best performance, two library minidisks should not be defined on the same real disk.
Operating systems (such as MVS, VSE and TPF) running under VM can use virtual tapes. Several MVS programs and facilities have been written by VSSI to automate virtual tape use in an MVS environment.
The following requirements will allow you to define and use virtual tape drives in your MVS system without affecting real tape use:
The MVSCP and/or MVS/HCP UIMs must be assembled and link edited into the appropriate MVS system library. You must do an MVS I/O generation or use the HCD panals to define the type of Virtual tape drives to be used. These UIM programs add new esoteric device names of 3420V, 3480V, 3480XV and 3490V to MVS. The UIM file for MVSCP is CBPUC005 ASSEMBLE and the UIM file for HCD is CBDUC005 ASSEMBLE. The assemble and linkedit JCL for the UIMs have the same file names as the assemble files and file types of ASMJCL and LINKJCL.
The VTAPE UIMs set the high order bit in the UCBTYP option byte of the MVS UCBs (Unit Control Blocks) to make virtual tape drives catalog and allocation unique. You must use MVSCP or HCD to define virtual tape drives, because there is no way to identify a drive as being virtual in the device characteristics for HCD dynamic configuration.
To define the virtual tape drives that will be used by a guest operating system, you can:
VTAPE can support up to 24 libraries per VM system. A library is designated by a single letter, or a single digit (See section "Numeric Library Prefixes." for additional information), known as the library prefix. Each VM system can open multiple input and output libraries. Libraries can be shared, but the same library can not be open for output on two different systems at the same time. If system 1 opens libraries A and B for output and libraries C and D for input, then system 2 can open libraries C and D for output and libraries A and B for input. Each system can read tapes from all four libraries, but can only write tapes to their output libraries.
Sharing is controlled by the library definition file (in VTSYSTEM DEFAULTS), the CP directory entry that defines the library minidisks, and the parameters specified on the VTOPEN command. All systems should reference any particular library by the same library prefix.
When a library is opened for output, the CPUID of the processor doing the open is stored in the library. If the system that opened the library fails or is shut down while the library is open, the "open for output" indication is not reset. If an attempt is then made to open the library for output on a different processor, the VM operator is notified and asked if the open should continue. This is an integrity feature. Operator verification allows for a processor switch, when a VM system is moved to another processor and the output libraries were not closed when the first system was shut down.
An option in the VTSYSTEM DEFAULTS configuration file can eliminate the operator verification prompt, which can disrupt some PROP and VM OPERATOR-type systems. The library is opened for input instead of output in this case. The FORCEOUT keyword of the VTOPEN command can also be used to open a library for output if it was not closed when another processor was shut down.
It is recommended that you assign each VM system an output library prefix. If you have three VM systems and library 'A' is the output library for system 1, the other systems should use library 'A' for input. VM system 2 could use library 'B' for its output library, and system 3 could use library 'C' for its output library.
If each system is to have multiple output libraries, system 1 could have 'D' for a second output library, system 2 could have 'E', and system 3 could have 'F'. Any library can be opened for output by any system as long as the library is not already open for output on another system.
If you use VTAPE for both a first and second level system and your second level guest is not assigned a different CPUID, you must be careful not to open the same library for output on both levels. One way to protect your first level library is to link your first level output library disks read-only to your second level guest.
CMS help files are provided for VTAPE CP and CMS commands and for VTAPE CP and CMS messages. A VTAPE help menu is provided to select any VTAPE command help file. To display this menu, enter HELP VTAPE MENU.
You can run virtual TAPE reports for each library from any processor that has access to the library disks. Library maintenance, such as the expired tape scratch procedure, must be run from the processor that has the library open for output.
There are four report programs for normal library reporting (VTRPT1, VTRPT2, VTRPT3, and VTRPT6), and an exec (VTRPTS) to run these four commands.
VTRPT1 produces CMS files from data extracted from the VTAPE library directory entries and the first data block of each virtual tape.
VTRPT2 reads the CMS files created by VTRPT1 and prints a volume report and a scratch report, depending on the options specified.
VTRPT3 command reads the standard label file created by VTRPT1 and prints a report containing information about all tapes in the library that have a standard label.
VTRPT4 produces a report on volumes backed up by VTBKUP. See the VTBKUP and VTRPT4 command descriptions for detailed information.
VTRPT5 produces a report on volumes restored by VTREST. See the VTREST and VTRPT5 command descriptions for detailed information.
VTRPT6 reads the volume file created by VTRPT1 and prints a report containing all virtual tape volumes and their descriptions.
As a convenience, the VTRPTS exec issues the VTRPT1, VTRPT2, VTRPT3, and VTRPT6 commands to create the files for a library and print the standard reports. The reports can be produced for the default output library, or any desired input library.
CMS commands are provided to scratch tapes that have expired, to back up and restore libraries, and to report on volumes backed up or restored.
Expired tapes are scratched by running VTRPT1 followed by VTSCR1. These are CMS modules, and require read links to the library minidisks. You should set up an automated procedure to run these two commands on a regular basis, during periods of low tape activity.
VTSCR1 reads the scratch file created by VTRPT1 and verifies that each expired tape matches the information in the library. This is a precaution in case the tape was manually scratched and reused between the time the scratch file was created by VTRPT1 and the time the VTSCR1 command is run. If the information matches, the tape is scratched. VTSCR1 can be run for any open output library.
VTBKUP performs full, incremental, and library disk backups. VTRPT5 produces reports on virtual tape volumes that have been backed up to real tape.
VTREST provides for full library, library disk, cycle, and volume restores. Volumes are always restored to a currently open output library. VTRPT4 produces reports on virtual volumes that have been restored from real tape.
Virtual tape library prefixes can be alphabetic (a-z) or numeric (1-9). When using numeric prefixes, the following rules should be understood:
When using numeric library prefixes, if the virtual tape volume serial is all numeric and less than 6 characters in length, the library prefix must be either:
The following commands have been enhanced to support the numeric prefixes via the use of the PRefix option:
The VTCLOSE command will close virtual tape libraries. By default, this is a class B command.
VTCLOSE { LIBrary ppp... | ALL } < FORCE >
ALL | Closes all libraries.
|
LIBrary ppp... | A list of up to 24 prefixes of libraries to be closed.
|
FORCE | Causes all tapes mounted for the libraries being closed to be unloaded, and the libraries to be closed immediately.
|
Library p has been closed
Use the VTINIT command to reinitialize the VTAPE online system wide defaults, after modifying the VTSYSTEM DEFAULTS file. By default, VTINIT is a class B command.
VTINIT <fname>
Note: The filetype of the system definition file is DEFAULTS, and cannot be changed.
Note: Although you can specify a filename on the VTINIT command, if VTAPE is initialized any other way (ie: issuing a Vtape command, or defining a virtual tape) VTAPE will only search for either:
Use the VTOPEN command to open virtual tape libraries for use. Up to 24 libraries can be opened. Any number of these can be opened for input or output. If a library is specified in both the input and output list, it will be opened for output By default, this is a class B command.
VTOPEN < ALL >
< DEFaultlib p >
< FORCEKEY >
< FORCEOUT >
< LIbrary ppp... >
< OUTlib ppp... >
< REStricted >
ALL | Opens all libraries defined in the system. If OUTlib is not also specified, an output library will not be opened.
|
DEFaultlib p | Specifies the prefix for the system default library on this processor. If you do not specify a default, the first output library specified in the the OUTlib list will become the default. If no output library is opened, there will not be a system default.
|
FORCEKEY | Forces a library open when its key or minidisk number is not correct. Each library has a unique key and each minidisk in a library is numbered sequentially. If you attempt to open a library and the key on all of active mindisks does not match or a minidisk number is not correct, the open will fail. This condition should only occur if you have had to replace a defective disk drive, and are about to restore all of the data for that minidisk.
|
FORCEOUT | Forces a library open for output when it appears to be open for output on another processor. This would occur if the other processor shut down without closing the output libraries. If you are sure the library is not open on the other processor, you can force it open with the FORCEOUT keyword.
|
LIbrary ppp... | A list of up to 24 prefixes of libraries to be opened for input.
|
OUTlib ppp... | A list of up to 24 prefixes of libraries to be opened for output.
|
REStricted | Restricts all libraries opened by this VTOPEN request from use by general users. Maintenance users defined in the VTSYSTEM customization file can still use the libraries. See the usage notes for more information.
|
This prompting is controlled by the OPEN_FOR_OUTPUT_ON_other_cpu option in the VTSYSTEM DEFAULTS parameter file. If this option is set to PROMPT, then the user issuing the VTOPEN command will be prompted to verify the open request. However, if the VTOPEN command was issued from a disconnected virtual machine, VTAPE will not prompt the disconnected user. In this case, VTAPE will check to see if the primary system operator is connected to a terminal, to be prompted for the YES or NO response. If the operator is also disconnected, the OUTLIB library will be forced read/only.
If the OPEN_FOR_OUTPUT_ON_other_cpu option in the VTSYSTEM DEFAULTS parameter file is set to NOPROMPT, and the library to be opened for output was previously opened for output on another processor and was not closed on that system, it will be open for input instead of output on this system. No prompt will be issued.
Some automated operator systems, such as VMOPERATOR, can run in a "service machine" that is connected to a terminal. This service machine can be set up to issue commands on behalf of other users. If you issue the VTOPEN command through such a system, so that the command is actually executed by a service machine that is not disconnected, the service machine userid may be prompted to verify the open request. This will place the service machine userid in CP READ, waiting for a response to message 044R. If this happens, you must type the YES or NO answer from the service machine's terminal. Until the response is supplied, the automated operator system will not be able to perform its normal functions. If you are using VMOPERATOR, and the VMOPERATOR machine normally issues the VTOPEN command, we recommend that you set the OPEN_FOR_OUTPUT_ON_other_cpu option to NOPROMPT.
Use the VTBKUP command to back up a VTAPE library to one or more real tapes. One or more virtual tape volumes, or an entire library or library minidisk, can later be restored with the VTREST command.
VTBKUP < p > < vdev < altvdev > > ( optionsoptions:
ALtdir MDisk vdev APpend MEssage COmpact MSg DEn density NOctl DIffer REtpd nnn INcr Owner userid FIle nnn SCan LDisk nnn TApes n LEave VOlume nnnnn LIst
p | The prefix of the library to process. The default is the system default library. To use the system default prefix and specify an output tape drive device number, use * for the library prefix.
|
vdev | The virtual device number of a real tape drive for the backup tapes. The default is 181. To use the default primary device number and specify an alternate device number, use * for the primary device number.
|
altvdev | The virtual device number of an alternate tape drive for the backup tapes.
|
ALtdir | Requests that the alternate volume directory be used for the backup.
|
APpend | Tell the backup program to add (append) the current backup to the tape. APpend is only valid for an existing backup tape and cannot be specified with FIle.
|
COmpact | Requests that the backup be written with IDRC for a 3480 tape drive, or in Compaction mode for a 3490 or 3590 tape drive. COMPACT and DEN are mutually exclusive.
|
DEn density | Sets the tape density for the backup tape. The default is the highest density supported by the drive. Valid densities are 800, 1600, 6250, and 38K. DEN and COMPACT are mutually exclusive.
|
DIffer | Requests a differential backup. Only those tapes that have been created or modified since the last FULL backup will be backed up.
|
FIle nnn | Requests that the tape be positioned to file nnn before the backup starts. The option cannot be specified with APpend.
|
INcr | Requests an incremental backup. Only those tapes that have been created or modified since the last backup run will be backed up.
|
LDisk nnn | Requests that only tapes on the requested library disk be backed up. nnn is the relative number of the library disk from 0 to 255.
|
LEave | Requests that the tape drive not be unloaded after the backup is finished.
|
LIst | Requests a listing of the file stacked on a BACKUP tape. This option must be specified by itself.
|
MDisk vdev | Requests that only tapes on the requested library minidisk be backed up. vdev is the hexadecimal device number of the library minidisk as defined in the CP user directory.
|
MEssage or MSg | Requests that a message be issued for each tape backed up.
|
NOctl | Allows special backups to be taken, without updating the cycle and volume files for a library. It also allows a backup to be done with a read only A disk.
|
REtpd nnn | The number of days the backup tape should be retained. The retention default is 28 days.
|
OWner userid | Requests a backup of tapes owned by the specified user only. The wild card character '*' can be used to specified multiple userids having the same root. (ex: OWner TPFT*)
|
SCan | Validate the data by simulating a backup without requiring a tape drive. Any error detected is logged to a file VTpyyddd LGhhmmss A1.
|
TApes n | requests processing of a specific number of tapes with unspecified volume serial numbers and dataset names. It is the users responsibility to mount the correct backup tapes in the correct order. The INLIB option should be used to set the correct dataset name.
|
VOlume nnnnn | Requests a backup of one specific virtual tape volume.
|
Each cycle record contains:
For all subsequent backups of the library, the VTBKUP VOLFILEp is read and each record is written to a VTBKUP NEWFILEp file. If a tape being backed up was previously backed up, the cycles in the volume record are rotated and the new owner information is added to the record. If this is the first time a tape is being backed up, a new record is inserted in the VTBKUP NEWFILEp file.
Use the VTBMRD command to determine which library disks an old format disks and what blocks are owned by which virtual tape volumes.
VTBMRD < p > ( optionsoptions:
CLear LDisk nnn MDisk vdev MSg
p | The prefix of the library to process. The default is the system default library.
|
CLear | Clear will clear library block ownership from the library bit maps. The library being processed must be closed and the library disks must be linked with write access.
|
LDisk nnn | Requests that only bit maps on the requested library disk be processed. nnn is the relative number of the library disk from 0 to 255.
|
MDisk vdev | Requests that only bit maps on the requested library minidisk be processed. vdev is the hexadecimal device number of the library minidisk as defined in the CP user directory.
|
MSg | Requests that a message be issued for each library block owned by a tape volume.
|
Use the VTDIRCPY command to copy a library volume directory from one library disk to another.
VTDIRCPY vdev
vdev | The output virtual device number (disk address) for the library minidisk that you are copying the directory to. This device number must end in zero (0) or one (1), since the volume directory is maintained on the first two minidisks of the library. If the device number is nnn0, the directory is copied from nnn1. If the device number is nnn1, the directory is copied from nnn0. |
Use the VTFMT command to format disks for use as VTAPE library disks, or to rewrite the directories on a disk previously formatted with VTFMT.
VTFMT vdev ( optionsoptions:
COPYDIR NODir REFormat REStart hexcyl
vdev | The virtual device number of the minidisk to be formatted.
|
COPYDIR | Copies the library volume directory to the minidisk, after formatting the disk. This option is valid for disk addresses that end in zero or one only. This option is for recovering the volume directory when a library minidisk has failed and is being recreated.
|
NODir | Specifies that even though the disk address ends in zero or one, a volume directory should not be placed on this disk. You should use this option if you are formatting disks for a library that contains more than 16 minidisks. In this case, when you format any disks other than the first two in the library, and the disk address ends in zero or one, you should use this option.
|
REFormat | Writes directory records to a disk that has previously been formatted for VTAPE use. This option can be used to reinitialize a library prior to a full library restore. This option should only be used on a minidisk that has already been formatted with VTFMT, and has not been changed in size. REFORMAT is faster than an initial format.
|
REStart hexcyl | Restarts the format at the given hexadecimal cylinder number.
|
Use the VTREST command to restore a VTAPE library, a library mindisk, or individual virtual tapes from a real tape backup.
VTREST < p > < vdev < altvdev > > ( optionsoptions:
BKtape volser MOde xx CYcle nn MSg DEnsity density OWner userid FIle nnn REplace INlib p SCan LDisk nnn TApes nn LEave UPDsl MAxerror nn VOlume nnnnn MDisk vdev VTdv vdev MEssage
p | The prefix of the library to process. Defaults to the system default library. To use the system default prefix and specify an output tape drive device number, use an * for the library prefix.
|
vdev | The virtual device number of a tape drive that the backup tapes will be mounted on. The default is 181. To use the default primary device number and specify an alternate device number, use an * for the primary device number.
|
altvdev | The virtual device number of an alternate tape drive for the backup tapes.
|
BKtape volser | Requests that a specific backup tape be used for the restore. volser is the real tape volume serial. If this option or the TAPES option is not given, the cycle files are used to find the real tape volume serials. These cycle files were created on the A-disk when the VTAPE library backups were made.
|
CYcle nn | Specifies an optional backup cycle to be used for this restore. If a cycle is not specified, the latest backup of each virtual tape will be restored. This option does not apply when either the TAPES or BKTAPE option is given.
|
DEnsity density | Sets the tape density for the input backup tape. DEN defaults to the highest density supported by the drive. Valid densities are 800, 1600, 6250, and 38K. The DEN and MODE options are mutually exclusive.
|
FIle | Requests that the tape be positioned at file nnn before the restore operation begins. This option is only valid if the TAPES or BKTAPE option is specified.
|
INlib p | Specifies the prefix of the library that the backup tape to be restored was created from. The INLIB option must be given to restore virtual volumes to a library that has a different prefix from the library that was backed up.
|
LDisk nnn | Requests that only tapes that were backed up from the requested library disk be restored. nnn is the relative number of the library disk from 0 to 255.
|
LEave | Requests that the tape not be unloaded at the end of the restore.
|
MAxerror nn | Specifies the number of tape volume restore errors that should be allowed before VTREST terminates. Tape volume restore errors include I/O errors reading the tape, incorrect blocks read from the tape, etc. The default is 10 errors.
|
MDisk vdev | Requests that only tapes that were backed up from the requested library minidisk be restored. vdev is the hexadecimal device number of the library minidisk.
|
MEssage or MSg | Requests that a message be issued for each tape restored.
|
MOde xx | Specifies a tape mode set byte. xx is the character representation of a hexadecimal mode set byte. DEN and MODE are mutually exclusive.
|
OWner userid | Requests a restore of tapes owned by the specified userid only.
|
REplace | Requests that tapes in the library with the same numbers as volumes be restored be replaced. If replace is not specified, tapes with duplicate volume numbers are restored to a new volume number.
|
SCan | The scan option can be used to validate set of backup tapes. When scan is requested, no tapes are restored to the library. This option verifies that the backup tapes are readable, correct, and complete.
|
TApes nn | Specifies that the cycle files are not to be used to determine the volume serial number(s) of tapes to be mounted for the restore, and that the BKTAPE option (to give the specific volume serial number) will not be used. This option gives the number of tapes that should be requested to perform the restore. The tape or tapes mounted on the drive at address 181 will be used for the restore, and their volume serial numbers will not be checked or verified. If you use this option, you must ensure that the tapes that you mount on 181 were actually created by VTBKUP, and contain the data for the virtual tape volume or volumes that you want to restore.
|
UPdsl | Requests that the internal volume serial numbers for standard label tapes be updated to match the library volume number, if they are restored to a volume with a different number.
|
VOLUME nnnnn | Requests that a specific virtual tape volume be restored.
|
VTdev vdev | Specifies the virtual device number at which VTREST should define a virtual tape drive to restore virtual volumes. Use this parameter if you want VTREST to use a device number other than the default of 381.
|
If a disk drive containing a VTAPE library minidisk fails, you should use the following procedure:
Use the VTRPT1 command to create a volume and scratch file for a Virtual Tape library. These files are used to produce reports and scratch expired tapes.
VTRPT1 < p > ( optionsoptions:
SCROptn { BOTH | EITHer | LIBOnly | SLONly }
SCRDate yyddd or cyyddd
p | The prefix of the library to process. Defaults to the system default library.
| ||||||||
SCROptn | Gives a scratch option to override the option in the system configuration file:
| ||||||||
SCRDate yyddd or cyyddd | Provides an alternate date for determining if tapes are expired. cyyddd is a date in Julian format to be used in place of the current date for producing the scratch file. Note that no tapes will actually be scratched until VTSCR1 is run. VTSCR1 will scratch tapes based on the scratch file.
The c byte in the date controls the century of the date entered. The c byte follows the rules of the standard lable tape century byte. For dates in the 20th century (1900-1999), the century byte should should be blank. The date should be entered as yyddd For dates in the 21st century and beyond the date must be entered in the form cyyddd The c byte for the 21st century (2000-2099) is zero(0). 001365 is the last day of 2001. For those still around after the 21st century, the 22nd century c byte is 1, 23rd is 2, etc..
|
Use the VTRPT2 command to print reports from the data in the volume file created by VTRPT1.
VTRPT2 < p > ( sort optionssort options:
BLOcks MDIsk CREated OWNer DSName VOLume EXPires
p | The prefix of the library to process. Defaults to the system default library.
|
sort options | One or more keyword options for the sorted order of the report. The first keyword you specify is the major sort field. The default is to sort by volume number. The sort order is always ascending.
|
Use the VTRPT3 command to print reports about standard labeled tapes in a library. The report is produced from the SL volume file created by VTRPT1.
VTRPT3 < p > ( sort optionssort options:
CREated JOBname DSName OWNer DSVol SLVol EXPires VOLume
p | The prefix of the library to process. Defaults to the system default library.
|
sort options | One or more keyword options for the sorted order of the report. The first keyword is the major sort field. The default is to sort by volume number. The sort order is always ascending.
|
Use the VTRPT4 command to print reports about the last restore run for a library.
VTRPT4 < p > ( sort optionssort options:
IVOlume OWNer OVOlume SLVolume
p | The prefix of the library to process. Defaults to the system default library.
|
sort options | One or more keyword options for the sorted order of the report. The first keyword specified is the major sort field. The default is to sort by volume number. The sort order is always ascending.
|
Use the VTRPT5 command to print reports about virtual tape volumes that have been backed up to real tape(s).
VTRPT5 < p > ( sort optionssort options:
ALL MDIsk BKTape OWNer CYCle VOLume
p | The prefix of the library to process. Defaults to the system default library.
|
ALL | Specifies that the backup tape and cycle is to be listed for the last five backups of each volume.
|
sort options | One or more keyword options for the sorted order of the report. The first keyword specified is the major sort field. The default is to sort by volume number. The sort order is always ascending.
|
Use the VTRPT6 command to print reports showing the descriptions you have set for each virtual tape. The report is produced from the volume file created by VTRPT1.
VTRPT6 < p > ( sort optionssort options:
CREated EXPires DESCription OWNer DSName VOLume
p | The prefix of the library to process. Defaults to the system default library.
|
ALL | Specifies that the backup tape and cycle is to be listed for the last five backups of each volume.
|
sort options | One or more keyword options for the sorted order of the report. The first keyword specified is the major sort field. The default is to sort by volume number. The sort order is always ascending.
|
The VTSCR1 command reads a list of expired tapes from the scratch file built by VTRPT1 and scratches these tapes.
VTSCR1 < p > < PUrge >
p | The prefix of the library to process. Defaults to the system default library.
|
PUrge | Uses the PURGE option on the VTSCRTCH command. This is intended for use when VTRPT1 has been run with a specific date, which means that the tapes in the report may not have expired.
|
The VSSLTAPE exec is a tape mount interface for VTBKUP and VTREST. You can customize the supplied VSSLTAPE exec to pass all tape mount messages to a tape management system, or perform any other desired processing.
VSSLTAPE tape mount related message
tape mount related message | The argument passed to the exec will be one of the following CMS messages, documented in the VTAPE CMS Messages section of the VTAPE User's Guide and Reference. xxx is VTB for VTBKUP, or VTR for VTREST.
|
After VTBKUP and VTREST issue any of these messages to the terminal, they will then call the VSSLTAPE exec, passing it the same message. The supplied VSSLTAPE exec will parse the important tokens out of the message (such as the requested virtual tape drive address and the requested tape volume serial), and return to the caller. You can customize the VSSLTAPE exec to issue a tape mount request to a tape management system, echo the message to another userid, supply responses to the 'R' messages, and so on.
For the messages that require a reply, the customized exec could stack the reply. If it does, that reply will be used. If it does not stack a reply, your terminal will be placed into VM READ and you must type in the reply. Note that the prompt will go to the terminal in either case; if the exec is stacking a response, you may want to also issue a message to the terminal showing what response was stacked. That way, the user won't mistakenly supply a response that doesn't get used.
If you supply a customized VSSLTAPE exec for other users to use, such as on a public disk, you should provide them with instructions showing which messages the customized exec is handling, how it is handling them, and what its responses are, if any, to the messages requiring replies.
After installing the Virtual TAPE software, you will create the directory entries, prepare the VTAPE library minidisks, and create the VTSYSTEM customization file.
Sample directory entries are provided on the VTAPE distribution tape in a file called 'VTSAMPLE DIRECT32'.
You will create a library owner userid on each VM system that will use VTAPE. This userid must have write access to the disks of any library that will be opened for output on that system, and read or write access to the disks for read/only libraries to be opened. The library owner shown in the sample directory entry is VTAPELIB. The same ID can be used on all VM systems.
You may also create one or more additional VTAPE maintenance userids with read access to all library disks. These userids are used for printing library reports, scratching expired tapes, and performing backups and restores of virtual volumes. The library owner userid can also perform these functions.
In the following directory example,
USER VTAPELIB NOLOG * * This id is listed as the "LIBRARY$USERID" in the * VTSYSTEM ASSEMBLE file. This userid does not need to * sign on to the system. The MDISK statements define * the library minidisks for the VTAPE libraries. * * The following defines VTAPE library "A" * MDISK F00 3380 001 884 VTAP00 MW RPASS WPASS MDISK F01 3380 001 884 VTAP01 MW RPASS WPASS * * The following defines VTAPE library "B". * MDISK F10 3380 001 884 VTAP10 MW RPASS WPASS MDISK F11 3380 001 884 VTAP11 MW RPASS WPASS * USER VTMAINTA VTREAD 2M 4M BEGT * * This user runs the daily reports and scratches * and needs read links to the library disks. * * If the VTAPE CMS utilities were not copied to * the CMS system disks during installation, * VTMAINTA will require a link to the disk * that contains the utility modules. * ACCOUNT VTAPE SYSTEMS IPL CMS PARM AUTOCR CONSOLE 01F 3215 SPOOL 00C 2540 READER * SPOOL 00D 2540 PUNCH A SPOOL 00E 1403 A LINK MAINT 190 190 RR LINK MAINT 19E 19E RR * MDISK 191 3380 140 010 VMCMS1 MR * * Virtual tape library "A" * LINK VTAPELIB F00 F00 RR LINK VTAPELIB F01 F01 RR * * Virtual tape library "B" * LINK VTAPELIB F10 F10 RR LINK VTAPELIB F11 F11 RR * * USER ANYUSER PASSWD 1M 2M G * This is a standard CMS user with "SPECIAL" directory entry * statements to define virtual tape drives. * ACCOUNT ANYUSER ANYONE IPL CMS PARM AUTOCR CONSOLE 01F 3215 SPOOL 0CE 3211 A SPOOL 00C 2540 READER A SPOOL 00D 2540 PUNCH A SPOOL 00E 1403 A SPECIAL 180 V3420 SPECIAL 181 V3420 SPECIAL 288 V3480 SPECIAL 289 V3480 LINK MAINT 190 190 RR LINK MAINT 19D 19D RR LINK MAINT 19E 19E RR MDISK 191 3380 380 020 VMCMS1 MR RPASS WPASS MPASS
The VTAPE System Defaults file defines VTAPE system wide defaults, and controls the classes of users who are allowed to issue certain VTAPE commands. The System Defaults file is defined as a fixed length 80 character text file and is located on the VSSI parm disk defined with the "VSI_Disk userid vdev" initialization parameter. The System Defaults file's filename defaults to VTSYSTEM. It can be customized to any filename by coding the "VTAPE_Config fname" initialization parameter.
Note: The filetype of the System Defaults file is DEFAULTS and cannot be changed.
ccc represents a string of 1 to 32 privilege classes, as in BV or ABCDEJKLMNOPWXYZ135.
VTAPE provides both class and userid lists for assigning defaults and exceptions to guests that will use virtual tapes. Because userids can vary greatly, it is normally easier and we recommend that you use privilege classes to control the defaults and exceptions. Although the classes used to assign defaults and exceptions are specified in a user's directory entry as command privilege classes, they do not have to be classes that are related to any command.
If you set up a class, say W, that allows users to have up to fifteen 20 megabyte tapes with a twenty day retention, then any user can be given those exceptions by adding class W to their directory entry.
When a user is given a default and maximum tape size, that does not mean that every tape the user uses will use that much space in the library. When a scratch tape is mounted, it is allocated two 4K blocks in the library. As data is written to the tape, additional space is allocated to the tape, one 4K block at a time. All tape data is compressed prior to writing it to the library database.
The System Defaults file is also referred to as the System definition file.
Note: Some notes on default values.
Note: The spelling of the keywords follows the rule of the CP parser. That is to say, the capitalized part of the keyword represent the minimum acceptable abbreviation for that keyword.
LIBraries prefix vdev <nn> LIBRARY_USerid userid IN_WHile_out ccc MOUNT_FOR_other ccc READ_OTHers ccc SCRATCH_OTHers ccc SET_OTHers ccc WRITE_OTHers ccc MAINT_USer ccc AUTOL yesno AUTO_LIBrary_mount mode AUTOLOADER_MOde mode AUTOLOADER_Slots nn AUTOLOADER_MAXimum_slots nn BUFFER_DEFault nn BUFFER_MAXimum nn DEFAULT_LIB_PREFIX_Class ccc prefix DEFAULT_LIB_PREFIX_USerid userid prefix DSNAME dsname DUMMY_DSname dsname DUMMY_NUmeric yesno DUMMY_PRefix prefix KEEP nn KEEP_MAXIMUM nn KEEP_MAXIMUM_SL nn KEEP_CLASS ccc nn KEEP_CLASS_MAXIMUM ccc nn KEEP_USERID userid nn KEEP_USERID_MAXIMUM userid nn LIBRARY_OVerride prefix option LIBRARY_RO_CLass ccc LIBRARY_RO_USerid userid OPEN_FOR_OUTPUT_ON_other_cpu option SCRATCH_SET_Class prefix ccc nn nn SCRATCH_SET_USerid prefix userid nn nn SCRATCH_SL_OPTION option SIZE nn SIZE_MAXIMUM nn SIZE_CLASS ccc nn SIZE_CLASS_MAXIMUM ccc nn SIZE_USERID userid nn SIZE_USERID_MAXIMUM userid nn VOLUMES nn VOLUMES_CLASS ccc nn VOLUMES_USERID userid nn
LIBraries prefix vdev <nn>
| The prefix for a library, the virtual device number of the first minidisk of the library, and the number of minidisks in the library. The device number must end in zero, and the prefix is a single letter A-Z, or a single digit 1-9. The letter Z is normally used for for the dummy library prefix. The number of minidisks in a library can be omitted, and defaults to 16. The virtual device numbers must match the MDISK statements in the directory entry of the library disk owner userid. Note: You need one LIBraries statement per library defined, and they MUST be the first statements in the file.
| ||||||||
LIBRARY_USerid userid | The userid of the library owner. The MDISK statements in this userid's CP directory entry define the library minidisks. The default is VTAPELIB.
| ||||||||
IN_WHile_out ccc | Privilege classes of users who are authorized to mount a tape for input that is mounted by another user for output. The default class is V. Note: For this and the next 6 keywords, the 'default' applies if the keyword is omitted. If you want to disable the function entirely, specify a value of 0 for the classes. The sample file shows classes BT for these parameters.
| ||||||||
MOUNT_FOR_others ccc | Privilege classes of users who are authorized to mount a tape on another user's virtual tape drive. The default is V.
| ||||||||
WRITE_OTHers ccc | Privilege classes of users who are authorized to mount a tape for output that is owned by another user. The default is V.
| ||||||||
READ_OTHers ccc | Privilege classes of users who are authorized to mount a tape for input that is owned by another user. The default is V.
| ||||||||
SET_OTHers ccc | Privilege classes of users who are authorized to issue the VTSET command for tapes owned by other users, and to exceed the maximum SET values. The default is V.
| ||||||||
SCRATCH_OTHers ccc | Privilege classes of users who are authorized to scratch tapes owned by other users. The default is V.
| ||||||||
MAINT_USer ccc | Privilege classes of users who are considered VTAPE maintenance users. Maintenance users are allowed to use libraries that have been restricted. The default is V.
| ||||||||
AUTOLib YES or NO | Whether tape drives should be placed in auto-library mode by default. The default is NO
| ||||||||
AUTO_LIBrary_mount INPUT or OUTPUT or MODIFY
| Whether tape drives that are placed in auto-library mode should have existing tapes mounted as input tapes, as output tapes, or in MODIFY mode. (Scratch tapes are always mounted for OUTPUT.) When a non-scratch tape is mounted for OUTPUT, the user mounting the tape becomes its owner. When a non-scratch tape is mounted for MODIFY, it is an output tape, but the user mounting the tape does not become its owner. The default is INPUT
| ||||||||
AUTOLOADER_MOde AUTOMATIC or MANUAL or SYSTEM | The default autoloader mode: AUTOMATIC, MANUAL, or SYSTEM. The default is 'MANUAL'. This is the same as the autoloader mode on a real 3480, 3490 or 3590 tape drive.
| ||||||||
AUTOLOADER_Slots nn | The default number of slots (tape capacity) of each autoloader. The default is 10, and the range for nn is 1 to 32767
| ||||||||
AUTOLOADER_MAXimum_slots nn | The maximum number of slots in an autoloader. The default is 25, and the range for nn is 1 to 32767
| ||||||||
OPEN_FOR_OUTPUT_ON_other_cpu PROMPT or NOPROMPT | This option controls whether or not the operator should be prompted when a library being opened for output appears to be open for output on another processor. The user issuing the command is normally prompted to verify the open. If the user is disconnected, the system operator is prompted. The prompt consists of a verification message, and then the user or operator is placed in CP READ and must reply YES or NO. If you are using VMOPERATOR or similar software, you may not want the command issuer or the operator to be prompted, since the prompt may disrupt the operation of VMOPERATOR. This consideration does not apply to IBM's Programmable Operator Facility, if the operator userid is running disconnected. The default is PROMPT.
| ||||||||
BUFFER_DEFault nn | The number of buffers to be assigned to a virtual tape when it is mounted. The default is 20, and the range for nn is 10 to 100
| ||||||||
BUFFER_MAXimum nn | The largest number of buffers a user can request for a virtual tape. The default is 50, and the range for nn is 10 to 200
| ||||||||
DEFAULT_LIB_PREFIX_Class ccc p | Assigns a default library prefix to the users that have the
specified class. This parameter is used to assign users to different
libraries in systems that will have multiple output libraries open.
| ||||||||
DEFAULT_LIB_PREFIX_USerid userid p | Assigns a default library prefix to the userid listed. This
parameter is used to assign
users to different libraries in systems that will have multiple output
libraries open.
| ||||||||
DSNAME dsname | The data set name to be used in the standard HDR1 label when a virtual scratch tape is mounted. The default is 'VIRTUAL.TAPE'.
| ||||||||
DUMMY_DSname dsname | The data set name to be used in the standard HDR1 label when a virtual dummy tape is mounted. The default is 'DUMMY.TAPE'.
| ||||||||
DUMMY_NUmeric yesno | When DUMMY_NUmeric is set to "YES" the volume serial displayed for dummy tapes is all numeric. Dummy tape volume numbers up 999999 can be uesd. The lirary prefix used for commands is the prefix assigned by the DUMMY_PRefix statement. A VTM vdev Znnnnn can have a maximum number of 99999. To moumt a volume with a higher number you must use VTM vdev DUMMY VOL nnnnn The VOL parameter for the VTLOADER and VTMOUNT commands will accept a 6 digit number for dummy tapes. If a drive is set to AUTOlib with a DEFAULTlib of the dummy library volume numbers up to 999999 will be used. The default is NO.
| ||||||||
DUMMY_PRefix prefix | The library prefix to be used in the volser when a dummy tape volume is mounted. This prefix should be different from the prefix of any other library defined in the system. The default is Z.
| ||||||||
KEEP nn | The default retention period, in days, for virtual tapes created by users whose userids or privilege classes do not appear in the following exception lists. The default is 3 and the range for nn is 1 to 32767
| ||||||||
KEEP_MAXIMUM nn | The maximum retention period, in days, that can be set by users whose userids or privilege classes do not appear in the following exception lists. The default is 90 and the range for nn is 1 to 32767
| ||||||||
KEEP_MAXIMUM_SL nn | The maximum retention period taken from the VOL1 label of an IBM standard labeled tape, used in calculating the expiration date in conjunction with the SCRATCH_SL_OPTION. The default is 365 and the range for nn is 1 to 32767
| ||||||||
KEEP_CLASS ccc nn | The default retention period, in days, for virtual tapes created by users who have the given privilege class. Code one keyword per ccc nn set.
| ||||||||
KEEP_CLASS_MAXIMUM ccc nn | The maximum retention period, in days, that can be set by users who have the given privilege class. Code one keyword per ccc nn set.
| ||||||||
KEEP_USERID userid nn | The default retention period, in days, for virtual tapes created by specific users. Code one keyword per userid nn set.
| ||||||||
KEEP_USERID_MAXIMUM userid nn | The maximum retention period, in days, that can be set by specific users. Code one keyword per userid nn set.
| ||||||||
LIBRARY_OVerride prefix <INClude> | Any keywords following this one (until another LIBRARY_OV is found or until E.O.F is reached) will only affect the library specified by prefix. If the option INClude is also coded, VTAPE will search the common class and userid exception lists if it does not find a match in the overridden definitions.
| ||||||||
LIBRARY_RO_CLass ccc | Users with the specified classes will only have R/O access regardless of the R/W status of the library.
| ||||||||
LIBRARY_RO_USerid userid | Userid specified will only have R/O access regardless of the R/W status of the library. Code one keyword per userid
| ||||||||
SCRATCH_SET_Class prefix ccc nn nn | Specifies, on a library basis, what ranges of scratch tapes are available to users having the defined CP classes. The default is no sets defined. Code one keyword per prefix ccc nn nn set.
| ||||||||
SCRATCH_SET_USerid prefix userid nn nn | Specifies, on a library basis, what ranges of scratch tapes are
available, to specific userids. The default is no sets defined.
| ||||||||
SCRATCH_SL_OPTION option | One of the following four options can be selected to control the date used to determine if an IBM standard labeled tape has expired and should be scratched:
The default is BOTH.
| ||||||||
SIZE nn | The default size, in megabytes, that is assigned to each new virtual tape. The default is 20, the range for nn is 1 to 9999
| ||||||||
SIZE_MAXIMUM nn | The maximum size of a virtual tape, in megabytes, that can be set by users whose userids or privilege classes do not appear in the following exception lists. The default is 50, the range for nn is 1 to 9999
| ||||||||
SIZE_CLASS ccc nn | The default size, in megabytes, that is assigned to each new virtual
tape created by users who have the given privilege class.
| ||||||||
SIZE_CLASS_MAXIMUM ccc nn | The maximum size of a virtual tape, in megabytes, that can be set
by users who have the given privilege class.
| ||||||||
SIZE_USERID userid nn | The default size, in megabytes, that is assigned to each new virtual
tape created by specific users.
| ||||||||
SIZE_USERID_MAXIMUM userid nn | The maximum size of a virtual tape, in megabytes, that can be set
by specific users.
| ||||||||
VOLUMES nn | The maximum number of tapes that can be owned by users whose userids or privilege classes do not appear in the following exception lists. The default is 10, the range for nn is 1 to 32000
| ||||||||
VOLUMES_CLASS ccc nn | The maximum number of tapes that can be owned by users with
the given privilege class.
| ||||||||
VOLUMES_USERID userid nn | The maximum
number of tapes that can be owned by specific users.
|
You should follow these steps to customize VTAPE after you have installed it in your VM system. Detailed information on the directory entries, and on creating the VTSYSTEM DEFAULTS file, is contained in the previous chapters.
LINK * F00 F00 WR wpass LINK * F01 F01 WR wpass etc....
VTFMT F00 VTFMT F01 etc....
VTOPEN OUTLIB A
If you have input libraries available to your system, use VTOPEN ALL OUTLIB A instead. See the VTOPEN command description for details.
If there are any errors during the open, error messages will be issued to your terminal and to the VM operator.
define V3420 181 vtmount 181 scratch desc 'test tape' tape dump profile exec tape rew tape scan tape run detach 181
If you do this, you will need to use the directory load module (DIRECTXA) that was created during VTAPE installation each time you update the source directory.
To guard against losing VTAPE library data, especially in the event of disk drive failures, it is strongly recommended that you use VTBKUP to back up the VTAPE subsystem to real tapes on a regular basis.
Several IBM CP modules are updated to interface to Virtual TAPE, or to bypass real tape processing for virtual tape drives. These modifications are described in the VTAPE VMMODS file on the VSSI installation disk.
VTAPE modules are added to the CP nucleus during installation. VTAPE CP module names start with RVT.