Using ACSLS

Last updated on 8 August 2005. New items are marked by .

Contents

Access to ACSLS
Stopping and starting ACSLS
Logs kept by ACSLS
Status of library components
Inventory of VIDs in the library
Owners of VIDs in the library
Clearing locks on volumes in the library
Full and partial audits of the library
Insert and eject of VIDs to and from the library
Moves of individual VIDs within the library
Query on individual VIDs or drives
Mount and dismount of VIDs on drives
crontab tasks
vary commands
Cleaning cartridges
view command completely missing!

Access to ACSLS

Most of the functions of ACSLS used at CERN are straightforward, and are summarised here. Note that to use ACSLS other than directly on the controlling Sun, you need to ssh to it. The username and password are available from CSC or JFL if need be.

You can also use ssh from the Suns to other systems, ie from sunstk51/sunstk53 (513 vault, SL8500_0, STK_ACS4), sunstk61/sunstk61 (STK_ACS5 in bat.613).  The ssh software has been installed by invoking (as root)

/usr/sue/etc/sue.install ssh

You can use ssh:

/usr/sue/bin/ssh -V
OpenSSH_3.4p1-CERN20020827, SSH protocols 1.5/2.0, OpenSSL 0x0090605f
/usr/sue/bin/ssh -l username lxplus

These are the current Sun controlling systems:

Library    Current controller   ..... and standby  Location Use
SL8500_0   sunstk51                   sunstk52     513 s/s  T10K, LTO3, 9940B
STK_ACS4   sunstk53                   sunstk52     513 s/s  9940B 
STK_ACS5   sunstk61                   sunstk61     613      9940B

Once you have a window available, you should be in the home directory:

/export/home/ACSSS
under
Sun Microsystems Inc.   SunOS 5.8       Generic Patch   October 2001

You should now:

set -o emacs

to improve the behaviour of the window. The 'backspace' key will now probably function, and command recall is offered by 'ctrl-P'. AFS is currently offered on the Sun, and you can ssh as yourself.

If you set your own username files can be sent to (or obtained from) your normal AFS home directory.

Stopping and starting ACSLS

It is not often that this needs to be done, but we have done this a few times to apply patches. Most recently, we did this to apply a patch preventing ACSLS from writing any important files into '/tmp'.

The patch was PTF804765S for ACSLS 7.1 Here is how it was done:

  1. Download the patch to your server.
  2. Stop ACSLS and its database, by:
  3. Login as acsss
  4. $ cmd_proc -l
  5. ACSSA> idle
  6. ACSSA> logoff
  7. $ kill.acsss
  8. $ db_command stop
login as root
# uncompress PTF804765S.tar.Z
# tar -xvf PTF804765S.tar
# pkgadd -d PTF804765S

Apply the modification
login as acsss
$ cd utils
$ su   # switch to root (no dash)
# ./change_tmp.sh -s    ;# no message is good message
# exit # back to acsss
  1. restart acsls (as acsss)
  2. $ rc.acsss

Check the /export/home/ACSSS/log/acsss_event.log (any special messages in there?)

ACSLS versions

We presently run ACSLS 7.1 in all ACSLS libraries:

7.1 SL8500_0 513 Streamline library, via 'sunstk51'	
7.1 STK_ACS4 513 Powderhorn library, via 'sunstk53' (STK_ACS4)
7.1 STK_ACS5 613 Powderhorn library, via 'sunstk61' (STK_ACS5)

To determine the version, login to the relevant Sun and issue the command 'cmd_proc'. For example, on sunstk61, as user 'acsss', you will see the line:

-----------------------------------------ACSLS 7.1.0-----------------------------------------

ACSLS 7.1.0 appears to address some of the current shortcomings of ACSLS 7.1. In particular, these versions offer no sensible 'event notification' and no WWW interface .

Logs kept by ACSLS

There are several logs offered by ACSLS, but none is 'complete'. Even looking at several, information is still missing . The most complete seems to be found in:

/export/home/ACSSS/log/acsss_stats.log
with previous logs in eg
/export/home/ACSSS/log/vol_stats0.log
...
/export/home/ACSSS/log/vol_stats9.log

and looks like this:

2003-09-28 06:19:50 DISMOUNT
P05178 Home 0,3,19,10,12 Drive 0,3,10,9 Client Host Id 172.17.18.186

2003-09-28 06:20:21 DISMOUNT
P23024 Home 0,2,0,2,14 Drive 0,2,10,1 Client Host Id 137.138.226.224

2003-09-28 06:20:22 MOUNT
P05178 Home 0,3,19,10,12 Drive 0,3,10,5 Client Host Id 172.17.18.190

2003-09-28 06:20:54 MOUNT
P23024 Home 0,2,0,2,14 Drive 0,3,10,3 Client Host Id 172.17.18.172

.....


2003-09-30 13:52:24 MOUNT
P08468 Home 0,3,14,5,19 Drive 0,3,10,11 Client Host Id 172.17.18.205

2003-09-30 13:52:31 DISMOUNT
P22844 Home 0,3,12,3,10 Drive 0,3,10,5 Client Host Id 172.17.18.190

2003-09-30 13:52:33 MOUNT
P22726 Home 0,2,15,1,0 Drive 0,3,10,3 Client Host Id 172.17.18.172

Note, however, that although MOUNT, DISMOUNT, EJECT, ENTER are logged, there is no explicit logging of the time of receipt of a request (which could be well before it came to be executed) nor is there any explicit trace of pass-through movements for a volume. This would be useful for the notorious 'lost volume' cases. The multi-line per event format is also unhelfpul .

Status of library components

There are 4 items that may be usefully queried: 'lmu' (library management unit), 'cap' (cartridge access port), 'lsm' (library storage module or 'silo') and 'clean' (cleaning cartridges, handled not quite like normal VIDs). A crontab query runs for each library, and can be seen in:

http://it-dep-fio-ds.web.cern.ch/it-dep-fio-ds/Documentation/tapedrive/ACS4.status.html

for STK_ACS4, for example.

To issue such queries you need to ssh to 'sunstk53' for STK_ACS4 (building 513 basement), and to 'sunstk61' for STK_ACS5 (building 613). Contact CSC or JFL for the username and password if need be. Once logged in, open the 'cmd_proc' window and you can issue queries from it:

cmd_proc

Library Management Units (Powderhorn libraries)

There are 2 of these, normally cross-connected to the 2 controlling Sun systems. Those in bat.513 attached to STK_ACS4 are connected to sunstk53 using ethernet TCP/IP. Those in bat.613 attached to STK_ACS5 are connected to sunstk61 using ethernet TCP/IP.

ACSSA> q lmu all

2004-03-31 12:53:55                           LMU Status
 ACS:   0      Mode: Dual LMU           Master Status:  Communicating
                                        Standby Status: Communicating

 Port    Port State  Role        CL  Port Name
  0, 0   online      Master(A)   12  lmua
  0, 1   online      Standby(B)  12  lmub
ACSSA>

Cartridge Access Ports

These are used for insert and eject of cartridges. Each silo has a single 21 cartridge capacity CAP, except for silo 4 in STK_ACS4. This has 2 larger 40 cartridge capacity CAPs and a single slot 'priority' CAP.

ACSSA> q cap all
2003-09-26 14:20:01                CAP Status
 Identifier   Priority  Size  State            Mode       Status   
   0, 0,0     0         21    online           automatic  available
   0, 1,0     0         21    online           automatic  available
   0, 2,0     5         21    online           automatic  available
   0, 3,0     7         21    online           automatic  available
   0, 4,0     5         40    online           automatic  available
   0, 4,1     0         40    online           automatic  available
   0, 4,2     0         1     online           automatic  available

ACSSA>

Library Storage Modules (silos)

ACSSA> q lsm all
2003-09-26 14:20:02                LSM Status
 Identifier   State            Free Cell  Audit  Mount  Dismount  Enter  Eject
                               Count      C/P    C/P    C/P       C/P    C/P
   0, 0       online           261        0/0    0/0    0/0       0/0    0/0
   0, 1       online           3700       0/0    0/0    0/0       0/0    0/0
   0, 2       online           1325       0/0    0/0    0/0       0/0    0/0
   0, 3       online           455        0/0    0/0    0/0       0/0    0/0
   0, 4       online           3158       0/0    0/0    0/0       0/0    0/0
ACSSA>

Cleaning cartridges

ACSSA> q clean all
2003-09-26 14:20:02        Cleaning Cartridge Status
 Identifier  Home Location    Max Usage  Current Usage  Status     Type
 CLN103        0, 1, 4, 6,13  100        56             home       JLABEL
 CLN104        0, 1,12, 1, 7  100        0              home       JLABEL
 CLN105        0, 1,13, 1,14  100        0              home       JLABEL
 CLN106        0, 1,14, 1,10  100        0              home       JLABEL
 CLN107        0, 1, 6, 4, 4  100        0              home       JLABEL
 CLN301        0, 0,10, 4, 3  100        15             home       STK1U
 CLN302        0, 0, 2, 1, 3  100        4              home       STK1U
 CLN303        0, 0,17, 2, 5  100        4              home       STK1U
 CLN304        0, 0,16, 1, 7  100        3              home       STK1U
 CLN305        0, 3,19, 4,15  100        0              home       STK1U
 CLN306        0, 3, 3, 5, 5  100        0              home       STK1U
 CLN601        0, 2,18, 3,13  100        75             home       STK2W
 CLN603        0, 3, 3, 0, 0  100        61             home       STK2W
 CLN604        0, 3, 4, 0, 0  100        1              home       STK2W
 CLN605        0, 3, 5, 0, 0  100        0              home       STK2W
 CLN606        0, 1,12, 1,11  100        0              home       STK2W
ACSSA>

Drives

ACSSA> q drive all
2003-09-26 14:20:03               Drive Status
 Identifier   State           Status      Volume     Type
   0, 0,10, 0 online          available              9840
   0, 0,10, 1 online          available              9840
   0, 0,10, 2 online          available              9840
   0, 0,10, 3 online          available              9840
   0, 0,10, 4 online          available              9840
   0, 0,10, 5 online          available              9840
   0, 0,10, 6 online          available              9840
   0, 0,10, 7 online          in use      R05064     9840
   0, 0,10, 8 online          available              9840
   0, 0,10, 9 online          available              9840
   0, 1, 7, 0 online          available              9490
   0, 1, 7, 1 online          available              9490
   0, 1, 7, 2 online          available              9490
   0, 1, 7, 3 online          available              9490
   0, 1,10, 0 online          available              9490
   0, 1,10, 1 online          available              9490
   0, 1,10, 2 online          available              9490
   0, 2,10, 0 online          available              T9940B
   0, 2,10, 1 online          available              T9940B
   0, 2,10, 2 online          available              T9940B
   0, 2,10, 3 online          available              T9940B
   0, 2,10, 4 online          in use      P23016     T9940B
   0, 2,10, 5 online          in use      P00740     T9940B
   0, 2,10, 6 online          available              T9940B
   0, 2,10, 7 online          available              T9940B
   0, 2,10, 8 online          in use      P13348     T9940B
   0, 2,10, 9 online          available              T9940B
   0, 2,10,10 online          available              T9940B
   0, 2,10,11 online          in use      P12166     T9940B
   0, 3,10, 0 online          available              T9940B
   0, 3,10, 1 online          in use      P05324     T9940B
   0, 3,10, 2 online          available              T9940B
   0, 3,10, 3 online          in use      P20562     T9940B
   0, 3,10, 4 online          in use      P22834     T9940B
   0, 3,10, 5 online          available              T9940B
   0, 3,10, 6 online          in use      P03984     T9940B
   0, 3,10, 7 online          available              T9940B
   0, 3,10, 8 online          in use      P22962     T9940B
   0, 3,10, 9 online          available              T9940B
   0, 3,10,10 online          in use      P22954     T9940B
   0, 3,10,11 online          available              T9940B
2003-09-26 14:20:04               Drive Status
 Identifier   State           Status      Volume     Type
   0, 3,10,12 online          available              T9940B
ACSSA>

Inventory of VIDs in the library

This is obtained by use of the volrpt command. This does not run in the 'cmd_proc' window. It offers several options:

This is run every day by a crontab task on sunstk51/2/3 and sunstk61, which essentially contains:

rm STK_ACS4.inventory.data
volrpt > STK_ACS4.inventory.data
rm STK_ACS4.inventory.data
volrpt -z -f /export/home/ACSSS/data/external/volrpt/owner_id.volrpt > STK_ACS4.owner.data

This generated the reports below, one for the volumes in the library and one for their 'owners'.

The report generated looks like this:

                              VOLUME REPORT UTILITY

2003-09-29 00:05:08

TOTAL VOLUMES: 19260      SEQUENCE: sort by volume identifier

Volume   Home          Label Volume     Times   |-----Entered------| |----Last Used-----|
Label    Location      Attr. Type/Media Mounted  Date       Time      Date       Time

AV0019   0, 1, 1,10,17  Ext.   D/JLABEL     1    2003-05-14 14:22:03  2003-05-16 16:49:41
AV0020   0, 1, 8, 1,18  Ext.   D/JLABEL    10    2003-05-14 15:25:20  2003-05-25 14:36:40
AV0021   0, 1,15, 1, 7  Ext.   D/JLABEL     0    2003-05-13 11:20:03  2003-08-25 16:08:57
AV0022   0, 1, 1,10, 1  Ext.   D/JLABEL     9    2003-05-22 11:48:47  2003-06-13 10:31:41

.......

Page Number: 316

Volume   Home          Label Volume     Times   |-----Entered------| |----Last Used-----|
Label    Location      Attr. Type/Media Mounted  Date       Time      Date       Time

R09530   0, 0, 7, 9, 2  Ext.    D/STK1R     0    2003-05-21 17:11:10  2003-08-20 01:03:02
R09531   0, 0,15,12, 2  Ext.    D/STK1R     3    2003-05-20 17:52:20  2003-09-06 22:05:25
R09532   0, 0,12, 2, 3  Ext.    D/STK1R     3    2003-05-20 17:32:09  2003-07-12 18:01:07
R09533   0, 0,19, 9,10  Ext.    D/STK1R     1    2003-05-20 18:20:53  2003-07-29 05:14:43
R09534   0, 0, 8,13, 7  Ext.    D/STK1R     1    2003-05-20 17:18:21  2003-07-14 20:55:44

.......

STK101   0, 3,15, 0, 6  Ext.    D/STK2P     5    2003-09-18 12:10:16  2003-09-18 12:24:04
STK102   0, 3,11, 3, 4  Ext.    D/STK2P    15    2003-08-25 15:50:50  2003-09-26 10:27:33

Note that in the output of volrpt, data cartridges are of type 'D' and cleaning cartridges are of type 'C'. The media indicators for different data cartridges are as follows:

Type          Unit type     Capacity
' ' (blank)   3480          200 MB
E             3490          800 MB
J             3590          10 GB
J             3590E         20 GB            
K             3590E         40 GB
JA            3592          300 GB
A             SD3 'Redwood' 10 GB
B             SD3           25 GB
C             SD3           50 GB
P             9940A         60 GB
P             9940B         200 GB
R             9840A         20 GB
R             9840B         40 GB
S             SDLT          110 GB
D             DLTIV         10/20/35/40 GB DLT models
L3            LTO3 HP       400 GB

Owners of VIDs in the library

The 'owner' report generated by the above crontab task looks like this:

                              VOLUME REPORT UTILITY

2003-09-12 11:46:20

TOTAL VOLUMES: 19253      SEQUENCE: sort by volume identifier

Volume  Volume             Owner              
Label   Status             ID------------------

AV0019  VOLUME_HOME        adsm               
AV0020  VOLUME_HOME        adsm               
AV0021  VOLUME_HOME        adsm               
AV0022  VOLUME_HOME        adsm               
AV0023  VOLUME_HOME        adsm               
AV0024  VOLUME_HOME        adsm               

......

RT0004  VOLUME_HOME        castor             
RT0006  VOLUME_HOME        castor             
RT0008  VOLUME_HOME        castor             
STK011  VOLUME_HOME        castor             
STK102  VOLUME_HOME        castor             

The default 'owner' is 'castor', and the others are specifically set with commands in the cmd_proc window. Ownerships essentially define the IP address of a host system which is entitled to mount or dismount the volume. The file specifying which IP address corresponds to owner 'adsm' and so on is

/export/home/ACSSS/data/external/access_control/internet.addresses

and looks like this:

# P4_Id - $Id: //depot/acsls_dev/misc/access_control/internet.addresses.SAMPLE#1 $
############################################################################
#
# Filename: internet.addresses
#
# This file contains a list of Internet addresses for which you want to
# have the ACSLS software automatically fill in the User ID (also known
# as the Access ID) in the message header.
#
# Each line should consist of a "dotted quad" Internet address and an
# associated name, separated by spaces or tabs.  Neither the address or
# the name may have embedded tabs or spaces. Anything to the right of
# the name is treated as a comment. Blank lines, and lines starting
# with # are ignored.
#
# Revision History:
# xx/xx/xx  Name         Description of change.
#
############################################################################



# Adding hosts 16 May 2003

172.17.18.185 adsm      This is adsm2
172.17.18.200 adsm      This the adsm test machine tsmtest1

137.138.189.81 legato   This is sunnsr01
137.138.138.71 legato   This is sunnsr02

It is possible to set a default owner using the file

/export/home/ACSSS/data/external/access_control/ownership.assignments

which looks like this:

# P4_Id - $Id: //depot/acsls_dev/misc/access_control/ownership.assignments#1 $
############################################################################
#
# Filename: ownership.assignments
#
# This file contains information about how to assign ownership of volumes
# that may need to have ownership assigned to them. Commands that can assign
# ownership to volumes are:
#
# ENTER             - Entering a volume using the Enter command.
# ENTER_AUTOMATIC   - Entering volumes simply by putting them in the CAP.
#
# MOUNT_SCRATCH     - Doing a Mount Scratch, or Mounting a volume that
#                     happens to be a scratch volume.
# SET_SCRATCH       - Setting a data volume to be a scratch volume
# SET_SCRATCH_RESET - Setting a scratch volume to be a data volume.
#
# Each of these commands has either one or two keywords associated with it.
# Keywords may be one of the following. Keywords may be uppercase, lowercase
# or mixed case. Keywords may be abbreviated by eliminating characters from
# the right hand end of the word. The legitimate keywords are:
#
# Owner_default  = Default user - the name is specified in the line starting
#                  with OWNER_DEFAULT. If this line is missing, the volume
#                  will be unowned.
# Requestor      = User ID in request.
# Same 	         = Same owner - don't change.
# Unowned        = Volume is unowned.
#
# Revision History:
# xx/xx/xx  Name         Description of change.
#
############################################################################

# The name following OWNER_DEFAULT will be the Owner ID of all volumes
# for commands specified with Owner_default. If the name is missing, the
# volumes will be unowned.

OWNER_DEFAULT      castor

# These commands have one keyword associated with them.
# The keyword Requestor is invalid for ENTER_AUTOMATIC.

ENTER 		Owner_default
ENTER_AUTOMATIC Owner_default

# These commands have two codes. The first applies to owned volumes, and
# the second applies to unowned volumes.
# The keyword Owner_default is invalid for MOUNT_SCRATCH.

MOUNT_SCRATCH      Same Requestor
SET_SCRATCH 	   Same Requestor
SET_SCRATCH_RESET  Same Requestor

Alternatively, you can specify an owner for a volume in the 'cmd_proc' window:

set owner "castor" volume P12345

Clearing locks on volumes in the library

A feature of ADSM/TSM is that it sets locks as it uses its volumes. These must be cleared if you need to eject such volumes from the library. To query locks and to clear them, open a cmd_proc window and use commands like these:

query lock volume AW1001
or
query lock volume all

clear lock volume AW1001

Full and partial audits of the library

It is possible to audit the library while it continues to operate for users, but this is so slow as to be impractical. It requires ~2-3 hours . You can audit silos, or parts of silos. It is essential to issue this command first, to quiesce ACSLS activity:

idle   (in a cmd_proc window)

Entire audit of library, eject oddities to CAP 0,1,0

idle
vary lsm 0,1,2,3,4 offline
audit 0,1,0 acs 0

Audit of row 10 of panel 1, silo 2, eject oddities to CAP 0,2,0

idle			
vary lsm 2 offline
audit 0,2,0 2,1,10   			

Audit of positions 2 to 4 of row 10 of panel 1, silo 2, eject oddities to CAP 0,2,0

idle
vary lsm 2 offline
audit
CAP identifier (acs,lsm,cap): 0,2,0
Type (acs,lsm,panel,server,subpanel): subpanel
Subpanel indentifier (acs,lsm,panel,row,column,row,column): 0,2,1,10,2,10,4                          

If you forget to issue 'idle', then it is unlikely that the requested 'vary offlines' will complete. Re-issue them, adding the 'force' option.

A complete audit of ACS4 or ACS5 takes ~2-3 hours, and is fastest if the silos are full. Apparently empty slots are checked for the presence of an unstickered volume, which is slow compared with reading the barcode sticker normally on a volume. This checking for unstickered volumes should be a site configurable option .

Insert and eject of VIDs to and from the library

Insertion is easy. All you need to do is open the CAP you wish to use, and insert the volumes. The CAP locks, and volumes are scanned and move to storage slots without further intervention. Once the insertion is finished, the CAP unlocks.

It is not straightforward to determine when an insert or eject is finished unless you are present and listening for the quite loud 'unlock' . present and listening for the quite loud 'unlock'. Two approaches you can use are to scan the 'event log' maintained by ACSLS for messages such as

Remove cartridges from CAP
or
Eject operation complete

and then email yourself from a looping script such as this one:

#!/bin/csh
echo CAP INSERT and EJECT messages from acsss_event.log
set NL=`wc -l /export/home/ACSSS/log/acsss_event.log | awk '{print $1}' `
echo Log size starts at $NL
#set NL = 18000
set NPASS = 0
while (1)
@ NPASS = $NPASS + 1
echo Pass $NPASS
date
rm /tmp/CAP.messages
tail +$NL /export/home/ACSSS/log/acsss_event.log
tail +$NL /export/home/ACSSS/log/acsss_event.log | egrep 'Remove cart|Enter operation completed' > /tmp/CAP.messages
set NLC=`wc -l /tmp/CAP.messages | awk '{print $1}' `
echo New CAP messages found $NLC
if ( $NLC > 0 ) then
echo Mailing csc
cat /tmp/CAP.messages
mailx -s "CAP ACS4 Messages" charles.curran@cern.ch < /tmp/CAP.messages
mailx -s "CAP ACS4 Messages" jean-francois.lachavanne@cern.ch < /tmp/CAP.messages
set NL=`wc -l /export/home/ACSSS/log/acsss_event.log | awk '{print $1}' `
echo Log size now starts at $NL
sleep 300
end

Alternatively, you start up a script like this one which (in this case) transfers three lists of up to 21 volumes via 'ftp' from a system where you organise the work and repeatedly performs 'q vol Pnnnnn' for them until they are all ejected:

#!/bin/csh
while (1)
echo 'Moving cartridges'
echo 'Packet 1 eject.vid.'$1
echo 'Packet 2 eject.vid.'$2
echo 'Packet 3 eject.vid.'$3
rm get.list.commands
echo 'get eject.vid.'$1 > get.list.commands
echo 'get eject.vid.'$2 >> get.list.commands
echo 'get eject.vid.'$3 >> get.list.commands
echo 'quit' >> get.list.commands
cat get.list.commands
ftp -v wacdr < get.list.commands
rm totaleject
cat eject.vid.$1 eject.vid.$2 eject.vid.$3 > totaleject
rm qtotaleject
sed -e "s/P/q vol P/g" totaleject > qtotaleject
ls -al qtotaleject
rm ntoeject
egrep -c 'vol' qtotaleject > ntoeject
echo 'Total to eject is '
cat ntoeject
echo 'Enquiring about these tapes to sunstk2'
rm alleq
cmd_proc < qtotaleject > alleq
rm ejected
egrep -c 'not found' alleq > ejected
ls -al ejected
echo 'Total ejected is '
cat ejected
diff ntoeject ejected
set RC = $status
echo 'Return code '$RC

if ( $RC == 0 ) then
date
echo 'EJECT complete'
mail charles.curran@cern.ch < empty.message
mail jean-francois.lachavanne@cern.ch < empty.message
exit
endif
date
echo 'Carry on... eject not finished'
echo 'Sleep 300'
sleep 300
end

Moves of individual VIDs within the library

ACSLS offers a very limited facility to move a volume to a new location . Better facilities would allow prepositioning of whole sets of volumes for removal, and a 'policy' could flush unused or relatively unused volumes to silos or slots which are 'far' from installed drives . You can merely specify the lsm or silo to move a volume to, using a command such as the following one in the 'cmd_proc' window:

move P12345 0,2

This moves the volume P12345 into lsm 0,2 from wherever it might be. Sets of such commands can be preapred by scripts such as ~cscct/public/mover and launched via a command such as:

cmd_proc < move.proc

Query on individual VIDs or drives

You can query the status of a single VID or a single drive in the 'cmd_proc' window. This can be handy if you need to know something about the status of a problematic volume or drive:

ACSSA>q vol P12345
2003-09-29 14:03:19              Volume Status
Identifier  Status          Current Location        Type
Volume identifier P12345 not found.
ACSSA> q vol P12346
2003-09-29 14:04:18              Volume Status
Identifier  Status          Current Location        Type
 P12346      home              0, 3,13, 2, 2         STK2P
ACSSA>

or

ACSSA>q drive 0,3,10,8
2003-09-29 14:05:58               Drive Status
 Identifier   State           Status      Volume     Type
   0, 3,10, 8 online          in use      P22958     T9940B
ACSSA>

Beware that drive addresses for ACSLS are decimal, although for CERN /etc/TPCONFIG and so on 10, 11 and 12 appear as hexdecimal A, B and C. Commands where relevant should be indifferent to decimal or hexadecimal notations .

Mount and dismount of VIDs on drives

If you are reasonably sure that a volume is not in use (see query above) and that a suitable drive is available and reserved for the purpose (use vdqm_admin or tpsrv_in_prod for this) you can mount a volume directly:

mount P12346 0,3,10,8

Subsequently you could manipulate the volume directly on the attached and reserved tape server, tpsrev108 in this case. For example, to view the VOL1 and HDR1 labels:

ssh -l root tpsrv108
mt -f /dev/nst0 status
mt -f /dev/nst0 rewind
dd if=/dev/nst0 ibs=80 count=2
mt -f /dev/nst0 rewoffl

dismount P12346 0,3,10,8
or
dismount P12346 0,3,10,8 force (if you cannot issue mt rewind and offline)

crontab tasks

Monitoring of library components and weekly reports of contents ('volrpt') and ownership of volumes are performed by crontab tasks. These can be seen by issuing crontab -l:

# START of ACSSS CRON entry.
00 00 * * * (/bin/sh; /export/home/ACSSS/install/timed_bkup.sh > /export/home/ACSSS/log/cron_event.log 2>&1)
55 * * * * (/bin/sh; /export/home/ACSSS/install/full_disk.sh > /export/home/ACSSS/log/cron_event.log 2>&1)
03,33 * * * * (/bin/sh; /export/home/ACSSS/hourly.sh  > /export/home/ACSSS/log/cron_event.log 2>&1)
05 00 * * 1 (/bin/sh; /export/home/ACSSS/monday.sh > /export/home/ACSSS/log/cron_event.log 2>&1)
0,5,10,15,20,25,30,35,40,45,50,55 * * * * (/bin/sh; /export/home/ACSSS/tvstatus4.sh > /export/home/ACSSS/log/cron_event.log 2>&1)
0 0 * * 0 (/bin/sh; /export/home/ACSSS/install/reset_dblog.sh > /export/home/ACSSS/log/cron_event.log 2>&1)
# END of ACSSS CRON entry.

Changing the crontab list is done with 'crontab e', which seems to invoke the dreadful 'ed' editor. See the man ed pages for details, but note that roughly speaking 'ed' starts just stating the number of characters seen in the file and waits for a command:

ed myfile     Invokes edit of 'myfile'
1,$p          Prints all lines (1 to $, or last..)
2p            Prints line 2
2d            Deletes line 2 (lines renumber now!)
2i            Inserts new line at 2
new line      give new line text
ctrl-C        ends entry
w             Saves new version

In principle you can invoke the more tractable vi by issuing (before 'crontab -e'):

export EDITOR=vi

as the standard ACSLS user uses ksh. See man setenv on the Sun for more details.

vary commands

This command can be used to change the status of a library component or a drive. Its form is for example:

vary CAP 0,1,0 offline vary CAP 0,1,0 online

This is useful, in fact, if the CAP does not lock or unlock correctly after an insert or eject, shown by both the 'LOCK' and 'EJECT' lights being on at the same time. It will normally reset the CAP to a working condition.

Cleaning cartridges

These cartridges are not handled quite like others. They are first inserted normally in the CAP, with labels as follows (they should of course not exist already in the library). You can look at the output of volrpt or alternatively:

query clean all (check existing cleaning cartridges)

VID    Media letter   Type
CLNnnn      U         9940A or 9940B
CLNnnn      W         9840A
CLNnnn      J         3590E
CLNnnn      CU        LTO 3, Hewlett Packard

Once inserted, you need to set the maximum cleaning count taking into accoount any previous cleaning use (if need be, perhaps following an eject):

set clean 100 CLN901

view command completely missing!

Oddly, for silos equipped with 2 cameras each, there is no longer any view command to allow for example:

view lsm 0,1 hand 0 volume P12345 10  (go and look at volume P12345 if it is in lsm 0,1 for 10 seconds)
or
view hand 1 drive 0,3,8,1 25          (go and look at drive 0,3,8,1 for 25 seconds)
or
view hand 1 ptp 0,1 0,2 30            (go and look at PTP between 0,1 and 0,2 from 0,1 for 30 seconds)

This would be a handy aid to diagnosis of some problems.


To comment on this page please send email to


Charles Curran IT-FIO-DS
Copyright