zHost console operations
This chapter describes commands and procedures that intertwine with the z/OS host operating system.
This chapter includes the following topics:
12.1 System-managed tape
This section describes the commands that are used to operate a tape library in an IBM z/OS and system-managed tape environment. It is not intended to replace the full operational procedures in the product documentation. It is a quick reference for some of the more useful DFSMS and MVS commands.
12.1.1 DFSMS operator commands
Some of the commands contain libname as a variable. In this case, the storage management subsystem (SMS)-defined library name is required. The output for some of these commands differs slightly depending on whether you reference a TS7700 composite library or distributed library. For more information about DFSMS commands, see z/OS DFSMS Object Access Method Planning, Installation, and Storage Administration Guide for Tape Libraries, SC23-6867.
Information from the IBM TS4500/TS3500 Tape Library is contained in some of the outputs. However, you cannot switch the operational mode of the TS4500/TS3500 Tape Library with z/OS commands.
 
Consideration: DFSMS and MVS commands apply only to SMS-defined libraries. The library name that is defined during the definition of a library in Interactive Storage Management Facility (ISMF) is required for libname in the DFSMS commands. The activation of a source control data set (SCDS) with this libname must be performed for SMS to recognize the library.
The following DFSMS operator commands support the tape library:
DISPLAY SMS,LIBRARY(libname|ALL),STATUS
This command is an SMS Configuration level view, which indicates whether the SMS-defined libraries are online, offline, or pending offline, on each of the systems in the configuration.
STATUS is the default parameter.
DISPLAY SMS,LIBRARY(ALL),DETAIL
Although a single-system view, the DETAIL display gives much more information. This method is suggested to display a high-level overview of each library that is defined to SMS in the configuration (see Example 12-1).
Example 12-1 D SMS,LIB(ALL),DETAIL
D SMS,LIB(ALL),DETAIL
CBR1110I OAM library status: 738
TAPE LIB DEVICE TOT ONL AVL TOTAL EMPTY SCRTCH ON OP
LIBRARY TYP TYPE DRV DRV DRV SLOTS SLOTS VOLS
CLIB00 VCL GRID 512 0 0 0 0 0 N Y
DTS7720 VDL 3957-VEB 0 0 0 559 516 0 Y Y
D0001 VDL 3957-V07 0 0 0 1000 960 0 Y N
D0002 VDL 3957-V07 0 0 0 1000 880 0 Y N
E0001 VDL 3957-V07 0 0 0 1000 883 0 Y N
E0002 VDL 3957-V07 0 0 0 1000 880 0 Y N
HYDRAE VDL 3957-V07 0 0 0 185 129 0 Y Y
HYDRAG VCL GRID 512 2 2 0 0 45547 Y Y
DISPLAY SMS,LIBRARY(libname),DETAIL
This command provides details about the status of a single library. It is the only command that displays the library operational state (auto, pause, or manual mode). The status lines at the bottom of the output are surfaced based on information that is obtained directly from the library (see Example 12-2).
Example 12-2 D SMS,LIB(libname),DETAIL
D SMS,LIB(HYDRAG),DETAIL
CBR1110I OAM library status: 754
TAPE LIB DEVICE TOT ONL AVL TOTAL EMPTY SCRTCH ON OP
LIBRARY TYP TYPE DRV DRV DRV SLOTS SLOTS VOLS
HYDRAG VCL GRID 512 2 2 0 0 45547 Y Y
----------------------------------------------------------------------
MEDIA SCRATCH SCRATCH SCRATCH
TYPE COUNT THRESHOLD CATEGORY
MEDIA1 10 0 0021
MEDIA2 45537 0 0022
----------------------------------------------------------------------
DISTRIBUTED LIBRARIES: HYDRAE DTS7720
----------------------------------------------------------------------
LIBRARY ID: 00186
OPERATIONAL STATE: AUTOMATED
ERROR CATEGORY SCRATCH COUNT: 1
CORRUPTED TOKEN VOLUME COUNT: 24
----------------------------------------------------------------------
Library supports import/export.
Library supports outboard policy management.
Library supports logical WORM.
Library enabled for scratch allocation assistance.
DISPLAY SMS,VOLUME(volser)
This command displays all of the information that is stored about a volume in the tape configuration database (TCDB), also known as the VOLCAT, and information that is obtained directly from the library, such as the LIBRARY CATEGORY, LM constructs (SMS constructs that are stored in the library), and LM CATEGORY (see Example 12-3).
Example 12-3 D SMS,VOLUME(volser)
D SMS,VOL(B00941)
RESPONSE=MZPEVS2
CBR1180I OAM tape volume status: 195
VOLUME MEDIA STORAGE LIBRARY USE W C SOFTWARE LIBRARY
TYPE GROUP NAME ATR P P ERR STAT CATEGORY
B00941 MEDIA2 SGG00001 HYDRAG P N N NOERROR PRIVATE
-------------------------------------------------------------------
RECORDING TECH: 36 TRACK COMPACTION: YES
SPECIAL ATTRIBUTE: NONE ENTER/EJECT DATE: 2011-02-14
CREATION DATE: 2011-02-14 EXPIRATION DATE: 2014-11-15
LAST MOUNTED DATE: 2014-11-10 LAST WRITTEN DATE: 2014-11-10
SHELF LOCATION:
OWNER: DENEKA
LM SG: SGG00001 LM SC: SC00030R LM MC: MNDNN020 LM DC: D000N004
LM CATEGORY: 002F
DISPLAY SMS,OAM
This command (as shown in Example 12-4) is primarily useful for checking the status of the object access method (OAM) user exits and, if the CBROAMxx parmlib member was used during OAM startup and a SETTLIB parameter specified, the suffix of this member.
Example 12-4 D SMS,OAM
D SMS,OAM
RESPONSE=MZPEVS2
CBR1100I OAM status: 744
TAPE TOT ONL TOT TOT TOT TOT TOT ONL AVL TOTAL
LIB LIB AL VL VCL ML DRV DRV DRV SCRTCH
3 1 0 0 3 0 1280 2 2 45547
There are also 7 VTS distributed libraries defined.
CBRUXCUA processing ENABLED.
CBRUXEJC processing ENABLED.
CBRUXENT processing ENABLED.
 CBRUXVNL processing ENABLED.
 CBROAM: 00
VARY SMS,LIBRARY(libname),ONLINE/OFFLINE
From the host perspective, the vary online and vary offline commands for a TS7700 library always use the library name as defined through ISMF.
This command acts on the SMS library, which is referred to as libname. The use of this command on the composite library with the OFFLINE parameter stops tape library actions and gradually makes all of the tape units within this composite library unavailable. This simple form is a single-system form. The status of the library remains unaffected in other MVS systems.
 
Note: A composite and distributed IBM Virtual Tape Server (VTS) library can be varied online and offline like any VTS library, though varying a distributed library offline from the host really has no meaning (does not prevent outboard usage of the library). Message CBR3016I warns the user when a distributed library is offline during OAM initialization or is varied offline while OAM is active.
The use of this command with the ONLINE parameter is required to bring the SMS-defined library back to operation after it is offline.
VARY SMS,LIBRARY(libname,sysname,...),ON/OFF and VARY SMS,LIBRARY(libname,ALL),ON/OFF
This extended form of the VARY command can affect more than one system. The first form affects one or more named MVS systems. The second form runs the VARY action on all systems within the SMSplex.
The VARY SMS command enables the short forms ON as an abbreviation for ONLINE and OFF as an abbreviation for OFFLINE.
LIBRARY EJECT,volser,{PURGE|KEEP|LOCATION}
Consider the following points:
 – When used against a real, physical volume, the LIBRARY EJECT command instructs the library the volume is in to EJECT the volume. With a TS7700, all the volumes that are contained within are virtual, so no volume can be physically ejected.
Therefore, when issued against a virtual volume in a TS7700, the EJECT command is used to delete that virtual volume from the TS7700. Virtual volumes can be deleted only if they are in a scratch category.
This command cannot be used to eject a physical backend volume from a TS3500 or TS4500 because the host has no knowledge of backend tape libraries. The following options are available for this command:
 • Remove the volume record from the TCDB (PURGE or P).
 • Keep the volume record in the TCDB and update it to indicate that the cartridge was ejected (KEEP or K). If the record contains information in the SHELF location field, it is not changed. If the SHELF location field is empty, the operator must enter information about the new location as a reply to write to operator with reply (WTOR). The reply can be up to 32 characters long.
 • Keep the volume record in the TCDB and update it, including updating the SHELF location, even if information is in this field (LOCATION or L). The operator must enter the new information as a reply to WTOR.
If none of the variations (PURGE, KEEP, or LOCATION) is indicated in the command, a default decides whether the record is kept or purged. This default can be set separately for each library through the ISMF Library Definition window.
This command is available for the operator to delete a single virtual volume. Mass deletion of virtual volumes is performed through program interfaces, such as ISMF, a tape management system (TMS), or a batch job.
12.1.2 MVS system commands
For more information about the following commands, see z/OS MVS System Commands, SA38-0666:
VARY unit,ONLINE/OFFLINE
The VARY unit command is no different from what it was before. However, new situations are seen when the affected unit is attached to a library.
When the library is offline, the tape units cannot be used. This state is internally indicated in a status (offline for library reasons), which is separate from the normal unit offline status. A unit can be offline for library and single-unit reasons.
A unit that is offline only for library reasons cannot be varied online by running VARY unit,ONLINE. Only VARY SMS,LIBRARY(...),ONLINE can bring it back online.
You can bring a unit online that was individually varied offline, and was offline for library reasons, by varying it online individually and varying its library online. Although the order of these activities is not important, both are necessary.
LIBRARY DISPDRV,library_name
The LIBRARY DISPDRV (LI DD) command (with output shown in Example 12-5) indicates whether a device is online or offline, and the reason if it is offline.
Example 12-5 LIBRARY DISPDRV command against a composite library
LIBRARY DISPDRV,COMPLIB1
CBR1220I Tape drive status: 914
DRIVE DEVICE LIBRARY ON OFFREASON LM ICL ICL MOUNT
NUM TYPE NAME LI OP PT CU AV CATEGRY LOAD VOLUME
1C00 3490 3484F N N Y Y N - --N/A-- -
1C01 3490 3484F Y N N N N A NONE N
1C02 3490 3484F N N Y Y N - --N/A-- -
1C03 3490 3484F N N Y Y N - --N/A-- -
Another form of this command includes the MOUNTED keyword. This keyword specifies that status information is displayed for volumes that are mounted in the TS7700 for the specified library (composite or distributed). The status information includes the distributed library that owns the device for the mount, and distributed library information that is associated with the primary and the secondary Tape Volume Cache (TVC).
An ALL parameter is available that can be passed with MOUNTED. ALL specifies that more drives can be displayed that are not owned by the distributed library that is targeted in the command. The extra drives are displayed if the distributed library that is specified is the primary or secondary TVC for the mounted volume.
As with the LI DD command, the host must communicate with the device and the device can be online or offline. Unlike the LI DD command, the OAM address space must be started on the host, but does not have to be currently active.
The intent of the addition of MOUNTED to the LI DD command is to provide a way to tell which devices and volumes are mounted where in the grid without having to query individual volumes. This parameter should aid in the process of placing a cluster into service mode by simplifying the process of identifying which devices must be varied offline or helping to identify which jobs must complete.
The LIBRARY DISPDRV MOUNTED{,ALL} command uses the following syntax:
LIBRARY DISPDRV,library_name,MOUNTED or
LIBRARY DISPDRV,library_name,MOUNTED,ALL
or
LI DD,library_name,M
LI DD,library-name,M,A
The library_name can be a composite or distributed library. The following examples illustrate the differences in the display output (the configuration for the clusters in the example COMPLIB1 grid):
 – DISTLIB1 – (1C00 – 1CFF)
Devices 1C05, 1C10, 1C25, 1C30, 1C45, and 1C48 are mounted. The mounts are satisfied by the primary TVC being DISTLIB1. Synchronous mode copy is not used for allocations that are directed to this cluster.
 – DISTLIB2 – (1D00 - 1DFF)
Devices 1D03, 1D1C, 1D22, 1D35, and 1D42 are mounted. The primary TVC is DISTLIB1 for some of the volumes and DISTLIB2 for others. The mounted volumes are in synchronous mode and copied to DISTLIB3.
 – DISTLIB3 – (1E00 - 1EFF)
Devices 1E1F, 1E21, 1E30, 1E56, and 1E68 are mounted. The primary TVC is a combination of all three clusters. Synchronous mode copy is not used for allocations that are directed to this cluster.
In Example 12-6, all volumes that are mounted in the grid are displayed along with the distributed library in which they are mounted.
Example 12-6 LIBRARY DISPDRV MOUNTED command against a composite library
LIBRARY DISPDRV,COMPLIB1,MOUNTED
CBR1230I Mounted status:
DRIVE COMPLIB ON MOUNT DISTLIB PRI-TVC SEC-TVC
NUM NAME VOLUME Name DISTLIB DISTLIB
1C05 COMPLIB1 Y A00100 DISTLIB1 DISTLIB1
1C10 COMPLIB1 Y A00108 DISTLIB1 DISTLIB1
1C25 COMPLIB1 Y A00115 DISTLIB1 DISTLIB1
1C30 COMPLIB1 Y A00050 DISTLIB1 DISTLIB1
1C45 COMPLIB1 Y A00142 DISTLIB1 DISTLIB1
1C48 COMPLIB1 Y A01001 DISTLIB1 DISTLIB1
1D03 COMPLIB1 Y A00118 DISTLIB2 DISTLIB1 DISTLIB3
1D1C COMPLIB1 Y A00124 DISTLIB2 DISTLIB2 DISTLIB3
1D22 COMPLIB1 Y A00999 DISTLIB2 DISTLIB1 DISTLIB3
1D35 COMPLIB1 Y A00008 DISTLIB2 DISTLIB2 DISTLIB3
1D42 COMPLIB1 Y A00175 DISTLIB2 DISTLIB1 DISTLIB3
1E1F COMPLIB1 Y A00117 DISTLIB3 DISTLIB3
1E21 COMPLIB1 Y A02075 DISTLIB3 DISTLIB1
1E30 COMPLIB1 Y A01070 DISTLIB3 DISTLIB1
1E56 COMPLIB1 Y A00004 DISTLIB3 DISTLIB2
1E68 COMPLIB1 Y A00576 DISTLIB3 DISTLIB3
In Example 12-7, the command is directed to a specific distributed library in the grid. You see the mounts for devices only in that specific distributed library.
Example 12-7 LIBRARY DISPDRV MOUNTED command against a distributed library
LIBRARY DISPDRV,DISTLIB3,MOUNTED
CBR1230I Mounted status:
DRIVE COMPLIB ON MOUNT DISTLIB PRI-TVC SEC-TVC
NUM NAME VOLUME Name DISTLIB DISTLIB
1E1F COMPLIB1 Y A00117 DISTLIB3 DISTLIB3
1E21 COMPLIB1 Y A02075 DISTLIB3 DISTLIB1
1E30 COMPLIB1 Y A01070 DISTLIB3 DISTLIB1
1E56 COMPLIB1 Y A00004 DISTLIB3 DISTLIB2
1E68 COMPLIB1 Y A00576 DISTLIB3 DISTLIB3
In Example 12-8, the ALL keyword was added to the command. It now includes all mounts where the DISTLIB, PRI-TVC, or SEC-TVC is the distributed library that is specified on the command.
Example 12-8 LIBRARY DISPDRV MOUNTED ALL command against a distributed library
LIBRARY DISPDRV,DISTLIB3,MOUNTED,ALL
CBR1230I Mounted status:
DRIVE COMPLIB ON MOUNT DISTLIB PRI-TVC SEC-TVC
NUM NAME VOLUME Name DISTLIB DISTLIB
1D03 COMPLIB1 Y A00118 DISTLIB2 DISTLIB1 DISTLIB3
1D1C COMPLIB1 Y A00124 DISTLIB2 DISTLIB2 DISTLIB3
1D22 COMPLIB1 Y A00999 DISTLIB2 DISTLIB2 DISTLIB3
1D35 COMPLIB1 Y A00008 DISTLIB2 DISTLIB2 DISTLIB3
1D42 COMPLIB1 Y A00075 DISTLIB2 DISTLIB1 DISTLIB3
1E1F COMPLIB1 Y A00117 DISTLIB3 DISTLIB3
1E21 COMPLIB1 Y A02075 DISTLIB3 DISTLIB1
1E30 COMPLIB1 Y A01070 DISTLIB3 DISTLIB1
1E56 COMPLIB1 Y A00004 DISTLIB3 DISTLIB2
1E68 COMPLIB1 Y A00576 DISTLIB3 DISTLIB3
For more information about this command and its output, see z/OS DFSMS Object Access Method Planning, Installation, and Storage Administration Guide for Tape Libraries, SC23-6867.
DISPLAY M=DEV(xxxx)
The D M=DEV command is useful for checking the operational status of the paths to the device (see Example 12-9).
Example 12-9 D M=DEV
D M=DEV(2500)
IEE174I 04.29.15 DISPLAY M 626
DEVICE 02500 STATUS=OFFLINE
CHP B2 B3 B8 B9
ENTRY LINK ADDRESS 20 21 22 23
DEST LINK ADDRESS D4 D5 D6 D7
PATH ONLINE Y Y N N
CHP PHYSICALLY ONLINE Y Y Y Y
PATH OPERATIONAL Y Y Y Y
MANAGED N N N N
CU NUMBER 2500 2500 2500 2500
MAXIMUM MANAGED CHPID(S) ALLOWED: 0
DESTINATION CU LOGICAL ADDRESS = 00
SCP CU ND = NOT AVAILABLE
SCP TOKEN NED = 003490.C2A.IBM.78.0000000H6395.0000
SCP DEVICE NED = 003490.C2A.IBM.78.0000000H6395.0000
DISPLAY U
The DISPLAY U command displays the status of the requested unit. If the unit is part of a tape library (manual or automated), device type 348X is replaced by 348L. An IBM 3490E is shown as 349L, and a 3590 or 3592 is shown as 359L.
MOUNT devnum, VOL=(NL/SL/AL,serial)
The MOUNT command allows you to allocate an I/O device to all job steps that require a particular volume without intervening de-mountings and remountings of the volume.
UNLOAD devnum
The UNLOAD command enables you to unload a drive if the Rewind Unload (RUN) process was not successful initially.
12.1.3 Host Console Request function
The LIBRARY REQUEST host console command (LI REQ) provides a simple way for an operator to determine the status of the TS7700 to obtain information about the resources of the TS7700, or to run an operation in the TS7700. It can also be used with automation software to obtain and analyze operational information that can then be used to alert a storage administrator that something must be examined further.
Optionally, RACF (or an equivalent security product) can be used to control which users can issue the command. Access is controlled by way of the MVS.LIBRARY.REQUEST resource. For more information, see DFSMS Object Access Method Planning, Installation, and Storage Administration Guide for Tape Libraries, SC23-6867-30.
 
Note: Be careful to not submit too many LI REQ commands on a host at one time. Some commands (such as those commands that display TS7700 data) run quickly, but others (those commands that instruct the TS7700 to take an action) can take longer.
LI REQ commands are processed in the M2 command class that is shared with other commands such as LOGON and START. A total of 50 commands can be run concurrently in the M2 class. Commands that are issued in excess of this value remain queued until 1 of those 50 running commands completes processing.
It is recommended to insert a delay between issuing LI REQ commands that are not strictly used to display TS7700 data. This recommendation is made to prevent flooding the queue with LI REQ commands. Flooding the queue can lead to the other commands in the queue not being processed in a timely manner.
If more LI REQ commands are submitted than can concurrently be processed, the following message is issued:
IEE806A COMMANDS EXCEED LIMIT IN COMMAND CLASS M2
If the need arises to remove all LI REQ commands (that is, those not running) from the queue (for example, if thousands of LI REQ commands are queued and are preventing other commands, such as LOGON or START to be processed) the following command can be issued:
CMDS REMOVE,CLASS=M2,CMD=LI
If issuing from a console on a z/OS host in not wanted or available, the TS7700 Management Interface (MI) enables an operator to issue a Library Request host console command as though it was issued from the z/OS host. The result of the command is displayed on the MI window.
The command accepts the following parameters:
A library name, which can be a composite or a distributed library.
It also enables 1 - 4 keywords, with each keyword being a maximum of 8 characters.
The specified keywords are passed to the TS7700 that is identified by the library name to instruct it about what type of information is being requested or which operation is to be run. Based on the operation that is requested through the command, the TS7700 then returns information to the host that is displayed in multiline write to operator (WTO) message CBR1280I.
 
Note: The information that is presented in the CBR1280I message comes directly from the hardware as a response to the LI REQ command. Contact IBM Hardware Support if you have a question about the information that is presented to the host in the CBR1280I messages that are generated as a response to an LI REQ command.
This section describes some of the more useful and common LI REQ commands that a client can use. For more information about the Host Console Request functions and responses, see IBM TS7700 Series z/OS Host Command Line Request User's Guide Version 5.1.
Command syntax for the Host Console Request function
The Host Console Request is also referred to as the LIBRARY REQUEST command. The syntax of the command is shown in Example 12-10.
Example 12-10 Host Console Request function syntax
>>__ _LIBRARY_ ___REQUEST___,__library_name________________________>
|_LI______| |_REQ_____|
 
>___ _,keyword1___________________________________________________><
|_,keyword2____________________| |_,L=_ _a______ __|
|_,keyword3____________________| |_name___|
|_,keyword4____________________| |_name-a_|
The following parameters are required:
REQUEST | REQ Specifies a request to obtain information from the TS7700, or to run an outboard operation.
library_name Specifies the library name that is associated with the TS7700 to which the request must be directed. The library name that is specified can be a composite or a distributed library, and which library is applicable depends on the other keywords specified.
keyword1 Specifies the operation is to be run on the TS7700.
The following parameters are optional. These parameters depend on the first keyword that is specified. Based on that first keyword, zero or more of these keywords might be needed:
keyword2
Specifies more information in support of the operation that is specified with the first keyword.
keyword3
Specifies more information in support of the operation that is specified with the first keyword.
keyword4
Specifies more information in support of the operation that is specified with the first keyword.
L={a | name | name-a}
Specifies where to display the results of the inquiry: The display area (L=a), the console name (L=name), or both the console name and the display area (L=name-a). The name parameter can be an alphanumeric character string.
Consider the following points:
If the request is specific to the composite library, the composite library name must be specified.
If the request is specific to a distributed library, the distributed library name must be specified.
If a request for a distributed library is received on a virtual drive address on a TS7700 cluster of a separate distributed library, the request is routed to the appropriate cluster for handling. The response is then routed back through the requesting device address.
LIBRARY REQUEST,composite_library,STATUS,GRID
In addition to surfacing other information about the status of a grid, this command is an easy way to determine what microcode level exists for each cluster in a grid. Sample output for this command is shown in Example 12-11.
Example 12-11 LIBRARY REQUEST,libname,STATUS,GRID
LIBRARY REQUEST,ATL3484F,STATUS,GRID
CBR1020I Processing LIBRARY command: REQUEST,ATL3484F,STATUS,GRID.
IEF196I IEF237I 0801 ALLOCATED TO SYS00093
CBR1280I Library ATL3484F request. 467
Keywords: STATUS,GRID
----------------------------------------------------------------------
GRID STATUS V2 .0
COMPOSITE LIBRARY VIEW
IMMED-DEFERRED OWNERSHIP-T/O RECONCILE HCOPY
LIBRARY STATE NUM MB MODE NUM NUM ENB
cluster0 ON 0 0 - 0 0 Y
cluster1 ON 0 0 - 0 0 Y
cluster2 ON 0 0 - 0 0 Y
----------------------------------------------------------------------
COMPOSITE LIBRARY VIEW
SYNC-DEFERRED
LIBRARY NUM MB
cluster0 0 0
cluster1 0 0
cluster2 0 0
----------------------------------------------------------------------
DISTRIBUTED LIBRARY VIEW
RUN-COPY-QUEUE DEF-COPY-QUEUE LSTATE PT FAM
LIBRARY STATE NUM MB NUM MB
cluster0 ON 0 0 0 0 A Y -
cluster1 ON 0 0 0 0 A N -
cluster2 ON 0 0 0 0 A N -
----------------------------------------------------------------------
ACTIVE-COPIES
LIBRARY RUN DEF
cluster0 0 0
cluster1 0 0
cluster2 0 0
----------------------------------------------------------------------
LIBRARY CODE-LEVELS
cluster0 8.41.269.6810
cluster1 8.41.200.41
cluster2 8.41.269.6810
LIBRARY REQUEST,composite_library,LVOL,volser,INFO(,FLASH)
The LIBRARY REQUEST,composite_library,LVOL,volser,INFO(,FLASH) command allows an operator on the host to obtain the information the grid stores about a particular logical volume. This command can be used when you do not want to use the TS7700 MI to display the logical volume information.
Starting with R4.2, the LIBRARY REQUEST,composite_library,LVOL,volser command was replaced by the command with the following syntax:
LIBRARY REQUEST,composite_library,LVOL,volser,INFO
If the INFO keyword is not used, the following lines are always provided to prompt the user to use the new keyword:
>>> THIS LI REQ IS NO LONGER MAINTAINED. PLEASE ADD 3RD KW 'INFO'
>>> TO GET LVOL INFORMATION WITH NEW FORMAT.
The response lines are formatted as shown in the following example (CC only included if all clusters in the grid are at R5.1 or higher):
LOGICAL VOLUME INFO V2 .0
LOGICAL VOLUME : Z10000
MEDIA, FMT, MAX(MB), CWRAP : ECST, 6, 800, N
SIZE(MB) COMP, CHAN, RATIO : 14, 95, 6.38:1(FICON)
CURRENT OWNER, TVC LIB : Arabian, Lipizzan
MOUNTED LIB/DV, MNT STATE : -/-, -
CACHE PREFERENCE, CATEGORY : PG1, 0001 (SCRATCH)
LAST MOUNTED (UTC) : 2018-08-28 03:34:31
LAST MODIFIED LIB/DV, UTC(UTC): Lipizzan/0000, 2018-08-28 03:34:25
KNOWN CPYS, REQ, REMOVED : 1, 1, 0 (N)
DEL EXP, WHEN (UTC) : N, -
HOT, FLASH COPY : N, ACTIVE
----------------------------------------------------------------------
LIBRARY RQ CA P-PVOL S-PVOL CPS CPQ CPP RM CP CD CC
Lipizzan N Y ------ ------ CMP - DEF N 2 0  C
Arabian N N ------ ------ NOR - NOC N 0 0  A
cluster2 N N ------ ------ NOR - NOC N 0 0  N
Palomino N N ------ ------ NOR - NOC N 1 0  N
12.1.4 Library LMPOLICY command
Use the LIBRARY LMPOLICY command to assign or change a volume’s policy names outboard at the library. You can use this command only for private, library-resident volumes that are in a library that supports outboard policy management.
The processing for the LIBRARY LMPOLICY command runs the Library Control System (LCS) external services FUNC=CUA function. Any errors that the Change Use Attribute (CUA) interface returns can also be returned for the LIBRARY LMPOLICY command.
If the change use attribute installation exit (CBRUXCUA) is enabled, the CUA function calls the installation exit. The exit can override the policy names that you set by using the LIBRARY LMPOLICY command.
The results of this command are specified in the text section of message CBR1086I. To verify the policy name settings and to see whether the CBRUXCUA installation exit changed the policy names you set, display the status of the volume (D SMS,VOLUME(volser)).
The syntax of the LIBRARY LMPOLICY command to assign or change volume policy names is shown in Example 12-12.
Example 12-12 LIBRARY LMPOLICY command syntax
LIBRARY|LI LMPOLICY|LP ,volser ,SG= Storage Group name |*RESET*
,SC= Storage Class name |*RESET*
,MC= Management Class name |*RESET*
,DC= Data Class name |*RESET*
The following parameters are required:
LMPOLICY | LP
Specifies a request to set one or more of a private volume’s policy names in the TS7700.
Volser
Volser specifies the volume serial number of a private volume that is in a TS7700.
You must specify at least one of the following optional parameters. These parameters can be specified in any order:
 – SG={Storage Group name | *RESET*}
Specifies a construct name for the SG parameter
 – SC={Storage Class name | *RESET*}
Specifies a construct name for the SC parameter
 – MC={Management Class name | *RESET*}
Specifies a construct name for the MC parameter
 – DC={Data Class name | *RESET*}
Specifies a construct name for the DC parameter
If the request is successful, the construct name is changed to the requested name. If you specify the *RESET* keyword, you are requesting that OAM set this construct to the default, which is blanks.
The values that you specify for the SG, SC, MC, and DC policy names must meet the storage management subsystem (SMS) naming convention standards:
Alphanumeric and national (special) characters only
Name must begin with an alphabetical or national (special) character ($, *, @, #, or %)
No leading or embedded blanks
Eight characters or less
12.1.5 Useful DEVSERV commands
Some of the most useful DEVSERV commands are described in this section.
DEVSERV QTAPE command
The DEVSERV QTAPE or DS QT command allows a query of the basic configuration of the SMS tape library as it is defined in the input/output definition file (IODF). With the RDC operand, it is useful for viewing the Composite Library ID and libport ID associated with a device.
 
Note: The DS QT command with the QHA operand can display which systems and SYSplexs are connected to a specific device in a cluster. For more information, see 12.9.2, “Other commands built to support CUIR functionality” on page 644.
The following command shows the syntax:
DS QT,devnum,1,RDC
The following are the values in the command:
DS Device service
QT Query tape
devnum Device address
1 Number of devices to be displayed
RDC Read device characteristics
Figure 12-1 shows the output of a DS QT system command.
Figure 12-1 Sample DEVSERV QT command output
 
Clarification: The distributed library number or cluster index number for a specific logical drive can be determined by using the DS QT command. As shown in Figure 12-1, the response shows LIBPORT-ID 01 for logical drive 1C01. LIBPORT-ID 01 is associated with Cluster 0. For more information about the association between distributed libraries and LIBPORT-IDs, see 6.2.1, “Defining devices through HCD” on page 240.
From the DS QT command that is shown in Figure 12-1, you can derive the LIBRARY-ID for the composite library and the LIBPORT-ID of the logical control unit (LCU) that is presenting the logical device.
The real device type of the physical devices is unknown to the host, and DEVSERV always shows 3592 as DEVTYPE. The LIBID field identifies the composite library ID associated with the device.
 
Tip: You can get the device type of the backend physical drives of a distributed library from the following LI REQ command: 
LI REQ,<distributed library name>,PDRIVE
On the z/OS host, the QHA (Query Host Access to volume) option can be used on the DEVSERV QTAPE command. This option allows the command to surface which systems and sysplexes are connected to a specific device in a cluster. For more information about the syntax and output of the DS QT command using the QHA option, see “DEVSERV QTAPE,xxxx,QHA” on page 647.
DEVSERV QLIB,CATS command
The command DS QLIB,CATS allows you to view and change logical VOLSER categories without needing to initial program load (IPL) the system. Example 12-13 shows how to list all of the categories that are in use on a system.
Example 12-13 Sample output of DEVSERV QLIB,CATS
DS QL,CATS
IEE459I 10.56.27 DEVSERV QLIB 626
5001 5002 5003 5004 5005 5006 5007 5008 5009 500A 500B 500C 500D
500E 500F
You can change the categories that are in use after you view. To perform this task, you can change the first three digits of the category. However, the last digit must remain unchanged because it represents the media type. Example 12-14 shows the command that changes all categories to 111 for the first three digits.
Example 12-14 Sample output of DEVSERV QLIB,CATS(111*)
DS QL,CATS(111*)
IEE459I 10.57.35 DEVSERV QLIB 899
1111 1112 1113 1114 1115 1116 1117 1118 1119 111A 111B 111C 111D
111E 111F
Ensure that this change is also made in the DEVSUPxx PARMLIB member. If it is not, the next IPL reverts categories to what they were in DEVSUPxx. For more information about changing categories, see 12.6, “Effects of changing volume categories” on page 640.
DEVSERV QLIB,LIST command
Example 12-15 shows how to list all of the active libraries by using the DS QL,LIST command.
Example 12-15 DEVSERV QLIB,LIST
DS QL,LIST
IEE459I 09.39.33 DEVSERV QLIB 933
The following are defined in the ACTIVE configuration:
*BA062 *CA045 *BA060 *BA045 *BA003 *BA031 *BA032 *BA002 *BA039 *BA038
*BA010 BA066 BA051 BA004
 
Note: The asterisks in the QLIB displays indicate libraries that are attached to the host.
For more information about all of the DS QLIB commands, see Appendix D, “DEVSERV QLIB command” on page 883.
12.1.6 Scratch volume recovery for volumes
If you determine that a volume was mistakenly returned to scratch, you can sometimes return the volume to private status to recover its contents. If Expire Hold is ENABLED for the category in the TS7700 MI (click Virtual → Categories → Modify Category → Expire Hold Settings), the volume cannot be reused before the EXPIRE time is reached.
The method to recover depends on the TMS that is used. In general, change the volume’s status from scratch to private, and change the expiration date in the TMS by adding at least one week. Doing so prevents the TMS from returning the volume to scratch during the next few days. We describe how to recover a logical volume that was scratched in error next.
Checking a VOLSER to determine whether it was reused
The first step in determining whether a volume can be recovered is to check that the VOLSERs that you want to recover were not reused to satisfy a SCRATCH mount. Issue the D SMS,VOL(volser) command for each volume on which you want to check (see Example 12-16).
Example 12-16 Check whether VOLSERs are still available
D SMS,VOL(A0000P)
CBR1180I OAM tape volume status: 095
VOLUME MEDIA STORAGE LIBRARY USE W C SOFTWARE LIBRARY
TYPE GROUP NAME ATR P P ERR STAT CATEGORY
A0000P MEDIA2 *SCRTCH* HYDRAG S N N NOERROR SCRMED2
A ‘USE ATR’ of ‘S’ indicates that the volume is still in SCRATCH status and was not yet reused. Therefore, you can recover the volume contents if a consistent copy exists in the TS7700. If the display for this volume indicates a ‘USE ATR’ of ‘P’, the volume was reused and you cannot recover the contents of the volume by using host software procedures.
Checking for a consistent copy of the volume
The second step in determining whether a volume can be recovered is to check that the VOLSERs that you want to recover include a consistent copy that is in the TS7700 somewhere. The best command to use to check field-known consistent copies is the LI REQ,composite-library,LVOL,volser,INFO command, as shown in Example 12-17.
Example 12-17 Check for a consistent copy
LI REQ,HYDRAG,LVOL,A0000P,INFO
 
LOGICAL VOLUME INFO V2 .0
LOGICAL VOLUME : Z10000
MEDIA, FMT, MAX(MB), CWRAP : ECST, 6, 800, N
SIZE(MB) COMP, CHAN, RATIO : 14, 95, 6.38:1(FICON)
CURRENT OWNER, TVC LIB : Arabian, Lipizzan
MOUNTED LIB/DV, MNT STATE : -/-, -
CACHE PREFERENCE, CATEGORY : PG1, 0001 (SCRATCH)
LAST MOUNTED (UTC) : 2018-08-28 03:34:31
LAST MODIFIED LIB/DV, UTC(UTC): Lipizzan/0000, 2018-08-28 03:34:25
KNOWN CPYS, REQ, REMOVED : 1, 1, 0 (N)
If ‘KNOWN CPYS’ is ‘0’, you cannot recover this volume because it was delete-expired.
Changing STATUS of scratched volumes to PRIVATE
The next step in recovering the volume is to change the status from SCRATCH back to PRIVATE in the TS7700 and the TCDB. The next steps vary depending on your TMS. If your TMS is DFSMS Removable Media Manager (DFSMSrmm), you also change the status of the volume to MASTER in the RMM CDS.
To start this process, use DFSMSrmm to search on a volume string. Then, put all of the scratch volumes that match that string into a file with a TSO subcommand to change their status back to MASTER, and set an Expiration Date to some future value (to prevent the next run of DFSMSrmm Housekeeping from sending the volume back to SCRATCH), as shown in Example 12-18.
Example 12-18 Change status
//STEPA EXEC PGM=IKJEFT01
//SYSTSPRT DD DUMMY
//RMMCLIST DD DSN=DENEKA.RMMCV,
// DISP=(NEW,CATLG,DELETE),
// SPACE=(CYL,(2,2),RLSE),
// UNIT=SYSDA
//SYSTSIN DD *
PROF NOMSGID
RMM SV VOLUME(A*) OWNER(*) LIM(1) HOME(HYDRAG) STATUS(SCRATCH) -
CLIST('RMM CHANGEVOLUME ',' STATUS(MASTER) EXPDT(14355)
/*
The RMMCLIST DD features the following output:
READY
RMM CHANGEVOLUME A0000P STATUS(MASTER) EXPDT(14355)
Use the job control language (JCL) that is shown in Example 12-19 to run the previously generated CLIST. This process can be done in the same job as the RMM SV command if no editing of the generated list was needed to remove volumes without a consistent copy found. Altering the status of such volumes to MASTER needlessly uses a scratch volser because the volume contents were expire-deleted.
Example 12-19 JCL for CLIST
//STEPB EXEC PGM=IKJEFT01,DYNAMNBR=60
//SYSTSPRT DD DSN=DENEKA.RMMCV.OUT,
// DISP=(NEW,CATLG,DELETE),
// SPACE=(CYL,(10,2),RLSE),
// UNIT=SYSDA
//SYSTSIN DD DISP=SHR,
// DSN=DENEKA.RMMCV
Setting the volume back to MASTER status in RMM causes the CBRUXCUA (Change Use Attribute) installation exit to be started. If the change is approved, OAM updates the volume category in the TS7700 first to match the private category that is used by this host. After this process is successful, it changes the volume from scratch to private in the TCDB. These three sources (the library, TCDB, and TMS) must feature consistent information for the status of the volume for a future mount of that volume to succeed.
The D SMS,VOL command can now be used to verify that the VOLSER was changed from S to P, as shown in Example 12-20.
Example 12-20 Verify the change
D SMS,VOL(A0000P)
VOLUME MEDIA STORAGE LIBRARY USE W C SOFTWARE LIBRARY
TYPE GROUP NAME ATR P P ERR STAT CATEGORY
A0000P MEDIA2 SGG00001 HYDRAG P N N NOERROR PRIVATE
After the volume has the PRIVATE use attribute again in the TCDB, you might need to use the LIBRARY LMPOLICY command to reassign the appropriate Data Class, Storage Class, and Management Class constructs to the volume (because the constructs were set to blank when the volume status was changed to SCRATCH). For more information, see 12.1.4, “Library LMPOLICY command” on page 626.
12.1.7 Ejecting virtual volumes
Virtual volumes are not physical entities that can be individually removed from the library. They can also exist on physical stacked volumes that contain many other logical volumes. An EJECT should be issued only for a virtual volume in the TS7700 if the intent is to delete the volume from the TS7700.
Because of the permanent nature of EJECT, the TS7700 allows you to EJECT only a virtual volume that is in the INSERT or SCRATCH category. If a virtual volume is in any other category, the EJECT fails. If you eject a scratch volume, you cannot recover the data on that virtual volume.
 
Tip: If a virtual volume is in the error category (which is by default 000E), it must first be moved back to a scratch category before an EJECT can be successful. To move it, use ISMF ALTER to move it from the SCRATCH to SCRATCH category.
Volumes that are in the INSERT category can be directly ejected (deleted) through the TS7700 MI by selecting the Virtual Volumes  Delete Virtual Volumes option. For more information, see “Move Virtual Volumes window” on page 432.
Volumes that are in a SCRATCH category must be EJECTed from the host rather than from the TS7700 MI. They must also have the SCRATCH use attribute assigned in the TCDB and if a TMS is present, be assigned as “SCRATCH” in that TMS. These volumes can be EJECTed by using one of the following commands:
The z/OS command LIBRARY EJECT,volser
ISMF EJECT line operator for the tape volume
If DFSMSrmm is the TMS, the RMM CHANGEVOLUME volser EJECT command
If the volume is not in the INSERT category or is not in a SCRATCH category, the EJECT will fail. If the failure is caused by the TS7700 failing the EJECT, the following message should be surfaced to indicate why the failure occurred:
CBR3726I Function incompatible error code 6 from library <library-name> for volume <volser>
 
 
If this failure occurs and the TMS now indicates that the volume is outside of the library, contact the vendor of the TMS to determine how to correct the discrepancy. The CBRUXEJC (cartridge eject) exit allows for automatic notification of the TMS when an EJECT fails; therefore, this discrepancy indicates that your TMS is not providing support for the notification function.
If an EJECT failure occurs on the host, review the surfaced messages to determine the cause of the failure and take the appropriate actions to correct it. After the cause of the failure is corrected, reissue the EJECT.
Issuing many EJECTs at the same time from a host can cause storage shortages because OAM only sends 100 requests to the library at a time and queues the remaining requests. Try to limit EJECT submission on a single host to a few thousand at a time.
The TS7700 supports a maximum of 1,000 queued EJECTs from all attached hosts. When EJECTs are issued from a host, the initial status is returned from the TS7700 to the host. This process indicates that the request was scheduled in the library.
Only after successful completion of the EJECT within the TS7700 is the host notified and the request is no longer counted in the 1,000 queued EJECTs limit for the TS7700. If a 1,001th EJECT request is issued from any connected host, the TS7700 fails the request and states too many EJECTs are queued with ERA29 and Sense Byte 8 value of X'0E'.
The following commands can be used on IBM Z hosts to list the outstanding and the active requests:
F OAM,QUERY,WAITING
F OAM,QUERY,ACTIVE
It is recommended to send no more than 1,000 EJECTs across all attached hosts to a TS7700 because only 1,000 are accepted by a TS7700. When those 1,000 EJECTs are complete, the next 1,000 can be issued. Otherwise, the requests can be rejected by the TS7700 and must be reissued.
12.2 Messages from the library
This section describes TS7700 enhanced message support and relevant messages.
12.2.1 CBR3750I console message
When the host receives a message from the library that is informational or indicates an abnormal condition of some type, the host surfaces this message (using OAM) within the CBR3750I message. This message uses the following format:
CBR3750I Message from library library-name: message.
When CBR3750I is issued, this indicates that a message was sent from library library-name. The operator at the library manager console entered a message that is to be broadcast to the host, or the library broadcast a message to the host to relay status information or report an error condition. For more information about a list of the messages that can be broadcast from the library to the host, see IBM TS7700 Series Notification Messages v5.1.3.
If more assistance is required regarding the contents of the messages surfaced, contact IBM Hardware Support. The only role that OAM provides is to surface on the host the library-generated message through the CBR3750I message.
With OAM APAR OA52376 and R4.1.2 installed on all the clusters in a grid, this message was enhanced to surface the severity impact text (INFORMATION, WARNING, IMPACT, SERIOUS, or CRITICAL) that is associated with each library message, as described in IBM TS7700 Series Notification Messages v5.1.3.
This text prevents you from having to reference the white paper to determine the severity that is associated with a particular library message. It also results in the format for the CBR3750I message being updated as shown in the following example:
CBR3750I Message from library library-name: message. Severity impact: severity impact text.
You can modify the severity impact text for each message through the TS7700 MI if you feel a different severity impact text is more applicable in your environment. If you choose to modify the text, an “*” is added to the severity impact text as shown in the following example:
CBR3750I Message from library library-name: message. Severity impact: severity impact text*.
In addition, each library message can now be associated with a free-form customer impact text through the TS7700 MI. You can use this functionality to surface more information that might be relevant for a specific library message in your environment. If a customer impact text is defined to a library message, the associated CBR3750I message is surfaced as shown in the following example:
CBR3750I Message from library library-name: message. Severity impact: severity impact text. Customer impact: customer-provided-impact-text.
12.2.2 TS7700 Host Console messages
Some abnormal conditions that occur in a TS7700 are not surfaced through the CBR3750I message. Rather, they are surfaced through their own unique message number in OAM. Some of the more common messages that you might see are described in this section. For more information about s current list, see the appropriate release of z/OS MVS System Messages, Vol 4 (CBD-DMO).
Incompatibility error message
In an incompatible function error, you might see the following message CBR3726I:
CBR3726I Function incompatible error code error-code from library library-name for volume volser.
In this message, an error occurred during the processing of volume volser in library library-name. The library returned a unit check with an error code error-code, which indicates that an incompatible function was requested. A command was entered that requests an operation that is understood by the subsystem microcode, but cannot be run.
The explanation for the error-code can be found in IBM Knowledge Center by clicking Perform library function codes → Error recovery action codes → Function Incompatible.
Warning VTS operation degraded messages
When a VTS is operating in a degraded state, the following message is generated:
CBR3786E VTS operation degraded in library library-name
When the degradation is resolved, the following message is generated:
CBR3768I VTS operations in library library-name no longer degraded
Warning cache use capacity (TS7700D or TS7700T)
For a TS7700D or TS7700T, the following warning and critical cache free space messages are surfaced:
CBR3792E Library library-name has entered the limited cache free space warning state.
CBR3794E Library library-name has entered the out of cache resources critical state.
When the cache situation is resolved, the following messages are surfaced:
CBR3793I Library library-name has left the limited cache free space warning state.
CBR3795I Library library-name has left the out of cache resources critical state.
Out of physical volumes
When a distributed library that is associated with a cluster runs out of scratch stacked physical volumes, operations of the TS7700T are affected. As part of normal processing, data is copied from cache to physical volumes in a primary pool that is managed by the TS7700. A copy might also be made to a physical volume in a secondary pool if the dual copy function is specified by using Management Class (MC).
Empty physical volumes are needed in a pool or, if a pool is enabled for borrowing, in the common scratch pool for operations to continue. If a pool runs out of empty physical volumes and no volumes can be borrowed (or borrowing is not enabled), operations that might use that pool on the distributed library must be suspended.
If one or more pools run out of empty physical volumes, the distributed library enters the Out of Physical Scratch state. The Out of Physical Scratch state is reported to all hosts that are attached to the cluster that is associated with the distributed library and if included in a grid configuration, to the other clusters in the grid.
The following MVS console message is generated to inform you of this condition:
CBR3789E VTS library library-name is out of empty stacked volumes.
Library-name is the name of the distributed library in the state. The CBR3789E message remains on the MVS console until empty physical volumes are added to the library, or the pool that is out was enabled to borrow from the common scratch pool and empty physical volumes are available to borrow. Intervention-required conditions are also generated for the out-of-empty-stacked-volume state, and for the pool that is out of empty physical volumes.
If the option to send intervention conditions to attached hosts is set on the TS7700 that is associated with the distributed library, the following console messages are also generated to provide specific information about the pool that is out of empty physical volumes:
CBR3750I Message from library library-name: OP0138 The Common Scratch Pool (Pool 00) is out of empty media volumes. Severity impact: CRITICAL.
CBR3750I Message from library library-name: OP0139 Storage pool xx is out of scratch volumes. Severity impact: CRITICAL.
The OP0138 message indicates the media type that is out in the common scratch pool. These messages do not remain on the MVS console. The intervention conditions can be viewed through the TS7700 MI.
If the TS7700T is in a grid configuration, and if its associated distributed library enters the out-of-empty-stacked-volume state, operations are affected in the following ways:
All copy operations are immediately suspended in the cluster (regardless of which pool has become empty).
If the cluster features a Copy Consistency Point of RUN, the grid enters the Immediate Mode Copy Operations Deferred state. An MVS console message is generated:
CBR3787E One or more immediate mode copy operations deferred in library
library-name.
The copy attempt fails if another cluster attempts to copy a logical volume that is not resident in the cache.
The grid prefers clusters that are not in the out-of-empty-stacked-volume state in choosing a TVC cluster, but the grid can still select a remote TVC whose cluster is in that state. If the data that is needed is not in the remote cluster’s TVC, the recall of the data fails. If data is written to the remote cluster’s TVC, the writes are allowed.
However, because no empty physical volumes might not be available to copy the data to, the cache might become full of data that cannot be copied. In this case, all host I/O that uses that cluster’s TVC becomes throttled to prevent a cache overrun.
Monitor the number of empty stacked volumes in a library. If the library is close to running out of a physical volume media type, expedite the reclamation of physical stacked volumes or add volumes. You can use the Bulk Volume Information Retrieval (BVIR) function to obtain the physical media counts for each library. The information that is obtained includes the empty physical volume counts by media type for the common scratch pool and each defined pool.
If your Pool properties include a Second Media that is defined and the primary media type is exhausted, the library does not go into degraded status for out of scratch.
Above Threshold Warning state
The TS7700T or TS7700C enters the Above Threshold Warning state when the amount of data to copy exceeds the threshold for the installed cache capacity for five consecutive sample periods (the amount of data to copy is sampled every 30 seconds). The TS7700T or TS7700C leaves the Above Threshold Warning state when the amount of data to premigrate is below the threshold capacity for 30 consecutive sample periods. The consecutive sampling criteria is to prevent excessive messages from being created.
This state surfaces the following message:
CBR3750I Message from library library-name:OP0160 Above threshold for uncopied data in cache, throttling possible. Severity impact: SERIOUS.
When the condition is no longer present, the following message is surfaced:
CBR3750I Message from library library-name:OP0161 Below threshold for uncopied data in cache. Severity impact: INFORMATION.
12.3 Expire Hold and scratch processing considerations
This section describes the interaction between SCRATCH processing and the Expire Hold setting for scratch categories on the TS7700. For more information about the Expire and Expire Hold options for a category and the conditions that must be met for a volume that is assigned to the category to be delete-expired, see “Defining scratch categories” on page 578.
When Expire Hold is set for a scratch category, it can heavily affect scratch volume availability. Consider the following cases:
Expire Hold option is enabled and the TS7700 is low on scratch volumes
Expire Hold option is enabled and Cache Utilization is beyond the wanted threshold in the TS7700D.
12.3.1 Expire Hold and low on scratch volumes
The Expire Hold option is used to ensure that a virtual volume that is sent to the SCRATCH pool cannot be reused or deleted before the grace period that is specified as the EXPIRE time passes. This fact can create a problem where the library might run out of available volumes to satisfy mount requests to write new data.
If the EXPIRE time is set too long and not enough virtual volumes are released to keep a healthy level of SCRATCH volumes available, it might be necessary to reduce the EXPIRE time.
However, this change affects only new volumes that are going into the SCRATCH pool. The existing volumes in the pool continue to be held until the original EXPIRE time passes. However, if Expire Hold is cleared, these volumes can then be added to the candidate list for SCRATCH mounts. Therefore, clearing the Expire Hold option immediately helps to alleviate the low on scratch condition, but it no longer protects data that inadvertently was sent to SCRATCH. The recovery of user data on volumes in the SCRATCH pool might no longer be certain.
12.3.2 Expire Hold and cache utilization in a TS7700D
When the Expire Hold option is enabled, the cache in a TS7700 is used up in part by holding data from virtual volumes that were sent to the SCRATCH pool. In addition to the risk of running out of virtual volumes to mount, a risk exists of running out of cache in a TS7700D when AUTOREMOVAL is not enabled.
Again, consider EXPIRE time. If a TS7700D is consistently running high on cache usage, adjust this EXPIRE time. In this case, clearing the Expire Hold setting does not immediately alleviate the high cache usage condition. The effect of disabling the Expire Hold from the cache perspective is to enable volumes in the SCRATCH pool to begin entering the candidate list for expire delete processing.
A task runs in the library once per hour that processes some number of volumes from this list and reduces cache usage by deleting the expired volumes from cache. The number of volumes that are deleted per hour by default is 1000.
The number of volumes that are moved to this candidate list is customizable (1000 - 2000), and is controlled by using the following command:
LI REQ,composite-library,SETTING,DELEXP,COUNT,value
For more information about this command, see 12.1.3, “Host Console Request function” on page 623.
The EXPIRE time is the grace period that enables the recovery of the data if a procedural error occurs. Careful consideration must be made to ensure that this value is long enough to allow for such errors to be detected (and the data recovered) before the Delete Expire process removes the logical volume permanently.
12.4 Scratch count mismatch
Some discrepancy often exists between the values that are reported for scratch counts from various sources (TS7700 MI, TCDB, TMS). To obtain the number of usable scratch volumes in the TS7700, issue the D SMS,LIBRARY(libname),DETAIL command. In addition to providing other information about the designated tape library, this command reports the number of usable scratch volumes. This value is obtained directly from the TS7700 and surfaced within the CBR1110I message.
When Expire Hold is in effect, the total number of scratch volumes in the TCDB for that composite library can differ from the total number of usable SCRATCH volumes because volumes for which the EXPIRE time is not yet elapsed are not eligible to be selected to satisfy a SCRATCH mount request. For this reason, the most accurate source of scratch counts for a TS7700 always is the output from the D SMS,LIBRARY(libname),DETAIL command.
12.5 Host cartridge entry processing
To ensure that the wanted set of volumes are assigned to the intended library manager categories during cartridge entry, it is important to understand the host cartridge entry process and the components and interactions that are involved.
When a set of volumes is inserted (defined) to a stand-alone TS7700 or to a grid, the hardware first assigns each of these volumes to the insert category, X’FF00’. After this process, an attention is sent to all z/OS hosts that are attached to all of the TS7700s in the grid to notify them that volumes are in the insert category that are ready to be processed by host cartridge entry processing. 
The first host that responds to this attention has the first opportunity to run host cartridge entry processing against the volumes in the insert category. No method is available to control which host receives this attention first. For this reason, it is important to correctly configure your hosts to control which hosts can accept which volumes during host cartridge entry processing.
If you do not want a host to be eligible to respond to this attention, you can disable cartridge entry processing on that host by using the LI DISABLE,CBRUXENT command. When you want to re-enable cartridge entry on that host (allow the host to again receive this attention), issue the LI RESET,CBRUXENT command.
If the CBRUXENT cartridge entry exit is disabled on a host, that host does not respond to any attention that volumes are in the insert category in any tape library that are ready to be processed by host cartridge entry processing. If CBRUXENT is not disabled on a host, that host responds to the attention and runs host cartridge entry processing.
After the first host that includes the CBRUXENT cartridge entry exit enabled receives the attention from a library, it sends a request to the library to ask for a list of the volumes in the insert category. After the library provides the list, the host processes the first volume in the list. OAM then passes the volser of the volume to the CBRUXENT exit.
The return codes that are set by the CBRUXENT exit determine whether this host accepts the entry of this volume or moves on to the next volume in the list. By default, RMM provides its version of the CBRUXENT exit that calls RMM to approve or deny the entry of a volume. If RMM is used, see 12.5.1, “Removable Media Manager cartridge entry considerations” on page 640 before continuing with this chapter.
If a host does not use RMM, the tape management system (TMS) the host does use often provides a custom version of the CBRUXENT exit that calls the tape management system on that host to approve or deny the entry of a volume, with the result being passed back to CBRUXENT. In either condition, it is important that the tape management system on each host that is connected to the TS7700 or grid approve requests only for the volumes that are intended to belong to that host. Otherwise, an unintended library manager category can be assigned to the volume. If you are using a non-RMM TMS, contact your vendor to determine any considerations for that TMS during host cartridge entry processing.
If the CBRUXENT exit indicates that the volume entry is approved, OAM sets the library manager category of the volume to match what is specified in the DEVSUPxx parmlib member on that host for that media type (MEDIA1 or MEDIA2 for TS7700). OAM then creates the volume entry in the TCDB for the volume (or updates the entry if it is already present). After this process, host cartridge entry processing then moves on to the next volume in the list.
When one or more volumes is successfully inserted, the volumes are surfaced within a CBR3610I cartridge entry success message output to the console and SYSLOG. The output destination for success messages (CBR3610I) and volume ignore messages (CBR3621I) can be modified through the SETTLIB parameter in the CBROAMxx parmlib member. For more information, see z/OS DFSMS Object Access Method Planning, Installation, and Storage Administration Guide for Tape Libraries, SC23-6867.
If any volumes remain in the insert category after the host completes one iteration through the list, the next host that responded to the attention from TS7700 then can process a host cartridge entry against those volumes that are still in the insert category. OAM sends a request to the library to ask for the volumes that exist in the insert category and this process repeats.
The category that is assigned by the host to a volume is important later during scratch mount processing because the categories control which volumes are eligible to be mounted to satisfy a scratch mount request. For example, if volume SAMP01 is assigned a category of x’0102’ during host cartridge entry processing and later a job on that host requests the mount of an MEDIA2 volume, the host determines the category that is assigned to MEDIA2 in the DEVSUPxx parmlib member (which is x’0102’ in this example) and passes this category to the library on the scratch mount request. The library then selects a volume in the x’0102’ category (which might or might not be SAMP01 if other volumes are assigned the x’0102’ category) and passes the volser back to the host to satisfy the mount request.
If the categories that are defined in the DEVSUPxx parmlib member on the host that is processing the mount do not match the categories that are assigned to the volumes you expect to be mounted to satisfy a scratch mount request, those volumes are not selected to satisfy the scratch mount request.
 
For example, if the DEVSUPxx definition on the host was changed to specify category x’0112’ for MEDIA2 (and the system IPL’d for the change to take effect) after SAMP01 completed cartridge entry, SAMP01 cannot be selected by the library to satisfy a scratch mount request from this host. This issue occurs because the category that is assigned to SAMP01 (x’0102’) does not match the category that is assigned to MEDIA2 in the DEVSUPxx parmib member (x’0112’).
12.5.1 Removable Media Manager cartridge entry considerations
Removable Media Manager (RMM) is started during the host cartridge entry process by way of the supplied CBRUXENT exit. When started, RMM must decide whether it wants to approve the cartridge entry request.
In many RMM environments, it is common that a REJECT ANYUSE(*) rule or PRTITION VOLUME(*) TYPE(NORMM) SMT(IGNORE) NOSMT(IGNORE) rule is in effect. If either of these rules are in effect, volumes first must be defined to RMM before the entry request for that volume is approved by RMM during host cartridge entry. If one of these is present and you have not predefined the volume to RMM, RMM instructs the CBRUXENT exit to ignore the volume and the following message is surfaced:
CBR3621I Enter request ignored by the cartridge entry installation exit (CBRUXENT).
The volume remains assigned to the insert category (x’FF00’) and an attempt to process the next volume (if any) by host cartridge entry processing is made.
If either of these rules are in effect, an RMM ADDVOLUME command must be used to define the volume to RMM before RMM can approve the entry of the volume during host cartridge entry processing. The following JCL provides an example:
//TSOBATCH EXEC PGM=IKJEFT01
//SYSPRINT DD SYSOUT=*
//SYSTSPRT DD SYSOUT=*
//SYSTSIN DD *
RMM AV A00000 COUNT(100) INIT(N) STATUS(SCRATCH) -
VOLUMETYPE(LOGICAL) MEDIATYPE(ECCST) LOCATION(compositelibname)
/*
If the RMM environment does not have a REJECT ANYUSE(*) rule or PRTITION VOLUME(*) TYPE(NORMM) SMT(IGNORE) NOSMT(IGNORE) rule in effect, RMM approves the insertion of the volume and automatically creates the volume entry in RMM.
12.6 Effects of changing volume categories
As described in 4.3, “Planning for software implementation” on page 173, categories are assigned to volumes in the library according to the DEVSUPxx parmlib member on the host that performs cartridge entry processing for those volumes. The category assignment for a volume is stored in the library manager (internal to a TS7700).
Although the host has no knowledge of the category of a specific volume, this information can be surfaced on the host by using the D SMS,VOLUME(volser) command. The output of this command includes the LM CATEGORY field that surfaces the category assigned to that volume in the library manager.
The categories to be assigned by the host can be changed dynamically by using the DEVSERV QLIB,CATS command or by modifying the values that are specified in the DEVSUPxx member and IPLing.
Special consideration should be given to the effects that the change that occurs on the host. The most common problem is that, after the change, users might forget that all of the virtual volumes in the scratch pool still belong to the initially defined categories.
If no volumes were assigned the new categories, requests for scratch mounts fail and OAM surfaces the CBR4105I and CBR4196D messages.
This issue can be resolved by using several methods. If the categories were changed because you want to partition the library, a scratch pool must be created for this host by adding a range of volumes that are accepted by the TMS during cartridge entry processing.
If the old scratch pool was intended to be used by this host, the category of a single volume or range of volumes can be updated by using the ISMF windows to ALTER one or the use attribute from SCRATCH to SCRATCH. This step sets the category of the volume in the library manager to match the associated newly defined category on the host (in DEVSUPxx).
If a large range of volumes must be changed, consider the use of the CBRSPLCS utility to make such a change. For more information about how to use this utility, see z/OS DFSMS Object Access Method Planning, Installation, and Storage Administration Guide for Tape Libraries, SC23-6867.
 
Note: Modifying the volume entries in the TCDB by using IDCAMS does not change the categories that are stored in the library manager and should not be used for this purpose.
12.7 Library messages and automation
Some messages can be useful to capture by automation. In particular, the following messages represent issues with the library being unable to call home. All library messages, including these three, are prefaced with CBR3750I:
OP0463: A TSSC error has occurred. The TSSC is unable to call home.
OP0625: A system reboot interrupted a call home.
OP0550: Service Call Home, TSSC was unable to generate a PMR number.
The advised action for these messages is to contact the service center and hardware support to determine why Call Home was being attempted. For more information about a full list of the conditions that are surfaced within the CBR3750I message, see IBM TS7700 Series Notification Messages v5.1.3.
12.8 Mount retry
When a mount fails today, specific error conditions can be tried again. If they can be retried, the following message is issued:
CBR4196D Job job-name, drive device-number, volser volser, error code error-code. {Reply ‘R’ to retry or ‘C’ to cancel. | Reply ‘R’ to retry, ‘W’ to wait or ‘C’ to cancel.}
The CBR4196D message is issued along with messages describing the error condition, as shown in the following example:
CBR4195I LACS retry possible for job VTNCMP: 015
IEE763I NAME= CBRLLACS CODE= 140169
CBR4000I LACS MOUNT permanent error for drive 0BCA.
CBR4105I No MEDIA2 scratch volumes available in library TVL10001.
IEE764I END OF CBR4195I RELATED MESSAGES
*06 CBR4196D Job VTNCMP, drive 0BCA, volser SCRTCH, error code 140169.
Reply ‘R’ to retry or ‘C’ to cancel.
With OAM APAR OA52376 applied, you can instruct OAM to automate the mount’s retry function. This function is specified by using the SETTLIB command in the CBROAMxx startup parmlib member. It is controlled by the following new parameters:
LACSRETRYTIMES(1-9): Specifies the number of times to automatically retry the mount
LACSRETRYMINUTES(1-9): Specifies the number of minutes between each automatic retry
LACSRETRYFAIL(YES|NO): Specifies whether the mount is failed or the CBR4196D surfaced
The full syntax of the command that can be specified as shown in the following example:
SETTLIB LACSRETRYTIMES(X) LACSRETRYMINUTES(Y) LACSRETRYFAIL(YES|NO)
You can use different combinations of these three parameters to control how OAM automatically responds to retry-able mount failures. The following OAM responses are possible:
Retry the mount a number of times (LACSRETRYTIMES), every number of minutes LACSRETRYMINUTES. If the mount is not yet successful at the end of the retry processing, surface the CBR4196D (LACSRETRYFAIL(NO)).
Retry the mount a number of times (LACSRETRYTIMES), every number of minutes LACSRETRYMINUTES. If the mount is not yet successful at the end of the retry processing, fail the mount request (LACSRETRYFAIL(YES)). No CBR4196D is issued.
Fail the mount immediately (LACSRETRYFAIL(YES)). No CBR4196D is issued.
Issue the CBR4196D as is done today. LACSRETRYFAIL(NO) or no parameters specified.
12.8.1 Enhanced mount retry defaults
The only set default for these parameters is LACSRETRYFAIL(NO), which is set regardless of whether any of these parameters are defined in the CBROAMxx parmlib member. The LACSRETRYTIMES and LACSRETRYMINUTES parameter values receive only default values if one of these parameters is specified without the other. For example, if only LACSRETRYMINUTES is specified, LACSRETRYTIMES is set to 6. Alternatively, if only LACSRETRYTIMES is specified, LACSRETRYMINUTES is set to 2. If you are using this function, specify LACSRETRYTIMES and LACSRETRYMINUTES to avoid confusion.
12.8.2 Enhanced mount retry example
For a retry-able error in which automatic retry was specified, the following message is displayed (as an example) if the values that are specified are LACSRETRYTIMES(6) LACSRETRYMINUTES(2) and either LACSRETRYFAIL(YES/NO):
CBR4195I LACS retry possible for job VTNCMP: 015
IEE763I NAME=CBRLLACS CODE=140169
CBR4000I LACS MOUNT permanent error for drive 0BCA
CBR4105I No MEDIA2 scratch volumes available in library TVL10001.
IEE764I END OF CBR4195I RELATED MESSAGES
CBR4197D Job VTNCMP, drive 0BCA, volser SCRTCH, code 140169.
Retrying every 2 minutes, 6 times. Reply ‘C’ to cancel.
As shown in this example, a new message (CBR4197D) also is surfaced; therefore, you can cancel the automatic retry. If the mount is canceled, the LACSRETRYFAIL specification is not used and the mount is failed immediately.
If the mount is not satisfied after the six retries every two minutes (for a total of 12 minutes of retry processing), the following message is issued if LACSRETRYFAIL is set to YES:
IEE763I NAME=CBRLLACS CODE= 140169
CBR4000I LACS MOUNT permanent error for drive 0BCA.
CBR4105I No MEDIA2 scratch volumes available in library TVL10001.
IEE764I END OF IEC147I RELATED MESSAGES
These messages are the same set of messages that are issued if the mount is not considered to be retry-able, or if the CBR4196D message is responded to with “C”. Otherwise, if LACSRETRYFAIL is set to NO, the CBR4196D message is issued.
For more information about this enhancement, see OA52376.
12.9 CUIR for tape
Before a TS7700 cluster can be placed into service today, in addition to other manual tasks, a customer must vary offline the devices in that cluster to each host connected to that cluster. Because this process can be time-consuming, R4.1.2 includes a feature called Control Unit Initiated Reconfiguration (CUIR) that helps with this process.
When R4.1.2 is installed on each cluster in a grid, CUIR can detect that a cluster in the grid is entering service. It then signals to each host that is connected to that cluster that the host must vary offline any devices that the host has online to that cluster.
If the z/OS host includes OA52376 installed, it receives this signal and attempts to vary offline the devices in the cluster. Any long-running jobs must be canceled or swapped to another cluster to ensure that the device transitions from “pending offline” to “offline”.
When a device is varied offline by this CUIR functionality, it is known as being “offline for CUIR reasons”. After the cluster is no longer in service mode, it can notify each connected host that the status changed and each host can vary those devices that were “offline for CUIR reasons”, back online.
12.9.1 LIBRARY REQUEST commands to enable or disable CUIR
Signaling the host by the cluster when the cluster is entering service mode is enabled or disabled by using a new LIBRARY REQEST command that features the following syntax:
LIBRARY REQUEST,library-name,CUIR,SETTING,{SERVICE|FENCE|ALL},{ENABLE|DISABLE}
Signaling the host by the cluster when the cluster is no longer in service mode is enabled or disabled by using another new LIBRARY REQUEST command that features the following syntax:
LIBRARY REQUEST,library-name,CUIR,AONLINE,{SERVICE|FENCE|ALL},{ENABLE|DISABLE}
In each command, library-name is the name of the composite library as defined in SMS on the z/OS host. For the 5.1 release, the keyword FENCE is not yet supported. If it is used on one of these LIBRARY REQUEST commands, the grid returns an error message.
 
Note: The FENCE keyword is not supported in R5.1. If ALL is specified, only the SERVICE setting is affected.
12.9.2 Other commands built to support CUIR functionality
To support the CUIR functionality that was introduced in 4.1.2, the following commands were added:
LIBRARY REQUEST,library-name,LDRIVE
LIBRARY REQUEST,library-name,LDRIVE,group,index
DS QT,xxxx,QHA
LIBRARY DISPDRV,library-name
VARY device-number,ONLINE,RESET
This section discusses each of these commands and provides the syntax, output, and keyword descriptions for each.
LIBRARY REQUEST,library-name,LDRIVE
On the TS7700 side, the keyword, LDRIVE, was added to the LIBRARY REQUEST command. This keyword allows logical drive information (including CUIR-specific information) that is associated with a cluster (distributed library) or grid (composite library) to be surfaced. It can be used to better understand what systems manual vary commands might need to be issued on, to track the status of a CUIR request from a TS7700, and to verify the functions that the cluster or grid is enabled for. This command features the following syntax:
LIBRARY REQUEST,library-name,LDRIVE
The output for the command features the following syntax when issued against a composite library:
Logical Drive Status Information V1 .0
Composite Library View
Current Time (UTC): yyyy-mm-dd hh:mm:ss
Service Vary: Enabled|Disabled Auto Online: Enabled|Disabled
Unhealthy Vary: Enabled|Disabled Auto Online: Enabled|Disabled
XXXXX (CL0)
Assigned/Grouped/Total Devices: nnnn/nnnn/nnnn
Assigned/Grouped/Total LPARS: nnnn/nnnn/nnnn SSV: nnnn SUV: nnnn
Active Service Vary: Y|N
Active Unhealthy Vary: Y|N
XXXXX (CL1)
Assigned/Grouped/Total Devices: nnnn/nnnn/nnnn
Assigned/Grouped/Total LPARS: nnnn/nnnn/nnnn SSV: nnnn SUV: nnnn
Active Service Vary: Y|N
Active Unhealthy Vary: Y|N
... ...
XXXXX (CL7)
Assigned/Grouped/Total Devices: nnnn/nnnn/nnnn
Assigned/Grouped/Total LPARS: nnnn/nnnn/nnnn SSV: nnnn SUV: nnnn
Active Service Vary: Y|N
Active Unhealthy Vary: Y|N
 
Note: Anything pertaining to unhealthy vary is available for future support and is not used with the R5.1 CUIR support.
The following output keywords are defined:
Current Time: Current time stamp within TS7700 in Coordinated Universal Time.
Service Vary: CUIR, SETTING, SERVICE setting.
Auto Online: CUIR, SETTING, AONLINE, SERVICE setting.
Unhealthy Vary: CUIR, SETTING, FENCE setting.
Auto Online: CUIR, SETTING, AONLINE, FENCE setting.
XXXXX (CLx): Cluster’s sequence number and cluster index.
Assigned/Grouped/Total Devices: The count of the assigned, grouped, and total devices attached to this cluster.
Assigned/Grouped/Total LPARS: The count of the assigned, grouped, and total LPARs attached to this cluster.
SSV: The count of the LPARs that Support Service Vary attached to this cluster.
SUV: The count of the LPARs that Support Unhealthy Vary attached to this cluster.
Active Service Vary: If PGIDs received Automatic or Manual Vary Devices Offline attention for Service Prep on this cluster but an Automatic or Manual Vary Devices Online attention is not yet surfaced, ‘Y’ is set.
Active Unhealthy Vary: If PGIDs received Automatic Vary Devices Offline attention for the unhealthy cluster on behalf of the peer unhealthy (possibly SBND) cluster and the peer cluster is not yet surfaced an Automatic or Manual Vary Devices Online attention, ‘Y’ is set (and its remote cluster list).
The output for the command features the following syntax when issued against a distributed library:
Logical Drive Status Information V1 .0
Distributed Library View
Current Time (UTC): yyyy-mm-dd hh:mm:ss
XXXXX (CLx)
Service Vary: Enabled|Disabled Auto Online: Enabled|Disabled
Unhealthy Vary: Enabled|Disabled Auto Online: Enabled|Disabled
Assigned/Grouped/Total Devices: nnnn/nnnn/nnnn
Assigned/Grouped/Total LPARS: nnnn/nnnn/nnnn SSV: nnnn SUV: nnnn
Active Service Vary: Y|N
Active Unhealthy Vary: Y|N <cluster index list>
Active Path Group Indexes
list of indexes 0 - 4095 separated by a single space (multiple rows possible)
The keywords for this command when issued against a distributed library are the same as when issued against a composite library, with the addition of the Active Path Group Indexes, which is the list of Active PGIDs.
LIBRARY REQUEST,library-name,LDRIVE,GROUP,index
When the extra GROUP parameter is specified in this command (along with an associated index that is listed from the distributed library output), more information can be obtained about an index (LPAR) that is attached to that distributed library. This version of the command features the following syntax:
LIBRARY REQUEST,library-name,LDRIVE,GROUP,index
The output for this command has the following syntax:
Logical Drive Path Group Information V1. 0
Distributed Library Pathing View
Current Time (UTC): yyyy-mm-dd hh:mm:ss
XXXXX (CLx)
Path Group ID Index: nnnn
SSV: YES|NO SUV: YES|NO
Path Group ID: xxxxxxxxxxxxxxxxxxxxxx
CSSID: xx LPARID: xx CPU SERIAL#: xxxx CPU Type: xxxx GUEST: YES|NO
System Name: {xxxxxxxx|UNKNOWN] Sysplex Name: {xxxxxxxx|UNKNOWN}
WWNN(CEC): xxxxxxxxxxxxxxxx Channel ID: xx
FICON Ports: FxPy FxPy FxPy FxPy FxPy FxPy FxPy FxPy
Paths [nnnn] nnnn nnnn nnnn ....
Assigned/Grouped/Total Devices: nnnn/nnnn/nnnn
Assigned & Grouped Devices
list of devices in assigned and grouped state
Grouped Only Devices
list of devices still in a grouped state (online or pending offline)
The following output keywords are defined:
Current Time: Current time stamp within TS7700 in Coordinated Universal Time.
XXXXX (CLx): Cluster’s sequence number and cluster index.
Path Group ID Index: TS7700 internal path group index used to track host path groups.
SSV: The count of the LPARs which Support Service Vary attached to this cluster (or whether supported by LPAR in other use cases).
SUV: The count of the LPARs that Support Unhealthy Vary attached to this cluster (or whether supported by LPAR in other use cases).
Path Group ID: Device Path Group ID for the specific LPAR (22 characters, also referred to as PGID):
 – CSSID: Logical Channel Subsystem ID. A 1-byte number 0 - 5, which represent the logical channel subsystem within a system zCEC. A single CSSID can contain one or more LPARs.
 – LPARID: Logical Partition ID. A 1-byte number X’01’ - X’0F’, which represents the LPAR partition within the CSSID.
 – CPU SERIAL: zCEC CPU serial number.
 – CPU Type: CPU or system zCEC type.
 – GUEST: Determines whether this LPAR is a guest under z/VM.
System Name: System Name for a specific LPAR.
Sysplex Name: Parent Sysplex Name for a specific LPAR.
WWNN: zCEC worldwide node name, which is a world unique ID per zCEC.
Channel ID: Channel Image ID or a 1-byte user-defined number that is assigned to each LPAR within a zCEC. Although not required, this ID is often made up of the LPARID and CSSID combined. Valid values are 0x01 - 0xFF (0x5F as of IBM z13®).
FICON Ports: A list of FICON cards and their physical ports that have one or more logical paths established from the specific LPAR.
Paths: The total number of paths that is followed by a list of the number of paths per FICON Port established from the specific LPAR.
Assigned/Grouped/Total Devices: The count of the assigned, grouped, and total devices that is attached to this cluster by the specific LPAR:
 – “Assigned” is the count of devices that feature established pathing assignment, which in a z/OS configuration usually implies that it features a mounted volume.
 – “Grouped” is the count of devices that are grouped by the LPAR, which in a z/OS configuration usually implies it is online.
 – “Total” devices is the number of devices that were grouped previously since the last LPAR IPL or cluster IML.
If this count is larger than the “grouped” count, it usually implies one or more devices were varied offline.
Assigned and Grouped Devices: The list of assigned and grouped devices for this LPAR (PGID). These devices are likely active with a logical volume by this LPAR.
Grouped Only Devices: The list of the grouped devices with this LPAR (PGID). These devices are likely those that are online from this LPAR.
For more information about the output that is provided by the LDRIVE command and its subsets, see IBM TS7700 Series z/OS Host Command Line Request User's Guide Version 5.1.
DEVSERV QTAPE,xxxx,QHA
On a z/OS host, the QHA option can be used on the DEVSERV QTAPE command. This option allows the command to surface which systems and SYSplexs are connected to a specific device in a cluster. The command features the following syntax:
DS QT,xxxx,QHA
The output for the command features the following syntax:
DEVSERV QTAPE,xxxx,QHA
IEE459I hh:mm:ss DEVSERV QTAPE
UNIT DTYPE DSTATUS CUTAPE  DEVTYPE  CU-SERIAL  DEV-SERIAL ACL LIBID
xxxx aaaaa bbbbbbb ccccccc dddddddd eeee-eeeee ffff-fffff g   hhhhh
  QUERY HOST ACCESS TO DEVICE
PATH-GROUP-ID           FLAGS STATUS SYSTEM  SYSPLEX
iiiiiiiiiiiiiiiiiiiiii  jjjj  kkk    sysname plexname
The FLAGS field contains information about how the host configured the device and whether the host supports CUIR. The contents of FLAGS field include the following definitions:
2000: The host/LPAR supports the automatic service notification through the distributed library notification attention.
4000: The host/LPAR is grouped to the device.
6000: The host/LPAR supports the automatic service notification and the host/LPAR is grouped to the device.
8000: Device Explicitly Assigned by Host/LPAR.
C000: The host/LPAR is grouped to the device and Device Explicitly Assigned by Host/LPAR.
E000: The host/LPAR supports the automatic service notification and the host/LPAR is grouped to the device and Device Explicitly Assigned by Host/LPAR.
LIBRARY DISPDRV,library-name
The LIBRARY DISPDRV,library-name command is updated with a new field, CU, that was added to account for the new offline reason code for CUIR. The output for the command features the syntax:
CBR1220I Tape drive status:
DRIVE    DEVICE   LIBRARY  ON  OFFREASN     LM   ICL     ICL   MOUNT
NUM      TYPE     NAME         LI OP PT CU  AV   CATEGRY LOAD  VOLUME
devnum   devtyp   libname  b    c  d  e  f   g   hhhhhhh    i  mntvol
If a device is offline for CUIR reasons, the field contains a ‘Y’; otherwise, it contains an ‘N’.
VARY device-number,ONLINE,RESET
Occasionally, a device can be stuck offline for CUIR reasons. This situation can occur if, for example, the cluster that varied the device offline for CUIR reasons is no longer attached to the host. If the cluster is no longer attached, it cannot send the signal to the host to vary the device online. If this situation occurs, you must use this command to bring online the device that is being kept offline for CUIR reasons.
12.10 Cloud Storage tier considerations (R4.2 enhancement)
With R4.2, the TS7700 can store logical volumes on an attached Cloud Storage Tier. Although no host support is needed to use this new Cloud Storage Tier functionality, applying OA55481 to each attached z/OS host is recommended. For more information about this APAR and host considerations that involve this new functionality, see IBM TS7700 R5.1 Cloud Storage Tier Guide, REDP-5573.
One feature of OA55481 allows for OAM to detect if a copy of a volume exists in a cloud storage tier and if it does, surfaces this information in the output from the D SMS,VOLUME(volser) command. This function is enhanced by OA59161, which documents this bit in the CBRTVI mapping and allows a user application to query this information with the CBRXLCS FUNC=QVR macro. For more information, see this IBM Support web page.
12.11 Return-to-scratch enhancement
When a volume is returned to scratch, the following I/Os calls are made to the library for each volume:
Move the volume from private to scratch
Obtain the number of volumes in the scratch category
APAR OA48240 (z/OS V1R13+) can eliminate the second I/O call. After the APAR is applied, this change can be done by using the LIBRARY DISABLE,CATCOUNT command. This change can decrease the overall duration of return-to-scratch processing. Reenabling the second I/O call can be done by using the LIBRARY RESET,CATCOUNT command.
Although the second I/O call might be disabled, OAM can remain updated as to the current count of scratch tapes in the library by using a monitoring task in the OAM address space. This task queries the library for the current scratch count every 10 minutes. In addition, OAM continues to update the scratch count when a volume is changed from scratch to private.
12.12 Deleting virtual volumes
When a virtual volume is moved from the insert category into a scratch or private category, it can no longer be deleted from the TS7700 MI. To delete these volumes, you must verify that a TCDB volume entry exists for the volume to be deleted, and verify that it is in scratch status.
After these conditions are verified, you can use the EJECT function from a host that is connected to the TS7700. Because these volumes are virtual, the virtual volumes are deleted rather than being ejected by the host EJECT function.
The following steps describe how to create the volume entry for the volume (if it is not present in the TCDB), ALTER the volume to SCRATCH status, and EJECT the volume from the host by using different methods:
1. Use the following JCL to start IDCAMS to create the volume entry in the TCDB:
//CREATVOL JOB ...
//STEP1 EXEC PGM=IDCAMS
//SYSPRINT DD SYSOUT=*
//SYSIN DD *
CREATE VOLUMEENTRY -
(NAME(Vxxxxxx) -
LIBRARYNAME(complibname) -
MEDIATYPE(mediatype) -
LOCATION(LIBRARY)
2. Use ISMF to ALTER the use attribute from SCRATCH to SCRATCH. This command starts the CBRUXCUA exit to communicate with the TMS. If the TMS indicates that the change is allowed to process, the category is changed in the library to the category that is defined for the corresponding media type in this host’s DEVSUPxx parmlib member.
3. Use one of the following methods to EJECT the tape:
 – Use the TMS to EJECT the volume. If RMM is used, the following command issues an EJECT for the volume:
RMM DV volser FORCE EJECT
 – Use ISMF to EJECT each volume.
 – Use the LIBRARY EJECT command, as described in “MVS system commands” on page 619.
 – Use the CBRXLCS macro to EJECT each volume.
 – Use the CBRSPLCS SAMPLIB member to EJECT each volume.
These steps can also be completed after a DR test if a DR host is shut down before deleting the logical volumes created during the DR test. These volumes continue to use space on the TS7700 until they are deleted.
12.13 OAM Object SYSZTIOT enhancement
With OA56836 (available on z/OS 2.2 and above), OAM Object added the ability to use XTIOT support. OAM’s use of XTIOT reduces SYSZTIOT contention in the OAM address space during high levels of object store or retrieve activity to and from tape libraries. This function is enabled by specifying the NON_VSAM_XTIOT=YES statement in the DEVSUPxx parmlib member that is used for the system.
 
Note: If NON_VSAM_XTIOT is set to NO on your system, review the implications of setting the parameter to YES on your system because it can affect applications other than OAM. For more information, see the Coding the DEVSUPxx option in z/OS DFSMS Using Datasets, SC23-6855.
If a non-IBM tape vendor is used, verify with the vendor that their software supports XTIOTs before enabling this function. When NON_VSAM_XTIOT=YES is specified in the DEVSUPxx parmlib member, OAM always uses the XTIOT function. Because this configuration might not always be wanted, OAM’s support was enhanced further by way of OA58048 to allow OAM’s use of the XTIOT functionality to be controlled by a new CBROAMxx parmlib member option, as shown in the following example:
SETOAM SYSZTIOTUSEXTIOT(ENABLED|DISABLED)
With OA58048 applied, NON_VSAM_XTIOT=YES must be set in the DEVSUPxx parmlib member and SETOAM SYSZTIOTUSEXTIOT(DISABLED) must not be specified in the CBROAMxx parmblib member for OAM to use its XTIOT support. By default, the SETOAM SYSZTIOTUSEXTIOT parameter is enabled.
12.14 Enhanced SMSHONOR support
When Allocation is in the process of selecting a device to be used to satisfy an SMS-managed tape mount request, every device that belongs to the assigned Tape Storage Group(s) that is compatible with the media type and recording technology requested is eligible to be selected. In some circumstances, such as during problem diagnosis, it is beneficial to instruct Allocation to only select one specific device, or one of a subset of devices that belong to the Tape Storage Groups to satisfy the SMS-managed tape mount request.
Today, this device selection is achieved through the use of the SMSHONOR support. This support, which is enabled by specifying the SMSHONOR keyword in the JCL UNIT parameter along with either one or more specified devices or an esoteric, allows a user to instruct an SMS-managed allocation to one of the specified devices or a device in the esoteric (if that device or esoteric is a subgroup of the eligible devices that SMS returned for the request). This support can also be requested by an application by using the Dynamic Allocation (SVC 99) text unit (DALSMSHR).
OA59161 (for z/OS 2.3 and 2.4) extends this support by allowing a device or esoteric to be associated with a Tape Storage Group within the definition of that Storage Group in SMS. This process is done by specifying the “SMSHONOR=” string within the description field of the Tape Storage Group, followed by the wanted device or esoteric.
When this process is done and an SMS-managed allocation request is driven to that Tape Storage Group, Allocation selects the device (or a device within the esoteric) that is defined by the “SMSHONOR=” string to satisfy the request (if that device or esoteric is a subgroup of the eligible devices that SMS returned for the request).
Enabling this support through SMS policies enables customers to use their ACS routines (and the assignment of Tape Storage Groups) to then direct certain workloads to a limited set of devices. This ability leaves the full set of devices to other (perhaps more critical) workloads, which provides a device fencing capability.
For more information about the syntax and uses of enhanced SMSHONOR function for scratch and specific allocations, see this hIBM Support web page.
12.15 DFSMShsm RECYCLE Enhancement for TS7700C
With the introduction of the TS7700C, data that is written to a TS7700C by DFSMShsm can be configured to be offloaded to an attached cloud store. If this issue occurs and later an operator runs the DFSMShsm RECYCLE command to consolidate virtual tapes and one or more of those tapes is in the attached cloud store, the TS7700 must recall the entire tape to TS7700 cache before it can be processed by the RECYCLE function. As external cloud providers typically charge to recall data from the cloud, recalling DFSMShsm tapes back into TS7700 cache for RECYCLE processing can incur cost.
To address this issue and provide an option to reduce the amount of DFSMShsm-owned tapes that are stored in an attached cloud store from being selected during a RECYCLE function, OA59919 (for z/OS 2.3 and 2.4) was built to provide the ability for an operator to further specify if a RECYCLE process chooses all eligible volumes in the TS7700, only those in TS7700 cache, or only those that are not in TS7700 cache.
The APAR provides the RECYCLETAPERESIDENCE(BOTH | INCACHE | NOTINCACHE) keywords that can be added by using SETSYS.
TAPERESIDENCE(BOTH | INCACHE | NOTINCACHE) can be specified on the RECYCLE command within the SELECT parameter.
For more information about the full syntax, see this IBM Support web page.
12.16 DFSMShsm RECYCLE Considerations when using zEDC
If available on a z/OS host, DFSMShsm recommends the use of zEDC compression because it significantly reduces the data that DFSMShsm processes and writes to tape volumes. This setting can be toggled for migration and backup processing through the SETSYS ZCOMPRESS(ALL | NONE) command and for dump processing through the ZCOMPRESS(YES | NO) parameter on the DEFINE DUMPCLASS command in the ARCCMDxx parmlib member. For example:
SETSYS ZCOMPRESS(ALL)
DEFINE DUMPCLASS(MYCLASS ZCOMPRESS(YES))
When the ZCOMPRESS function is used, DFSMShsm recommends ensuring that the data class that is selected for the tape data set specifies COMPACTION = N. This specification prevents the hardware from attempting to further compress the compressed data.
After DFSMShsm-owned data is written to tape by using zEDC compression, a RECYCLE command that is issued later might have the potential to select old, non-EDC compressed tape volumes and the new, zEDC compressed tape volumes.
If non-EDC compressed tape volumes can be processed during RECYCLE processing, DFSMShsm recommends ensuring that a different data class be assigned during that processing (one that specifies COMPACTION = Y) than during the original migration or backup. Assigning a data class with COMPACTION = Y ensures that old tape data sets that were compressed by using tape hardware compression during migration or backup are compressed again during RECYCLE processing. If a data class is selected with COMPACTION = N, any previously hardware compressed data is written uncompressed during RECYCLE processing.
As the data class that is selected during RECYCLE specifies COMPACTION=Y, the zEDC compressed tape data sets also attempt to be compressed by tape hardware compression. However, this “double compression” of zEDC compressed tape data sets occurs during RECYCLE processing only.
This recommendation is accomplished by ensuring a different esoteric is defined for RECYCLE than for migration and backup processing; for example:
SETSYS UNITNAME(esoteric1)
SETSYS MIGUNITNAME(esoteric1)
SETSYS RECYCLEOUTPUT(BACKUP(esoteric2) MIGRATION(esoteric2)
The data class ACS routine must be coded to select the data class based on these esoterics, which are passed in the &UNIT parameter to the data class ACS routine.
 
..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.137.192.3