ACSLS provides sophisticated cartridge management features. These features are provided in several ways:
Automatically, such as the recovery of lost cartridges.
Enabled by default, such as retaining information about absent and ejected cartridges.
Customer defined, such as assigning volume attributes when cartridges are added to the database by audit or when they are entered through a CAP.
Using appropriate cartridge management features enhance the value that ACSLS provides.
Cartridge management consists of the following:
"Automatically Applying Policies to New and Reactivated Cartridges"
"Moving Least-Recently Accessed Cartridges from Active LSMs"
Cartridges can either be manually placed in cells when the library is offline, or entered into a library through a CAP.
An essential requirement for the library and ACSLS to function properly is the availability of a few free cells in each LSM to accommodate dismount, pass through, and eject operations. You should reserve at least one free cell for each tape drive installed in each LSM.
To determine the free cell count of an LSM, issue the following command:
query lsm lsm_id
In the SL8500, each rail is defined as an LSM.
The Following section reviews CAP Types, States, Modes and Priorities.
Each type of CAP has a standard capacity and method for loading it with cartridges. An LSM may have more than one type of CAP. The following table shows the supported CAP types, identifiers and capacities, and loading methods.
CAP Type | Identifier & Capacity | Loading Method |
---|---|---|
StorageTek VTL |
CAP 0; holds 20 cartridges |
Virtual volumes are discovered using Audit. See "VTL Behavior". |
SL3000 |
CAP 6 and optionally CAP 1-5, CAP 7-10; each holds 26 cartridges. |
13 cartridges are placed into each of 2 removable magazines which are loaded into the CAP. |
SL8500 Rotational |
CAP 0 and optional CAP 1; each holds 39 cartridges. |
13 cartridges are placed into each of 3 removable magazines which are loaded into the CAP. |
SL8500 Bulk |
CAP 0 and CAP 1; each holds 33 or 36 cartridges |
11 or 12 cartridges are placed into each of 3 removable magazines which are loaded into the CAP. See "Bulk CAP". |
SL500 |
CAP 0; holds between 5 and 25 cartridges |
5 cartridges are placed into removable magazines which are loaded into the CAP. One magazine in base module; 2 magazines in expansion modules that contains a CAP. |
L180 |
CAP 0, holds 10 cartridges. |
5 cartridges are placed into each of 2 removable magazines which are loaded into the CAP. |
L700 |
CAP 0 and optional CAP 1; each holds 20 cartridges. |
5 cartridges are placed into each of 4 removable magazines which are loaded into the CAP. |
Enhanced (4410 and 9310) |
CAP 0 and CAP 1; each holds 40 cartridges. |
Cartridges are placed into removable magazines which are loaded into the CAP. |
9360 |
CAP 0 holds 20 cartridges; optional CAP 1 holds 30 cartridges. |
Cartridges are placed into removable magazines which are loaded into the CAP. |
Priority (PCAP) |
CAP 2; holds one cartridge. |
Cartridges are entered one at a time, directly into the CAP. |
9710 or 9740 CAP |
CAP 0, holds 14 cartridges or magazine, which holds 10 cartridges. |
Cartridges are loaded directly into the CAP cells or placed into the removable magazine which is loaded into the CAP. |
9714, 9730, or 9738 CAP |
CAP 0, holds one cartridge |
Cartridges are loaded directly into the single-cell CAP. |
Legacy 4400 |
CAP; holds 21 cartridges. |
Cartridges are loaded directly into the CAP cells. |
A CAPs' state determines whether it is available for entering and ejecting cartridges. The following table describes the valid CAP states. See "Displaying CAP Information" for procedures for determining the CAP state. See the command, "query pool" for information about changing device states.
Note:
Refer to "Understanding SL8500 Internal Addresses and ACSLS Addresses" for specifics regarding the SL8500 library. See "SL500 CAP Behavior" for specifics regarding the SL500 library.State | Description | How requests are handled |
---|---|---|
|
Normal operating state. |
All requests are accepted and processed. |
|
The CAP is logically disabled. |
All requests are rejected. |
|
Transition state. Occurs when the CAP is taken from online to offline. |
All new requests are rejected. Current and pending requests are processed to completion. |
|
The CAP is available for diagnostic activity without interference from client applications. |
Requests from client applications are rejected. Requests from |
|
Transition state. Occurs when the CAP is taken from offline to online. |
New requests are rejected. |
The CAP mode controls how a CAP will be used for cartridge enters and ejects. The following table describes the valid CAP modes. See "Displaying CAP Information" for procedures for determining the CAP mode. See the command, "query cap" for information about changing the CAP mode.
HINT: You cannot change a CAP mode while the CAP is in use. That is, if the door is open during either manual or automatic enter operations, you cannot change its mode until you complete the enter operation.
Mode | Description | Effects on enter/eject |
---|---|---|
manual |
The CAP is locked when not in use. This is the initial mode for all multi-cartridge CAPs. |
You can enter or eject cartridges only after explicitly issuing a command. You either specify the cap_id on the command, or allow ACSLS to automatically select a CAP, based on previously defined CAP priorities. Some client applications require CAPs to be in manual mode. See the documentation for your tape management system. |
automatic |
The CAP is unlocked when not in use. This is the initial mode for all priority CAPs. You cannot set the CAP mode to automatic in a partitioned library. The exception to this is a dedicated CAP (assigned to only one partition), in the SL3000 which can be set to automatic mode. When the SL8500 access door is opened and closed, the SL8500 leaves the CAP locked. When the CAP is locked, it cannot be used for automatic mode enters |
You can enter cartridges without explicitly issuing an You cannot If the CAP door is open, remove all of the cartridges and close the door. If the CAP door is closed and the cartridges are being moved into the library, allow the remaining cartridges to be entered into the library. The To eject cartridges you must explicitly issue an If ACSLS shows the CAP in automatic mode, but it is locked and cannot be opened and used for automatic enters: synchronize ACSLS and the SL8500; then return the CAP to automatic enter.
|
CAP priorities specify how ACSLS automatically selects CAPs when the CAP request specifies an asterisk (*) for the CAP ID, The following table describes the CAP priorities and their effect. See "Displaying CAP Information" for procedures for determining the CAP priority. See "query cap" for information about changing the CAP priority.
Priority | Effect |
---|---|
16 (highest) |
first used |
15 (next highest) |
next used |
- |
|
1 (lowest) |
last used |
0 |
never automatically selected (initial priority for all CAPs) |
CAP priorities and automatic CAP selection apply to the following commands:
audit
eject
enter
venter
When you enter any of these commands with an asterisk (*) for all or part of the cap_id, ACSLS automatically selects an available CAP with highest nonzero priority for each ACS or LSM specified in the request.
Examples:
audit * server
ACSLS selects the highest non-zero priority CAP in each ACS.
enter 0,1,*
ACSLS selects the highest nonzero priority CAP in LSM 0,1.
You can choose to enter cartridges manually or automatically.
To enter cartridges manually, you must issue the enter
command.This unlocks the CAP so cartridges can be entered.
An automatic enter is initiated by opening a CAP that is in automatic mode. When a CAP is in automatic mode, you need not issue an enter command.
The following steps describe the enter process:
Once you start the enter, the CAP is unlocked and reserved. It cannot be used by another host.
After you open the CAP, place the cartridges into the CAP and close the CAP. The CAP is now locked.
The ACSLS library robot inspects/audits the cartridges in the CAP. All cartridges being entered must have valid external labels that do not duplicate other vol_ids
already managed by this ACSLS server.
Note:
Virtual enter allows you to enter unlabeled cartridges into some libraries.ACSLS allocates home cells in the library to valid cartridges and moves them to their assigned home cell locations.
Duplicate cartridges and cartridges without external labels are left in the CAP and must be removed.
Upon completion, the CAP is unlocked so more cartridges can be entered.
If the CAP is in automatic mode, the automatic enter is complete and the CAP is unreserved and available.
If this is a manual enter, the CAP is still reserved for the manual enter. To terminate the manual enter, cancel it with either the cancel
command or with Ctrl + c
at cmd_proc
where the enter was started.
For additional information on the enter
command, see "enter".
Note:
If cartridge tracing is enabled, the event log records all cartridge enters.Table 9-5 Cartridge Enter Commands
Task | Command |
---|---|
Entering Cartridges in Automatic Mode |
|
Entering Cartridges in Manual Mode |
|
Entering Cartridges with Virtual Labels (venter) |
Do not open the LSM door and place cartridges with missing or unreadable labels in a storage cell because ACSLS cannot manage these cartridges. During an audit, ACSLS will eject cartridges with missing or unreadable labels that were placed in storage cells. |
Use these procedures to terminate or cancel a current or pending manual enter or virtual enter.
You cannot cancel an automatic enter operation that is in progress using the cancel
command. To terminate an automatic enter in progress:
If the CAP door is open, remove all of the cartridges and close the door
If the CAP door is closed and the cartridges are being moved into the library, you must allow the remaining cartridges to be entered into the library. The enter then terminates.
To cancel a manual enter:
Display all current and pending library activity:
query request all
Note the request_id
of the enter/venter request you want to cancel.
From the cmd_proc
, enter:
cancel
request_id
Where request_id is the identifier of the request you want to cancel.
Wait for the CAP to unlock, open the CAP, and remove all cartridges.
cmd_proc
displays a message indicating the number of cartridges entered into the library before the cancel request was received. These cartridges will remain under ACSLS control.
See "enter".
To eject cartridges from the library you must issue the eject
command.
The following steps describe the eject process:
Once you start the eject, the CAP is locked. It cannot be used by another host.
The robot places the specified cartridge(s) in the designated CAP, then ACSLS makes the cell locations where the cartridges were stored available for other cartridges.
Open the CAP, remove all cartridges from the CAP, and close the CAP. ACSLS then inspects the CAP to ensure it is empty. The CAP is now available for another operation, such as enter or audit.
If you specify more than a CAP full of cartridges on the eject
command, empty the CAP when it fills, close the CAP, and ACSLS will continue the eject process until all cartridges are ejected.
For additional information on the eject
command, see "eject". Also refer to "ejecting.sh".
If volume statistics gathering is enabled, the acsss_stats.log
records all cartridge ejections. See "Setting General Product Behavior Variables".
This section discusses CAP recovery.
The following are general CAP recovery procedures.
If possible, let an enter or eject complete, instead of trying to cancel it and recover the CAP. This results in less complications, and less risk of a hung CAP.
Let the entry of a CAP-full of cartridges complete, and then terminate a manual enter by cancelling it. (A CAP in automatic mode only enters a single CAP-full of cartridges at a time.)
If possible, let all the cartridges specified in the eject command be ejected. Otherwise, let ACSLS eject a full CAP of cartridges and empty the CAP before trying to cancel to eject.
You must vary a CAP offline with force to recover it. Varying a CAP offline force and then back online both recovers the CAP and usually terminates a hung enter
or eject
that is using the CAP.
Vary the CAP offline with force.
vary cap
cap_id
offline force
Only the current robotic request completes, then the CAP goes offline immediately. Pending requests are discarded, and new requests are rejected.
A hung manual enter
or eject
is usually canceled.
Cancel the enter
or eject
request if it is still active.
To see if the enter
or eject
request is still active:
query request all
If the enter
or eject
is still active, cancel it by entering the following command:
cancel
request_id
Vary the CAP back online.
vary cap
cap_id
online
This should recover the CAP and make it available for other requests.
ACSLS now unlocks a CAP in automatic enter mode after an SL8500 or SL3000 access door is opened and closed, or the SL8500 or SL3000 re-initializes.
After an SL8500 or SL3000 library re-initializes, if the CAP is locked and you must recover it, follow the appropriate procedure below to recover the CAP.
To recover a CAP that will not unlock for an automatic enter, you must synchronize the state of the CAP between both ACSLS and the library.
Set the CAP mode to manual to terminate automatic enter mode:
set cap mode manual
cap_id
Set the CAP back to automatic mode:
set cap mode automatic
cap_id
To recover a CAP that will not unlock for a manual enter, you must synchronize the state of the CAP between both ACSLS and the library.
Vary the CAP offline with force.
vary cap
cap_id offline force
Vary the CAP back online.
vary cap
cap_id online
Restart your manual enter.
enter
cap_id
To recover a CAP where you were doing an eject, you must remove any cartridges left in the locked CAP, and synchronize the state of the CAP between both ACSLS and the library.
Remove any cartridges in the CAP.
Vary
the CAP offline with force.
vary cap
cap_id offline force
Vary
the CAP back online.
vary cap
cap_id online
Select one of the following:
If the CAP is in auto mode:
Set the CAP mode to manual to terminate the automatic enter mode.
set cap mode manual
cap_id
Set the CAP to automatic mode. This unlocks the CAP.
set cap mode automatic
cap_id
Open the CAP and remove any cartridges left in the CAP.
If the CAP is not in auto mode:
Start a manual enter
.
enter
cap_id
Remove any cartridges left in the CAP.
Cancel the enter.
Use either Ctrl + c
in the cmd_proc
that is waiting for the enter, or cancel the enter
request ID.
Restart your eject.
enter
cap_id vol_id | volrange…
If a CAP that is used for an enter or eject in an L1400, L700, L700e, or L180 library does not unlock, you can perform an IPL on the library to recover the CAP. Follow the appropriate procedure below to recover the CAP.
To recover a CAP that will not unlock for a manual enter:
Cancel
the enter
.
Use either Ctrl + c
at the cmd_proc that is waiting for the enter to complete, or cancel
the enter
request ID.
Re-IPL the library by pressing the RESET button on the operator panel.
Start another enter after the library finishes initialization.
To recover a CAP that will not unlock for an automatic enter:
Set the CAP mode back to manual to terminate automatic enter mode.
set cap mode manual
cap_id
Re-IPL the library by pressing the RESET button on the operator panel.
Set the CAP back to automatic mode after the library finishes initialization.
set cap mode automatic
cap_id
To recover a CAP that will not unlock for an eject (after the CAP is full or all volumes have been ejected):
Open the access door to the library, remove all cartridges from the CAP, and close the access door.
Re-IPL the library by pressing the RESET button on the operator panel.
A Re-IPL of the library causes ACSLS to terminate the eject with a ”library failure”.
Optionally, audit the library.
After the library finishes initialization, running an audit is a good idea, but it is not required.
Start another eject if all of the cartridges were not ejected.
This section discusses how to automatically apply policies to new and reactivated cartridges.
Modern cleaning cartridges are labeled with media types that are reserved for only cleaning cartridges. For example, T10000 backward-compatible cleaning cartridges are labeled with a media domain and type of ”CL”, and LTO universal cleaning cartridges are labeled ”CU”.
Because ACSLS understands that cartridges with these media domains and types can only be cleaning cartridges, it automatically sets cleaning cartridge attributes when these cartridges are added by audit, enter, or Cartridge Recovery. This includes identifying them as cleaning cartridges and setting their maximum cleaning usage.
The watch_vols
utility can automatically assign attributes to cartridges added to the database or reactivated by audit, also when they are entered or re-entered. The policies are specified in the vol_attr.dat file and are selected by vol_id
or vol_range
. This utility can automatically:
Assign volume ownership based on vol_id
ranges or specific volumes listed in a vol_attr.dat
policy table.
Assign cartridges to a scratch pool.
Move new and reactivated cartridges to a specific LSM.
Assign cartridges to a logical library.
For more information, see "watch_vols".
Tape drives must be cleaned periodically to remove stain contamination and adherent debris from the read/write recording heads. Drive control units track how much tape passes through each drive and sends a message to ACSLS when a drive requires cleaning.
For more information on cleaning cartridges, see:
ACSLS can perform automatic cleaning for TCP/IP or serial (HLI) attached libraries (SL8500, SL3000, and 9310), but not for Fibre or SCSI-attached libraries (SL150, SL500, and L700).
If auto-cleaning is enabled, ACSLS automatically mounts a cleaning cartridge on the tape drive when required. Automatic cleaning is enabled when the AUTO_CLEAN
dynamic variable is set to TRUE
(default).
Modern tape drives request cleaning as needed. The drive notifies the library, which forwards the message to ACSLS. ACSLS records that the drive must be cleaned. When ACSLS processes the next mount request for the drive, it precedes the mount with a cleaning operation. This includes selecting a compatible cleaning cartridge, mounting the cleaning cartridge, dismounting the cleaning cartridge, and then proceeding to mount the data cartridge specified in the original mount request.
If ACSLS encounters a recoverable problem during the cleaning operation, such as mounting a spent (used-up) cleaning cartridge, it selects another cleaning cartridge and retries the cleaning operation. The AUTO_CLEAN_RETRY_LIMIT
dynamic variable governs the number of retries, with a default of one retry and a range of 0-5 retries. Use acsss_config
, and select General Product Behavior Variables to display and change this variable.
The UNIFORM_CLEAN_USE
dynamic variable defines the method used to select cleaning cartridges. Options, are:
VOLID_SORT
– Order by vol_id. Uses up one cleaner before using the next.
LEAST_USED
– Order by usage. Spreads usage evenly.
MOST_CAPACITY
– Order by usage left. Uses up all cleaners at the same time.
The default is VOLID_SORT
. Use acsss_config
, and select General Product Behavior Variables to display and change this variable.
For more information on automatic cleaning by ACSLS, see:
AUTO_CLEAN
in "Setting CSI Tuning Variables"
AUTO_CLEAN_RETRY_LIMIT
in "Setting CSI Tuning Variables".
Each different cleaning cartridge type has a maximum number of uses before the drive reports that it is used-up (expired or spent). This maximum usage varies depending on the type of cleaning cartridge. When ACSLS adds cleaning cartridges, the cartridges' max usage is recorded in the ACSLS database. ACSLS only selects cleaning cartridges for automatic cleaning when the cartridges' access_count
(number of times the cartridge has been mounted, and so forth) is less than the max
usage. When the tape drive reports that a cleaning cartridge is used-up (spent), ACSLS sets the access count to be greater than max
usage.
The maximum usage that ACSLS automatically sets for cleaning cartridges is higher than the actual number of cleaning uses that the cartridge supports. This is because some applications schedule mounts of cleaning cartridges without the drives having requested cleaning. If the drive is not ready to be cleaned, it may do a ”pseudo-clean” to avoid wearing out the heads prematurely. This means that the drives' access count has been incremented without actually using the cleaning cartridge. A higher max
usage value allows these cartridges to be used until the drive reports that they are spent.
You can use the set
clean
command to define a cleaning cartridge and set its maximum usage.
set clean
max_usage vol_id | volrange
Where:
max_usage is the number of times a cleaning cartridge is used before ACSLS stops selecting the cartridge to clean cartridges.
vol_id | volrange specifies the cleaning cartridge or range of cartridges.
Use set
clean
to:
Change a cleaning cartridge's maximum usage count.
For example the cleaning cartridge has been manually mounted on drives that did not need to be cleaned, and the access_count
was incremented but only a ”pseudo-clean” was done. Set a higher max_usage
to get full usage from the cleaning cartridge.
set clean
max_usage vol_id|volrange
Set a cartridge's cleaning cartridge attribute off. For example, if you incorrectly defined a data cartridge as a cleaning cartridge, set the cartridge's cleaning cartridge attribute off to redefine the cartridge as a data cartridge.
set clean off
vol_id|volrange
You must monitor the cleaning cartridges in your library by ejecting the used cleaning cartridges. Enter new cleaning cartridges as needed.
To display all cleaning cartridges:
query clean all
To display all cleaning cartridges of one media_type
in an ACS, use the display command:
display volume * -home
acs,*,*,*,* -media
media_type
To display a cartridges' maximum cleaning usage and current usage:
display volume * -home
acs,*,*,*,* -media
media_type –f vol_id acs lsm media max_use access_count
To display all cleaning cartridges in an ACS, with the maximum cleaning usage and current usage:
display volume CLN* -home
acs,*,*,*,* -f acs lsm type media max_use access_count
To display all used cleaning cartridges (these cartridges should be ejected and replaced with new cleaning cartridges):
display volume * -spent_clean
See also:
When entering cleaning cartridges, make sure to complete the following procedure:
Use cleaning cartridges whose media types are compatible with the drive types in your library. ACSLS automatically selects the correct type of cartridge for each cleaning operation.
To see which cleaning cartridges are compatible with a drive type, see the media-to-drive compatibility table in the ACSLS Product Information manual or use the drive_media.sh
utility.
Define at least a few cleaning cartridges for each drive type in your library. For most sites, having at least one cleaning cartridge for every four drives is reasonable.
To define cleaning cartridges to ACSLS:
Make the CAP ready for entry:
See "Entering Cartridges" for more information.
Enter the cleaning cartridges.
cmd_proc
displays messages with the cartridge IDs of the cartridge you entered.
As described in "Automatic Assignment of Cleaning Cartridge Attributes", ACSLS automatically defines cleaning cartridges when they are entered or added by audit, enter, or Cartridge Recover. This includes their maximum usage.
ACSLS logs messages to the Event Log when a cleaning cartridge has reached its maximum usage or a drive reports that the cleaning cartridge is spent. ACSLS leaves the cartridge in the library, but no longer selects it for cleaning. You must eject the used cleaning cartridge and enter a replacement.
To eject used cleaning cartridges:
Use query
clean
and display
volume
to identify cleaning cartridges that are over their maximum usage or spent.
query clean all
display volume * -spent_clean
Eject the cleaning cartridges.
eject
cap_id vol_id |
volrange
Where:
cap_id
specifies the CAP used to eject the cleaning cartridges.
vol_id | volrange specifies the IDs of the cleaning cartridges to eject.
Remove the spent cleaning cartridges.
Use this procedure to clean a drive when auto-clean is disabled or is not working.
To manually clean a drive:
Determine which cleaning cartridge types are compatible with the drive to be cleaned.
Refer to the Product Information Guide and look in the Drive and Media Compatibility table for a list of the cleaning cartridges for each drive type.
Display the available cleaning cartridges:
query clean all
To display all compatible cleaning cartridges in the same ACS as the drive, use the display
command:
display volume * -home
acs,*,*,*,* -media
media_type
To display the cartridges' maximum cleaning usage and current usage:
display volume * -home
acs,*,*,*,* -media
media_type -f
vol_id acs lsm media max_use access_count
To display all cleaning cartridges in an ACS, with their maximum cleaning usage and current usage:
display volume CLN* -home
acs,*,*,*,* -f acs lsm type media max_use access_count
Select a compatible cleaning cartridge from those listed and mount it on the drive:
mount
vol_id drive_id
After the drive is cleaned and the cleaning cartridge is unloaded, dismount the cleaning cartridge:
dismount
vol_id drive_id
ACSLS automatic cleaning is not supported for drives in Fibre-attached libraries. You can only clean these drives using ACSLS by manually mounting a cleaning cartridge. However, Fibre-attached libraries let you enable auto-cleaning using the library GUI. For more information, see your library documentation.
The following are some troubleshooting tips to try when drives are not being cleaned.
If auto-cleaning is disabled, ACSLS logs a message in the event log and displays cleaning messages with cmd_proc
when the drive requires cleaning. You must manually mount a cleaning cartridge.
Use acsss_config
to enable or disable auto-cleaning. In addition, with acsss_config
you can specify how cleaning cartridges are ordered for selections and queries.
Automatic cleaning is enabled when the AUTO_CLEAN
dynamic variable is set to TRUE (on), which is the default setting. To view AUTO
-CLEAN
, enter:
dv_config -e AUTO_CLEAN
ACSLS does not perform automatic cleaning for Fibre-attached libraries.
If all cleaning cartridges are expired (the max_usage value is exceeded) or have been reports as spent by the drives, ACSLS performs the original mount request without cleaning the drive. For that mount and for each subsequent mount to the uncleaned drive, ACSLS posts message 376 N ”Drive
drive_id: No Cleaning cartridge available
” to the event log. Add more cleaning cartridges that are compatible with the drive type as described in "Manually Defining Cleaning Cartridges".
If drives are not being cleaned, make sure that there are cleaning cartridges for the drives in the library and that they still have usage left.
From cmd_proc
, you can use the display command to see:
All of your cleaning cartridges and their usage:
display volume * -clean -f media access_count max_use
All of the volumes of a specific media type.
For example, to display all LTO cleaning cartridges:
display volume * -media LTO-CLNU -f access_count max_use
All used-up (spent) cleaning cartridges and their usage:
display volume * -spent_clean -f media access_count max_use
If you ever have an issue where automatic cleaning for an SL8500 or SL3000 is not working, check to make sure Automatic Cleaning is not enabled for the library using SL Console.
When automatic cleaning is enabled using ACSLS, it automatically mounts a cleaning cartridge before the next mount when it receives a ”drive needs cleaning” message from the library after a dismount.
If automatic cleaning is enabled at the library level using SL Console, the library is responsible for doing automated cleaning. When library auto-cleaning is enabled, the library does not send a drive needs cleaning message to ACSLS. ACSLS never knows that the drive must be cleaned. The library then tries to mount a cleaning cartridge from one of its system cells to clean the drive before sending ACSLS the dismount response.
As a result, there can be a mix-up where the library is trying to do automated cleaning, but has no cleaning cartridges in the system cells. ACSLS can be managing cleaning cartridges in normal storage cells, but ACSLS does not receive a ”drive needs cleaning” message. The result is that the drive is not cleaned.
To resolve this:
If ACSLS automated cleaning is enabled, but drives are not being cleaned, check if the library also has auto cleaning enabled.
If auto cleaning is enabled at the library, disable it using the SL Console.
Use the SL Console or the library operator panel.
Select the System Detail tab.
Select Library.
Select the Auto Clean tab.
Select the Configure tab.
Check if Auto Cleaning is enabled for this partition (or ”Partition 1 or None”).
Disable automated cleaning if it is enabled.
Automatic cleaning does not select questionable cartridges to avoid repeatedly selecting a faulty cleaning cartridge. Cartridges are marked as questionable if the library reports that the cartridge has an unreadable label.
You can identify cleaning cartridges that are marked as questionable with the display command. This also displays the cleaning cartridges' ACS, LSM, type, max_use
and access_count
.
display volume CLN* -f media_status acs lsm media_status type max_use access_count
To clear a questionable status:
Eject the cartridge, examine it, and if it is good, enter it back into the library.
Questionable status is cleared when a cartridge is entered.
Scratch cartridges either contain no data or data that can be overwritten. A user or application mounts a scratch cartridge to write new data on that cartridge.
To assign scratch status:
Cartridges can be defined as scratch cartridges and assigned to scratch pools by the set
scratch
command.
The watch_vols
utility can automatically assign cartridges to a scratch pool based on the cartridges' vol_id
or volrange
. See "watch_vols".
Clearing a volume scratch status:
A cartridge's scratch status is cleared when the cartridge is successfully mounted (either by a mount scratch or a normal mount request).
Note:
The set
scratch
command can be used to clear scratch status.Although a volume's scratch status is cleared when a volume is mounted, the pool
id
is not cleared. The result is a data volume assigned to the pool.The set
scratch
command can also be used to assign a data volume to a scratch pool using:
set scratch off
pool_id vol_id | volrange
You must ensure that the library has enough available scratch cartridges to satisfy scratch mount requests. For more information see:
The following sections provide additional information about managing scratch cartridges and scratch pools:
To display scratch pool information, use the following ACSLS functions:
query pool
Displays scratch pool attributes. See "query pool".
query scratch
Displays scratch cartridge information. See "query scratch".
query mount *
Displays the status of media-compatible cartridges for a specified scratch pool (and, optionally, for a specific cartridge media type within the pool). See "query mount *".
Customized volume report
Reports selected scratch volume information. See "Creating a Logging Volume Statistics Report".
Use this procedure to add scratch cartridges to the library.
To add scratch cartridges to the library:
If necessary, create a new scratch pool:
For more information, see "query scratch"
Enter scratch cartridges into the library.
For more information, see "Entering Cartridges".
Define the cartridges you entered in Step 2 as scratch cartridges and assign them to a scratch pool.
This can either be done using policies defined in vol_attr.dat
for the watch_vols
utility or using set
scratch.
Use this procedure to rebalance scratch pools by moving scratch cartridges from one pool to another.
To rebalance scratch pools:
Display the attributes of all scratch pools:
query pool all
For more information see "query pool"
Use the query scratch
command to display the IDs of scratch cartridges in pools you want to rebalance.
For more information, see "query scratch"
Use the set scratch
command to move scratch cartridges from one pool to another.
For example, to reassign cartridges YUMA20 through YUMA80 (which currently reside in pool 5 to pool 10, enter:
set scratch 10 YUMA20-YUMA80
For more information, see "set scratch".
To manage scratch pools, you may want to delete any scratch pools that no longer contain scratch cartridges. You cannot delete the common pool (Pool 0). Notice that you can delete only empty scratch pools; you cannot delete a scratch pool if it contains either data or scratch cartridges. You can, however, use "Deleting All Empty Pools" to delete all empty pools (ACSLS will not delete any pools that contain scratch or data cartridges).
Use this procedure to empty a scratch pool before deleting it.
To empty a scratch pool:
To move data cartridges out of the pool, enter:
set scratch off 0 vol_id volrange ...
Where the vol_id
or volrange
specifies the data cartridges you want to move to the common pool (pool 0). For more information, see "set scratch".
To move scratch cartridges out of the pool, do one of the following:
Move the cartridges to another pool.
See "Ejecting Cartridges". If you eject scratch cartridges, however, ACSLS no longer manages these cartridges. If you later want to use these cartridges, you must reenter them and assign them to a scratch pool.
The delete pool all
command deletes only empty scratch pools, not pools that contain scratch or data cartridges.
To delete all empty pools:
delete pool all
The mount scratch (mount *
using cmd_proc
) command selects a scratch cartridge that is compatible with, and as close as possible to, the specified drive and mounts it in the drive. If a pool is specified, the scratch cartridge must be assigned to that pool.
If the mount of the scratch cartridge fails because the scratch cartridge is not found in its home cell or another recoverable error, ACSLS automatically tries to select another scratch cartridge and retry the mount.
You can set a Volume Access Control policy for whenever a scratch cartridge is mounted, it is automatically owned by the ACSAPI user who mounted it. See "Establishing Ownership of Your Volumes".
Use the following procedures to mount scratch cartridges in single-media and mixed-media environments.
To mount a cartridge from a specified pool:
mount *
drive_id pool_id
If no cartridge is available from the specified pool and the pool has been set for ”overflow,” ACSLS will select a cartridge from the common pool (pool 0).
To mount a cartridge from the common pool:
mount *
drive_id
To mount a scratch cartridge with a specified media type from a specified pool:
mount *
drive_id pool_id media
media_type
If no cartridge is available from the specified pool and the pool has been set for overflow
ACSLS will select a cartridge with the specified media type from the common pool (pool 0).
To mount a scratch cartridge from a specified pool with a media type determined by scratch preferences:
mount *
drive_id pool_id media *
If no cartridge is available from the specified pool and the pool has been set for overflow
ACSLS will select a cartridge from the common pool (pool 0) according to the defined scratch preferences.
To mount a cartridge from the common pool with a specified media type:
mount *
drive_id media
media_type
To mount a cartridge from the common pool with a media type determined by scratch preferences:
mount *
drive_id media *
Scratch cartridges are automatically reassigned to data cartridge status when they are mounted.
Use this procedure to ”unscratch” cartridges (return them to data cartridge status) that were scratched in error.
To unscratch cartridges:
Use the query pool
and query scratch
commands to display the cartridge and pool IDs of the cartridges to unscratch.
For more information see"query pool" and "query scratch".
To unscratch the selected cartridges, enter:
set scratch off 0
vol_id volrange ...
Where the vol_id
or volrange specifies the cartridges you want to change from scratch mode and move them to the common pool (pool 0). For more information, see "set scratch".
Absent cartridge support in ACSLS marks cartridges that cannot be found in the library as absent, instead of deleting them. If these cartridges are later found in the library, ACSLS changes them to active status instead of re-adding them to the database. Reactivation preserves the access count and settings, such as pool, volume access control ownership, and locks.
Similarly, ejected cartridge support retains cartridge information when cartridges are ejected. The cartridges are reactivated when they are re-entered.
Absent and ejected volume support is enabled when the ABSENT_VOLUME_RETENTION_PERIOD
is set to a nonzero number of days. The default value is 5 days.
Additional aspects of absent and ejected cartridge support include:
The Manual Volume Delete (del_vol
) utility will retain volumes as absent unless the -d
option is specified. If this option is specified, the volume is deleted without waiting for the expiration of an absent or ejected status.
ACSLS queries SL3000 and SL8500 libraries for the location of lost cartridges.
ACSLS improves volume recovery by searching for volumes that are not found in their expected locations in the library. ACSLS searches all recorded locations instead of automatically deleting the volume.
Clients can specify, through the ENABLE_STATUS_VOLUME_ABSENT
and ENABLE_STATUS_VOLUME_MISSING
configuration settings, whether they want absent, ejected, and missing statuses to be reported through the ACSAPI.
The volrpt
utility with the -i
option will report volume records with a status of absent or ejected. By default, volrpt does not report absent or ejected volumes.
ACSLS reports three cartridge (volume) statuses:
missing
The cartridge cannot be located in the library, and at least one recorded location for the cartridge cannot be searched because the LSM is offline or a drive is not communicating. The information about the cartridge has been retained.
absent
The cartridge cannot be located in the library. All recorded locations for the cartridge have been searched, and the cartridge is not in any of them. The information about the cartridge is retained. If the cartridge is found or re-entered into the library (before the retention period expires), it is reactivated.
ejected
The cartridge was ejected. The information about the cartridge is retained, and if the cartridge is found or re-entered (before the retention period expires), it is reactivated.
ACSLS reports cartridges (volumes) with the status ”missing”, ”absent,” or ”ejected,” differently in response to ACSLS commands than it does in response to ACSAPI requests.
The information displayed in response to ACSLS commands identifies a cartridge as ”missing”, ”absent”, or ”ejected.”
However, the cartridge status information ACSLS displays in response to ACSAPI requests is governed by the following ACSLS dynamic variables:
missing
If the ACSLS dynamic variable ENABLE_STATUS_VOLUME_MISSING
is TRUE, ACSLS reports: STATUS_VOLUME_MISSING
.
If the ACSLS dynamic variable ENABLE_STATUS_VOLUME_MISSING
is FALSE, ACSLS reports: STATUS_VOLUME_IN_TRANSIT
.
absent
If the ACSLS dynamic variable ENABLE_STATUS_VOLUME_ABSENT
is TRUE, ACSLS reports: STATUS_VOLUME_ABSENT
If the ACSLS dynamic variable ENABLE_STATUS_VOLUME_ABSENT
is FALSE, ACSLS treats the volume as if it had been deleted from the ACSLS database and reports: STATUS_VOLUME_NOT_IN_LIBRARY
.
ejected
If the ACSLS dynamic variable ENABLE_STATUS_VOLUME_EJECTED
is TRUE, ACSLS reports: STATUS_VOLUME_EJECTED
If the ACSLS dynamic variable ENABLE_STATUS_VOLUME_EJECTED
is FALSE, ACSLS treats the volume as if it had been deleted from the ACSLS database and reports: STATUS_VOLUME_NOT_IN_LIBRARY
.
ABSENT_VOLUME_RETENTION_PERIOD
Dynamic Variable”
The ABSENT_VOLUME_RETENTION_PERIOD
dynamic variable controls how long absent and ejected volumes are retained in the ACSLS database and specifies the number of days these volumes are retained. There are two special values:
The value 0 (zero) days specifies that volumes are deleted and will not be marked absent or ejected. (This is the behavior of ACSLS releases previous to ACSLS 6.1.)
The value 999 days specifies that absent and ejected volumes are retained forever in the database.
Cartridge Recovery (acscr
) is an ACSLS internal process that is called to resolve discrepancies whenever the actual content of a storage cell or tape drive does not match the information saved in the ACSLS database. It does this by:
Letting the library examine the volume's home cell and, possibly, the drive. Then, updating the ACSLS database with the results.
Letting ACSLS (with the SL3000 and SL8500 libraries) to recover a cartridge by asking the library where a cartridge is located, and then using the library's reply to update the ACSLS database.
If Cartridge Recovery finds a discrepancy, such as a cartridge that is recorded at another location, it creates another recovery request and adds it to its request queue. (This is called a ”cascade”.)
Other processes pass recovery requests to Cartridge Recovery when they encounter a discrepancy between the ACSLS database and the actual contents of the library. Cartridge Recovery is then the central location where cartridges are marked as missing, changed to absent, and reactivated. Thus, what appears to be the behavior of many other ACSLS commands and utilities is actually done by Cartridge Recovery when it updates the database to match the information reported by the library.
When other processes pass recovery requests to Cartridge Recovery, you can:
Continue and let Cartridge Recovery continue asynchronously (Cartridge Recovery proceeds independently).
If you need a specific cartridge that is lost, wait for Cartridge Recovery to finish processing this recovery request and report what it found.
A cartridge is marked missing when:
Cartridge Recovery cannot find a cartridge in the library.
It cannot examine all recorded locations for a cartridge (home cell and drive, if the cartridge has a recorded drive location).
For example, when Cartridge Recovery cannot examine the home cell in an offline LSM or an offline drive, and when it does not find the cartridge in other locations, it marks the cartridge missing.
Cartridge Recovery preserves the cartridge's home location unless it examines the cartridges' home cell and finds another cartridge there. In this situation, it marks the cartridge ”homeless,” with a minus one (-1
) in the home_lsm
field.
When Cartridge Recovery finds a cartridge that was missing, it changes that cartridges' status to ”home
” or ”in drive
” in the database, depending where it found the missing cartridge.
If the cartridge is found in a cell other than its recorded home cell, Cartridge Recovery checks the cartridges' home cell to see whether it has found a duplicate cartridge.
If the cartridge is not in its recorded home cell, Cartridge Recovery records the cell in which it was found as its new home cell.
If the new cartridge is a duplicate, Cartridge Recovery reports this on the Event Log. The duplicate cartridge is not ejected.
If Cartridge Recovery finds a ”homeless” cartridge in a drive, it does not assign a new home cell. When the cartridge is dismounted, the dismount process assigns a new home cell.
This section discusses absent an ejected cartridges.
When Cartridge Recovery can examine all recorded locations and it cannot find a cartridge:
If the ABSENT_CARTRIDGE_RETENTION_PERIOD
is 0, Cartridge Recovery:
Deletes the cartridge record from the database.
Marks the cell record in the database for the cell that was the cartridges' home cell as ”empty.”
If the ABSENT_CARTRIDGE_RETENTION_PERIOD
is greater than 0, Cartridge Recovery:
Changes the status of the cartridge record in the database to ”absent” if the cartridge has not already been marked absent or ejected.
Records the cartridge as ”homeless” (with a minus one (-1) in the home_lsm
field).
Marks the cell record in the database of the cartridges' former home cell as ”empty.”
If Cartridge Recovery finds an ejected or absent cartridge, it reactivates the cartridge.
If the ejected or absent cartridge is found in a storage cell, this becomes its new home cell, and Cartridge Recovery changes the cartridges' status to ”home” in the database.
If the cartridge is found in a drive, ACSLS assigns a new home cell when the cartridge is dismounted.
The Manual Volume Delete utility, del_vol
, allows you to access a volume that is in an offline, unavailable LSM. If you manually remove the cartridge from the LSM and try to re-enter it into another LSM, ACSLS will issue a duplicate volume
message and will not enter the cartridge. Using the del_vol
utility, you can first delete the volume from the database, then manually remove it from the offline LSM and successfully re-enter it into an online LSM.
The del_vol
utility now retains volumes as absent, with the option to delete the volume. The volume can be deleted without waiting for the expiration of an absent or ejected status.
Note:
To remove a cartridge from an online LSM, issue aneject
command for the cartridge. If the cartridge is not actually in the LSM, you can run del_vol
with the -f
(force option). ACSLS and the database must be up and running to use this utility. Do not run del_vol
while the system is in recovery; unpredictable results may occur.For more information about this utility, see "del_vol".
To delete a cartridge using the del_vol
utility:
Log in as acsss
.
Delete the cartridge:
del_vol
vol_id
When tape cartridges exceed their design life, the media can wear thin, and mechanical parts, like the cartridges' gate wearing out. When cartridges reach the end of their engineered life, you should consider migrating the data on them to new cartridges and retiring the old cartridges. This avoids the slight risk of either mechanical cartridge components failing or the data being unreadable.
A cartridges' chronological age and its usage are different. Some 9840 cartridges have been in use for a decade, but they have different usage patterns. Some have been used daily while others are used for deep archive and are rarely accessed. Identifying the cartridges that are past their design life is critical.
To identify the cartridges that need to be retired, you must determine their usage. A cartridge's usage is recorded in the cartridge's directory, and before a cartridge is dismounted, the drive updates the directory.
For cartridges in libraries controlled by ACSLS:
For some libraries that ACSLS manages, cartridge usage is displayed as a percentage of ”warranty life” and ”end-of-life”.
For prior ACSLS releases and libraries, the ACSLS access_count
can be displayed with the display
command and the volrpt
utility.
With modern libraries running the latest firmware and StorageTek drives running the latest firmware, the tape drive reports the cartridge's ”end-of-warranty-life” and ”end-of-life percentages” to the library when the cartridge is dismounted. Then, the library reports this to ACSLS. ACSLS saves this information in its database, and you can see it by running the ACSLS display volume
command. See "Using display Command Options".
Example: To display all T9840 cartridges, with ACS, LSM, media, and end_of_life
information, sorted by end_of_life:
display volume * -media STK1R -f acs lsm media end_of_life warranty_life -s end_of_life
Specifically this information is reported to ACSLS for these libraries and drives:
Libraries:
SL3000
SL8500 (with the 4.10 firmware)
Tape Drives:
All T10000 tape drives - with 1.38 firmware
T9840A, T9840C, and T9840D (All T9840 tape drives except the T9840B.) – with 1.42 firmware
T9940A and T9940B tape drives – with 1.42 firmware
In many cases, cartridge end-of-life reporting is not available. In these cases, the ACSLS access_count
is the best information available. The ACSLS database records the number of times that volumes have been selected or accessed. This can be used to estimate the number of times that they have been mounted, if the cartridge has stayed in a group of connected libraries (within an ACS).
This information is collected regardless of library type, so it is maintained for 9310s, 4410s, and 9360s, also SL8500s and SL3000s. ACSLS
has saved this information for decades, so even if you are still on down-level releases, you still have this information. However, this data has limits. The biggest one is that when a cartridge is entered into a library, the count is set to zero (0).
Information is retained about volumes for the retention period you have set, so counts are preserved when a cartridge is ejected from an ACS and re-entered into the same or different ACS within the retention period. The default retention period is five days. However, if a volume is ejected from a library and remains off-site for longer than the retention period for volume information, the information about the volume is deleted from the ACSLS database.
For cartridges that have remained in a single library these ACSLS access counts are very useful. For a T9840 cartridge, if the ACSLS access_count
is over 11,000, the cartridge in question is near the end of its life, if not already over its end of life. T10000 cartridges have an end-of-life value of 16,000 mounts.
Because ACSLS provides tools so you can preserve and migrate your database information when you install new releases of ACSLS, this information can go back over a decade. In the absence of data from the cartridge, this is the only option.
The ACSLS field is called access_count
. It counts:
Mounts (dismounts are not counted)
Enters and ejects (enters and ejects are often rare)
Moves (although the move
command using cmd_proc
is rarely used, and it is not available to ACSAPI clients)
The access_count
is mainly a count of the number of times the cartridge was mounted. ACSLS remembers ejected volumes for the ABSENT_VOLUME_RETENTION_PERIOD
(default of 5 days). When cartridges are moved between ACSs and sent off-site and brought back on-site, ACSLS can remember the access_count
.
You can see the ACSLS access_count
using both:
The ACSLS display
command.
To see all 9840 data cartridges, sorted by access count, and also showing media type, ACS, and LSM:
display volume * -media STK1R -s access_count -f media access_count acs lsm
The volrpt
utility.
volrpt
can be sorted by use (access_count
), and can only include selected fields. For example, a custom volrpt containing vol_id, media type, access_count,
and location
, can be output to a flat file for further processing by a script.
When ACSLS dismounts a cartridge from a tape drive, it attempts to avoid pass-thru by ”floating” cartridges that came from other LSMs to a new home cell in the same LSM as the tape drive.
For example, if a cartridge is mounted from SL8500 library 3, rail 2 (LSM 9) to a drive in library 1, rail 4 (LSM 3), this requires two horizontal pass-thrus and an elevator pass-thru. When ACSLS dismounts the cartridge, it tries to find a new home cell in LSM 4 and avoid any pass-thru on the dismount.
Problem:
It is impossible to float cartridges to an LSM if there are no free (unassigned) storage cells in the LSM. If there are no free cells in the tape drives' LSM, ACSLS still tries to dismount the cartridge to the closest LSM to the drive, but this requires at least one pass-thru.
Solution:
Identify cartridges that have not been accessed in a long time, and move them out of full LSMs to provide free cells to which cartridges can float to on a dismount.
In the information that ACSLS records about cartridges, the access_date
is updated whenever a cartridge is mounted or dismounted, entered, or moved. The access_date
can be used to identify those cartridges that are not active
This whole process is safe, as you are only moving volumes within the same ACS and are not doing anything which would prevent future mounts of these cartridges, such as ejecting cartridges or changing their status.
To identify and move least-recently used cartridges, follow the procedure below:
Identify the LSMs with too few free cells and the LSMs with empty cells.
Select the cartridges in an LSM by earliest access date.
Move the cartridges from full LSMs to LSMs with empty cells.
Using cmd_proc
:
query lsm all
The Free Cell Count column lets you identify both LSMs with few or no free cells, and LSMs that have empty cells where you can move inactive cartridges.
Example:
ACSSA> query lsm all 2011-08-29 18:15:45 LSM Status Identifier State Free Cell Audit Mount Dismount Enter Eject Count C/P C/P C/P C/P C/P 1,0 online 1 0/0 3/0 3/0 0/0 0/0 1,1 online 1 0/0 4/0 5/0 0/0 0/0 1,2 online 1 0/0 3/0 3/0 0/0 0/0 1,3 online 0 0/0 4/0 5/0 0/0 0/0 1,4 online 388 0/0 11/0 1/0 0/0 0/0 1,5 online 162 0/0 4/0 5/0 0/0 0/0 1,6 online 552 0,0 7/0 2/0 0/0 0/0 1,7 online 601 0/0 5/0 3/0 0/0 0/0
You now need to identify inactive cartridges that you can move to other LSMs in the ACS.
Ensure that the access date is reported in a manner conducive to sorting. The format that dates are reported is controlled by the TIME_FORMAT dynamic variable.
Use the default format: TIME_FORMAT=%Y-%m-%d %H:%M:%S
. so cartridges can easily be sorted by access date. At the UNIX command prompt, enter:
dv_config -p TIME_FORMAT
Enter ? at the variable prompt to display help.
If you have made changes, update the dynamic variable in the shared memory:
dv_config -u
For each LSM without sufficient free cells, list the cartridges sorted by the last access date. You need a custom volrpt
that only selects the VOLID
and access_date
.
For complete details, see the comment header in:
$ACS_HOME/data/external/volrpt/owner_id.volrpt
The fields on a line are field_name
, field_length
, and delimiter_length
(spaces after the field).
In the following example, there are two active lines. You probably have 6-character VOLUME_IDs
. For the ACCESS_DATE
, you want only the date portion, not the time.
VOLUME_ID 6 2 ACCESS_DATE 10 2
Type: $cd ACS_HOME/data/external/volrpt
.
Copy owner_id.volrpt
and save it to a file, such as access_date.volrpt
Use a text editor to edit for ACCESS_DATE
.
Create a sorted list of cartridges for an LSM.
volrpt -l <lsm_id> -d -f access_date.volrpt | sort -k 2,2 -0 vols_sorted_lsm_##
Where access_date.volrpt is the name of the custom report and ## is the LSM number.
Look at the vols_sorted_lsm_##
file to see the distribution of last access dates in each LSM.
You now need to create lists of cartridges to move, and move them to LSMs with free space.
Take the file with the list of cartridges sorted by access date and remove the access date so you just have a list of cartridges.
cat vols_sorted_LSM_## | cut –d” ” –f1 > vols_LSM_##_tmp
Take each vols_LSM_##
file and select the first 100 (or your number) of cartridges to move.
head -100 vols_LSM_##_tmp > vols_LSM_##
You can combine both of the above operations:
cat vols_sorted_LSM_## | cut –d” ” –f1 | head -100 > vols_LSM_##
For each LSM from which you are moving cartridges, pick a destination LSM that has free space for the cartridges.
Use the moving.sh utility to move the cartridges to a new LSM, specified by
–t <lsm_id>
(example: –t 0,8).
moving.sh -f vols_LSM_## -t <lsm_id>
Run a separate moving.sh
for each LSM.
If your library is busy, you may want to only run one or two moving.sh
utilities at a time.
If your LSM fails and you take it off line, you can still manually load cartridges into the library drives if the data path is still operational.
To manually load cartridges into drives in a disabled LSM:
Open the LSM door.
Note the cartridge labels of any cartridges that are already in drives, and remove them.You will need to replace these cartridges at the end of this procedure.
Load the drives with the cartridges you want to read from or write to.
Repeat this step as often as necessary until the LSM is repaired, then continue with Step 4.
Caution:
In this step, you can remove cartridges from library cells and load these cartridges in the drives. Note the cell locations of these cartridges and ensure that you return the cartridges to these locations in Step 4.After the LSM is repaired, remove all cartridges from the drives, and replace them with the original cartridges you noted in Step 2.
Close the LSM door, vary
the LSM back online, and resume normal operations.