![]() |
![]() |
TSM tracks the scratch and private volumes available in an automated library through a library volume inventory. TSM maintains an inventory for each automated library. The library volume inventory is separate from the inventory of volumes for each storage pool. To add a volume to a library's volume inventory, you check in a volume to that TSM library. For details on the check-in procedure, see Checking New Volumes into a Library.
To ensure that TSM's library volume inventory remains accurate, you must check out volumes when you need to physically remove volumes from a SCSI, 349X, or ACSLS library. When you check out a volume that is being used by a storage pool, the volume remains in the storage pool. If TSM requires the volume to be mounted while it is checked out, a message to the mount operator's console is displayed with a request to check in the volume. If the check in is not successful, TSM marks the volume as unavailable.
While a volume is in the library volume inventory, you can change its status from scratch to private.
To check whether TSM's library volume inventory is consistent with the
volumes that are physically in the library, you can audit the library.
The inventory can become inaccurate if volumes are moved in and out of the
library without informing the server via volume check-in or check-out.
Task | Required Privilege Class |
---|---|
Changing the status of a volume in an automated library
Removing volumes from a library Returning volumes to a library | System or unrestricted storage |
The UPDATE LIBVOLUME command lets you change the status of a volume in an automated library from scratch to private, or private to scratch. However, you cannot change the status of a volume from private to scratch if the volume belongs to a storage pool or is defined in the volume history file. You can use this command if you make a mistake when checking in volumes to the library and assign the volumes the wrong status.
You may want to remove a volume from an automated library. The following two examples illustrate this:
To remove a volume from an automated library, use the CHECKOUT LIBVOLUME command. By default, the server mounts the volume being checked out and verifies the internal label. When the label is verified, the server removes the volume from the library volume inventory, and then moves it to the entry/exit port or convenience I/O station. of the library. If the library does not have an entry/exit port, TSM requests that the mount operator remove the volume from a slot within the library.
For SCSI libraries with multiple entry/exit ports, use the REMOVE=BULK parameter of the CHECKOUT LIBVOLUME command to eject the volume to the next available entry/exit port.
If you check out a volume that is defined in a storage pool, the server may attempt to access it later to read or write data. If this happens, the server requests that the volume be checked in.
When you check out a volume that is defined to a storage pool, to make the volume available again, do the following:
As TSM fills volumes in a storage pool, the number of volumes needed for the pool may exceed the physical capacity of the library. To make room for new volumes while keeping track of existing volumes, you can define a storage pool overflow location near the library. You then move media to the overflow location as needed. The following shows a typical sequence of steps to manage a full library:
update stgpool archivepool ovflocation=Room2948
move media * stgpool=archivepool
All full volumes are checked out of the library. TSM records the location of the volumes as Room2948. You can use the DAYS parameter to specify the number of days that must elapse before a volume is eligible for processing by the MOVE MEDIA command.
query media * stg=* whereovflocation=Room2948 wherestatus=empty move media * stg=* wherestate=mountablenotinlib wherestatus=empty cmd="checkin libvol autolib &vol status=scratch" cmdfilename=/tsm/move/media/checkin.vols
For more information, see Administrator's Reference.
To find the overflow location of a storage pool, you can use the QUERY MEDIA command. This command can also be used to generate commands. For example, you can issue a QUERY MEDIA command to get a list of all volumes in the overflow location, and at the same time generate the commands to check in all those volumes to the library. For example, enter this command:
query media format=cmd stgpool=archivepool whereovflocation=Room2948 cmd="checkin libvol autolib &vol status=private" cmdfilename="/tsm/move/media/checkin.vols"
Use the DAYS parameter to specify the number of days that must elapse before the volumes are eligible for processing by the QUERY MEDIA command.
The file that contains the generated commands can be run using the TSM MACRO command. For this example, the file may look like this:
checkin libvol autolib TAPE13 status=private checkin libvol autolib TAPE19 status=private
Task | Required Privilege Class |
---|---|
Audit the volume inventory of a library | System or unrestricted storage |
You can audit an automated library to ensure that the library volume inventory is consistent with the volumes that physically reside in the library. You may want to do this if the library volume inventory is disturbed due to manual movement of volumes in the library or database problems. Use the AUDIT LIBRARY command to restore the inventory to a consistent state. Missing volumes are deleted, and the locations of the moved volumes are updated. However, new volumes are not added during an audit.
Unless your SCSI library has a bar-code reader, the server mounts each volume during the audit to verify the internal labels on volumes. For 349X libraries, the server uses the information from the Library Manager.
Issue the AUDIT LIBRARY command only when there are no volumes mounted in the library drives. If any volumes are mounted but in the IDLE state, you can issue the DISMOUNT VOLUME command to dismount them.
If a SCSI library has a bar-code reader, you can save time by using the bar-code reader to verify the identity of volumes. If a volume has a bar-code label, the server uses the characters on the label as the name for the volume. The volume is not mounted to verify that the bar-code name matches the internal volume name. If a volume has no bar-code label, the server mounts the volume and attempts to read the recorded label. For example, to audit the TAPELIB library using its bar-code reader, issue the following command:
audit library tapelib checklabel=barcode
When you define a storage pool that is associated with an automated library (through the device class), you must specify a maximum number of scratch volumes equal to the physical capacity of the library. When the number of scratch volumes that TSM is using for the storage pool exceeds that number, do the following:
You may need to use an overflow location to move volumes out of the library to make room for these scratch volumes. See Maintaining a Supply of Scratch Volumes.