1 Overview

This chapter provides an overview of ACSLS.

About ACSLS

Automated Cartridge System Library Software (ACSLS) is Oracle's StorageTek server software that controls a StorageTek tape library. An Automated Cartridge System (ACS) is a group of tape libraries connected through pass-thru-ports (PTPs). ACSLS accesses and manages information stored in one or more ACSs through command processing across a network. The software includes a system administration component and interfaces to client system applications, and library management facilities.

About ACSLS HA

ACSLS HA is a hardware and software configuration that provides dual-redundancy, automatic recovery and automatic fail-over recovery to ensure uninterrupted tape library control service if a component or subsystem fails.

Refer to the ACSLS-HA Installation, Configuration, and Operation guide for more information on running ACSLS 8.4 on Solaris 11 with ZFS file systems. This version supports ACSLS software installation in any user-defined file system.

The acssa and acsss User IDs

This section discusses the acssa and acsss user IDs.

  • The acssa login provides access to cmd_proc, the console user interface for library control operations, and a limited set of ACSLS utilities.

    A typical shell environment for acssa includes one or more windows running cmd_proc and a window that monitors the running tail of the ACSLS event log.The acssa login environment provides access to both of these resources:

    $ cmd_proc
    $ acs_tail $LOG_PATH/acsss_event.log
    
  • The acsss login provides access to these and all other administrative utilities for general maintenance, configuration, database backup and restore, shell utilities, and general diagnostics.

The acsss Macro

The acsss command is a start, stop, and status macro that manipulates the multiple services associated with the ACSLS application.See the sections "Starting and Monitoring ACSLS" and "The acsss Macro".

Using cmd_proc

This section discusses cmd_proc.

cmd_proc Window

The following example shows the cmd_proc window displayed when you log in as acssa. In curses mode, the cmd_proc window is a split screen where the top section is the message area and the bottom section is the command area. You enter ACSLS commands at the prompt.

ACSLS must be running to accept commands. You can suppress this initial query server request when you start cmd_proc with the "-q" option:

cmd_proc -q  
--------------------------ACSLS x.x.x--------------------------- 
ACSSA>query server 
2008-01-23 15:41:42 

Server Status 
Identifier    State   Free Cell Audit Mount Dismount Enter Eject 
                       Count    C/P   C/P    C/P      C/P   C/P 
               run      234     0/0   0/0    0/0      0/0   0/0 

Using cmd_proc: Curses Mode Compared with Line Mode

The ACSLS cmd_proc is an easy-to use interface that keeps you informed of general server status information while it handles your own requests. The default mode for cmd_proc is curses. This is a versatile interface that works well with most terminal types and it uses a standard 24-line by 80-character window. The curses interface splits the screen in two sections, where messages bound for STDERR are sent to the window upper half and messages bound for STDOUT are sent to the bottom half.

When you use the ACSLS cmd_proc in its default curses mode, you see general server status messages displayed at the top of the window while your user-specific interactions are displayed at the bottom.

Limited History Retained in Curses Mode

One disadvantage of curses is its limited ability to retain a history of user interactions with the ACSLS server. The space for those interactions is limited to the bottom half of the 24-line window.

This disadvantage can be overcome if you use cmd_proc in line mode:

cmd_proc -l 

In line mode, the user has all the advantages of a scrolling window where the history of interactions roll upwards into a scrollable terminal buffer, limited only to the size of the buffer.

Status messages Intermixed with Commands in Line Mode

The major disadvantage of line mode operation is its inability to split both STDOUT and STDERR into separate spaces. The output text of both sources is sent to the same spot on the screen, the single cursor line in the terminal where you are attempting to compose a request.

If your cmd_proc session is the only session on the system, this may not be a problem. But in a busy production environment where active operations are in progress with ACSLS, it may be difficult, if not frustrating, to work in a window where status information is being printed on the same line where you are composing an ACSLS request.

While it is safe to ignore the system status chatter on the line where you are typing, you may prefer to redirect that chatter elsewhere. To redirect system messages to another destination, you can run line-mode cmd_proc in the following manner:

cmd_proc -l 2> /tmp/SysChatter.out 
The expression 2> instructs the shell to redirect STDERR to another location. In this example, the status messages are sent to a file in the /tmp directory. 

To view the system status information as you work, you can open a second shell window and view a running tail of the file where you sent the status messages:

tail -f /tmp/SysChatter.out 

To perform intended cmd_proc operations, then you can redirect STDERR to /dev/null.

cmd_proc -l 2> /dev/null 

cmd_proc in Curses Mode cannot Display Lines Longer than 80 Characters

The cmd_proc command in curses mode cannot display lines longer than 80 characters, and the cmd_proc window will hang if it attempts to display a line longer than 80 characters.

If this happens, the cmd_proc window can be released with Control+c and Control+d.

The output from all query and other commands is less than 80 characters per line, and the default fields reported for all records by the display command require less than 80 characters. However, displaying many optional fields may result in lines longer than 80 characters.

It is a good idea to start cmd_proc in line mode (with the –l option) when displaying many optional fields. Example: display drive * -f volume type state serial_num wwn using a cmd_proc started as cmd_proc –l.

How to Suspend and Resume cmd_proc

You can suspend cmd_proc to perform UNIX commands, and resume cmd_proc. You must start cmd_proc manually. Any in-process requests that you initiated at cmd_proc continues to completion while cmd_proc is suspended.

To suspend and resume cmd_proc:

  1. While running cmd_proc, press Control+z

  2. The UNIX shell prompt appears.

    Perform whatever UNIX operations you want.

  3. To resume cmd_proc, enter the fg UNIX command.

Terminating cmd_proc

  1. While running cmd_proc, wait until all in-process activity is complete and the ACSSA> prompt has returned.

  2. To exit cmd_proc, enter the logoff command:

    logoff 
    
  3. The cmd_proc session terminates.

Starting cmd_proc

You can start cmd_proc from any terminal type that has been defined in /etc/termcap. When running in curses mode, the terminal must have a display size of 24x80 or larger.

The cmd_proc session runs in a mode that is independent of ACSLS. Start a cmd_proc session without starting ACSLS, there will be no response to your commands. You may see a socket communication error in cmd_proc attempting to run commands while ACSLS is not running.

Logging in Remotely

Remote access to the ACSLS server is available from any system with an SSH client.An ssh client is a standard feature with any shell on most POSIX compliant Operating systems, including Solaris, Linux, and MacOS. For Windows environments, it is necessary to install SSH client software such as putty, WinSCP or a similar commercial application.

To access the ACSLS server remotely as user acssa, enter the following command:

$ ssh acssa@hostname

Where hostname is the host ID of the ACSLS server.

A typical remove environment for acssa includes one or more SSH login shells running cmd_proc and another shell to monitor the running tail of the ACSLS event log.

$ acs_tail $LOG_PATH/acsss_event.log

cmd_proc Keyboard Shortcuts

The following table describes cmd_proc keyboard shortcuts, which are <CTRL>+ keystroke combinations.

Table 1-1 cmd_proc Keyboard Shortcuts

Key Combination Action Notes

Control+c

Cancels the last cmd_proc command.

Control+c is the keyboard shortcut for the cancel command. See "cancel" for more information about the cancel command.

Control+d

Returns to the cmd_proc prompt.

Control+d has no effect if the current command has completed. If the current command is processing, it completes but cmd_proc does not display a response message. If you have not entered the current command at the ACSSS prompt, Control+d deletes the command.

Control+h

Deletes the previous character on the command line.

On most keyboards, you can also use the Enter or backspace key.

Control+i

Refreshes the cmd_proc display.

This function is useful if the current cmd_proc display has been corrupted by noise on the communications lines.

Control+r

Refreshes the current command line.

This function is useful if the current command line display has been corrupted by noise on the communications lines.

Control+r

Deletes the current command line.

N/A

Control+z

Suspends cmd_proc and escapes to the shell environment.

Enter the C shell fg command to resume cmd_proc.


Redirecting cmd_proc Inputs and Outputs

You can use an input file to automatically enter commands when you start cmd_proc. For example, the following input file verifies ACSLS by mounting and dismounting a cartridge.

query drive 0,0,0,0 
query volume JB1400 
mount JB1400 0,0,0,0 
dismount JPB1400 0,0,0,0 force 
logoff 

Specifying Input File in an Additional cmd_proc Window

To start cmd_proc, enter the following command:

cmd_proc -q < filename

You can also start cmd_proc, specify an input file, and redirect the output to another file. Using input and output files lets you run a set of commands at cmd_proc startup and look at the results. For example, the following file shows the results of the commands run in the previous example that showed cmd_proc with only an input file.

ACSSA> query drive 0,0,0,0 
1998-06-30 18:23:08 
Identifier State   Status     Cartridge Type 
0,0,0,0    online  available  9840 
ACSSA> query volume JPL1400 
1998-06-30 18:23:09 
Identifier Status Current location 
JB1400     home   0,0,3,0,0 
ACSSA> mount JPL1400 0,0,0,0 
ACSSA> Mount: JB1400 mounted on 0,0,0,0 
ACSSA> dismount JPL1400 0,0,0,0 force 
ACSSA> Dismount: Forced dismount of JB1400 from 0,0,0,0 
ACSSA> logoff 
ACSSA 

Redirecting Output to an Additional cmd_proc Window:

To start an additional cmd_proc, specify an input file, and redirect the output:

  1. While logged in as acssa or acsss, open a UNIX terminal window.

  2. To start the cmd_proc, enter the following command:

    cmd_proc -q < file1 > file2

    Where file1 is the input file and file2 is the file to which the output is directed.

    By default, cmd_proc display area messages write to stderr. but you can also redirect these messages. For example:

    cmd_proc -q < file1 > file2 2>> file2

Moving ACSLS to Idle State

Use this procedure to suspend request processing by putting ACSLS in the idle state. Typically, this procedure is used before shutting down ACSLS, but you can also use it to temporarily stop ACSLS request processing.

To move ACSLS to idle state:

From cmd_proc, enter the idle command.

ACSLS processes all current requests, rejects all new requests, and goes into the idle state.

Restarting ACSLS

Use this procedure to resume request processing by putting ACSLS in the run state. Typically, you restart ACSLS to remove it from the idle state.

To restart ACSLS, do the following:

From cmd_proc, enter the following command:

start 

ACSLS resumes request processing.

ACSLS Directory Structure

The following table shows a listing of the directories, subdirectories, and most commonly used files and shell scripts in the ACSLS directory structure.

Three variables are used for ACSLS paths. They are:

  • $installDir

    This is the base installation directory and is /export/home/ by default.

  • $ACS_HOME

    Located at $installDir/ACSSS/, this is the home directory for the acsss user ID and where the ACSLS product is installed.

    $ACS_HOME is /export/home/ACSSS by default.

  • $ACSDB_BKUP

    This is the directory where the ACSLS backups are saved.

Table 1-2 ACSLS Directory Structure

Directory Contents

$installDir (by default /export/home/)

The base installation directory.

$installDir/SSLM

Home of ACSLS java components including the ACSLS GUI and the SMCE (logical library operation)

$installDir/SSLM/AcslsDomain

The home directory of the ACSLS Web-based GUI application.

$installDir/wlinstall

The bundled WebLogic application server package and related installation scripts.

$installDir/Oracle

The un-bundled WebLogic home directory.

$installDir/acsls_thirdPartySoftware

A collection of third-party license information and related republished source code.

$ACS_HOME ($installDir/ACSSS)

(by default /export/home/ACSSS/)

Home directory for the acsss user ID. Also the ACSLS home directory. (ACS_HOME environment variable points to this directory.)

$ACSDB_BKUP

(by default /export/backup/)

Database backups

$ACS_HOME/config/

Contains ACSLS configuration files.

$ACS_HOME/data/external/

Contains customized files used in access control, mixed media, and cartridge reporting.

$ACS_HOME/data/external/access_control/

Contains access control sample and customized files.

$ACS_HOME/data/internal/

ACSLS internal configuration files. do not modify.

$ACS_HOME/diag/bin

Contains diagnostic files and shell scripts.

$ACS_HOME/lib/

Contains ACSLS installed shared libraries required at run-time.

$ACS_HOME/log/

Contains ACSLS event log and utility event log files.

$ACS_HOME ($installDir/ACSSA/)

(by default /export/home/ACSSA/)

acssa home directory.

$installDir/ascdb/

(by default/export/home/acsdb/)

Database home directory.

$LOG_PATH

This is equivalent to $ACS_HOME/log. This directory contains the acsss_event.log and other useful logs that pertain to ACSLS operation