1 概述

本章概述了 ACSLS。

关于 ACSLS

Automated Cartridge System Library Software (ACSLS) 是 Oracle 的 StorageTek 服务器软件,用于控制 StorageTek 磁带库。自动化磁带系统 (Automated Cartridge System, ACS) 是一组通过直通端口 (pass-thru-port, PTP) 连接的磁带库。ACSLS 通过网络上的命令处理访问和管理存储在一个或多个 ACS 中的信息。该软件包括一个系统管理组件、多个面向客户机系统应用程序的接口以及磁带库管理工具。

关于 ACSLS HA

ACSLS HA 是一种硬件和软件配置,提供双重冗余、自动恢复和自动故障转移恢复以确保在组件或子系统发生故障时实现无中断的磁带库控制服务。

有关在采用 ZFS 文件系统的 Solaris 11 上运行 ACSLS 8.4 的更多信息,请参阅《ACSLS-HA Installation, Configuration, and Operation》指南。此版本支持在用户定义的任何文件系统中安装 ACSLS 软件。

acssa 和 acsss 用户 ID

本节讨论了 acssa 和 acsss 用户 ID。

  • acssa 登录支持访问 cmd_proc(磁带库控制操作的控制台用户界面)以及一组有限的 ACSLS 实用程序。

    acssa 的典型 shell 环境包括一个或多个运行 cmd_proc 的窗口,以及一个用于监视 ACSLS 事件日志运行轨迹的窗口。使用 acssa 登录环境可同时访问以下两种资源:

    $ cmd_proc
    $ acs_tail $LOG_PATH/acsss_event.log
    
  • acsss 登录支持访问上述资源,以及其他所有用于执行常规维护、配置、数据库备份和恢复、shell 实用程序和常规诊断的管理实用程序。

acsss 宏

acsss 命令是一个启动、停止和状态宏,用于处理与 ACSLS 应用程序关联的多个服务。请参见启动和监视 ACSLSacsss 宏部分。

使用 cmd_proc

本节介绍 cmd_proc

cmd_proc 窗口

以下示例显示了您在以 acssa 身份登录时出现的 cmd_proc 窗口。在多视窗处理模式中,cmd_proc 窗口是一个拆分屏幕,顶部是消息区域,底部是命令区域。在提示符下输入 ACSLS 命令。

必须运行 ACSLS 才能接受命令。使用 "-q" 选项启动 cmd_proc 时,可以抑制此初始查询服务器请求:

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 

使用 cmd_proc:多视窗处理模式与行模式的对比

ACSLS cmd_proc 是一个易于使用的界面,可在处理您自己的请求时为您提供常规的服务器状态信息。cmd_proc 的默认模式为多视窗处理。这是一个适用于大多数终端类型的多功能界面,它使用标准的 24 行 * 80 个字符窗口。多视窗处理界面将屏幕拆分为两个部分。其中,绑定到 STDERR 的消息发送到窗口上半部分,绑定到 STDOUT 的消息发送到下半部分。

在默认的多视窗处理模式中使用 ACSLS cmd_proc 时,您会看到常规的服务器状态消息显示在窗口顶部,而用户特定的交互信息显示在底部。

多视窗处理模式中保留的历史记录有限

多视窗处理模式的缺点之一是:保留用户与 ACSLS 服务器交互的历史记录的能力有限。这些交互对应的空间仅限于 24 行窗口的下半部分。

如果在行模式中使用 cmd_proc,便可克服这个缺点:

cmd_proc -l 

在行模式中,用户将获得滚动窗口的所有优点,其中交互的历史记录向上滚至可滚动的终端缓冲区中,仅受缓冲区大小的限制。

行模式中状态消息与命令混合显示

行模式操作的主要缺点是无法将 STDOUTSTDERR 拆分成单独的空间。这两个源的输出文本均发送至屏幕上的同一位置,即:终端内供您尝试编写请求的单一光标行。

如果 cmd_proc 会话是系统中的唯一会话,这可能不是问题。但对于当前操作正由 ACSLS 执行的繁忙生产环境,可能很难在状态信息输出到编写 ACSLS 请求的同一行中的窗口上开展工作,有时甚至令人十分沮丧。

尽管您可以放心地忽略输入内容时所在行的系统状态,但您可能更愿意将这些信息重定向到其他位置。要将系统消息重定向到其他目标位置,您可通过以下方式运行 cmd_proc 行模式:

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. 

要在工作期间查看系统状态消息,您可以打开另一个 shell 窗口并查看用于发送状态消息的文件的运行轨迹:

tail -f /tmp/SysChatter.out 

要执行预期的 cmd_proc 操作,可以将 STDERR 重定向到 /dev/null

cmd_proc -l 2> /dev/null 

多视窗处理模式中的 cmd_proc 无法显示超过 80 个字符的行

多视窗处理模式中的 cmd_proc 命令无法显示超过 80 个字符的行。如果尝试显示超过 80 个字符的行,则 cmd_proc 窗口将会挂起。

如果发生这种情况,可以使用 Control+cControl+d 释放 cmd_proc 窗口。

在所有 query 命令以及其他命令的输出中,每行少于 80 个字符,且显示命令为所有记录报告的默认字段要求少于 80 个字符。但是,显示许多可选字段时,可能会导致这些行超过 80 个字符。

当显示许多可选字段时,最好在行模式中启动 cmd_proc(使用 –l 选项)。示例:display drive * -f volume type state serial_num wwn 使用按照 cmd_proc –l 方式启动的 cmd_proc

如何挂起和恢复 cmd_proc

您可以挂起 cmd_proc 以执行 UNIX 命令,然后恢复 cmd_proc。必须手动启动 cmd_proccmd_proc 挂起期间,您已通过 cmd_proc 启动的任何正在进行的请求将继续完成。

要挂起和恢复 cmd_proc,请执行以下操作:

  1. 在运行 cmd_proc 时,按 Control+z

  2. 将显示 UNIX shell 提示符。

    执行所需的任何 UNIX 操作。

  3. 要恢复 cmd_proc,请输入 fg UNIX 命令。

终止 cmd_proc

  1. 运行 cmd_proc 时,等到所有正在进行中的活动完成并返回 ACSSA> 提示。

  2. 要退出 cmd_proc,请输入 logoff 命令:

    logoff 
    
  3. cmd_proc 会话将终止。

启动 cmd_proc

您可以从 /etc/termcap 中定义的任何类型的终端启动 cmd_proc。在多视窗处理模式中运行时,该终端的显示大小必须等于或大于 24x80。

cmd_proc 会话在独立于 ACSLS 的模式中运行。在不启动 ACSLS 的情况下启动 cmd_proc 会话,系统不会对您的命令做出响应。当 cmd_proc 尝试在 ACSLS 未运行的情况下运行命令时,您可能会看到套接字通信错误。

远程登录

可以从任何采用 SSH 客户机的系统远程访问 ACSLS 服务器。ssh 客户机是大多数与 POSIX 兼容的操作系统(包括 Solaris、Linux 和 MacOS)上的任何 shell 具备的一项标准功能。对于 Windows 环境,必须安装 SSH 客户机软件,例如 putty、WinSCP 或类似的商业应用程序。

要以 acssa 用户身份远程访问 ACSLS 服务器,请输入以下命令:

$ ssh acssa@hostname

其中,hostname 是 ACSLS 服务器的主机 ID。

acssa 的典型远程环境包括一个或多个运行 cmd_proc 的 SSH 登录 shell,以及另一个用于监视 ACSLS 事件日志运行轨迹的 shell。

$ acs_tail $LOG_PATH/acsss_event.log

cmd_proc 键盘快捷键

下表介绍了 cmd_proc 键盘快捷键,即:<Ctrl>+ 按键组合。

表 1-1 cmd_proc 键盘快捷键

键组合 行为
说明

Control+c

取消上一个 cmd_proc 命令。

Control+ccancel 命令的键盘快捷键。有关 cancel 命令的更多信息,请参见cancel

Control+d

返回到 cmd_proc 提示。

如果当前命令已完成,则 Control+d 无效。如果当前命令正在处理,则该操作将会完成,但 cmd_proc 不显示响应消息。如果尚未在 ACSSS 提示符下输入当前命令,Control+d 将删除该命令。

Control+h

删除命令行中的前一个字符。

在大多数键盘中,您还可以使用 Enter 键或 Backspace 键。

Control+i

刷新 cmd_proc 显示。

如果当前的 cmd_proc 显示已被通信线路上的噪声损坏,则此功能非常有用。

Control+r

刷新当前命令行。

如果当前命令行的显示已被通信线路上的噪声损坏,则此功能非常有用。

Control+r

删除当前命令行。

Control+z

挂起 cmd_proc 并转到 shell 环境。

输入 C shell fg 命令可恢复 cmd_proc


重定向 cmd_proc 输入输出

启动 cmd_proc 时,您可以使用输入文件自动输入 命令。例如,以下输入文件通过挂载和卸载磁带验证 ACSLS。

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

在其他 cmd_proc 窗口中指定输入文件

要启动 cmd_proc,请输入以下命令:

cmd_proc -q < filename

您还可以启动 cmd_proc,指定输入文件,然后将输出重定向到另一个文件。通过使用输入和输出文件,您可以在 cmd_proc 启动时运行一组命令,然后查看结果。例如,以下文件显示了上一个示例中所运行命令的结果,在该示例中仅通过一个输入文件显示的 cmd_proc

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 

将输出重定向到其他 cmd_proc 窗口:

要启动其他 cmd_proc、指定输入文件并重定向输出,请执行以下操作:

  1. acssaacsss 身份登录之后,打开 UNIX 终端窗口。

  2. 要启动 cmd_proc,请输入以下命令:

    cmd_proc -q < file1 > file2

    其中,file1 是输入文件,file2 是输出定向到的文件。

    默认情况下,cmd_proc 显示区域消息将写入 stderr,但您也可以重定向这些消息。例如:

    cmd_proc -q < file1 > file2 2>> file2

将 ACSLS 转到空闲状态

使用此过程可将 ACSLS 置于空闲状态,从而挂起请求处理。通常在关闭 ACSLS 之前使用此过程,但您也可以用来暂时停止 ACSLS 请求处理。

要将 ACSLS 转到空闲状态,请执行以下操作:

cmd_proc 中输入 idle 命令。

ACSLS 将处理所有当前请求,拒绝所有新请求,然后转到空闲状态。

重新启动 ACSLS

使用此过程可将 ACSLS 置于运行状态,从而恢复请求处理。通常,您需要重新启动 ACSLS 以将其从空闲状态中删除。

要重新启动 ACSLS,请执行以下操作:

cmd_proc 中输入以下命令:

start 

ACSLS 将恢复请求处理。

ACSLS 目录结构

下表显示了 ACSLS 目录结构中的目录、子目录以及最常用文件和 shell 脚本的列表。

三个变量用于 ACSLS 路径。它们包括:

  • $installDir

    这是基安装目录,默认情况下为 /export/home/

  • $ACS_HOME

    位于 $installDir/ACSSS/,这是 acsss 用户 ID 和安装 ACSLS 产品的起始目录。

    默认情况下,$ACS_HOME/export/home/ACSSS

  • $ACSDB_BKUP

    这是保存 ACSLS 备份的目录。

表 1-2 ACSLS 目录结构

目录 内容

$installDir (by default /export/home/)

基安装目录。

$installDir/SSLM

ACSLS Java 组件的起始目录,包括 ACSLS GUI 和 SMCE(逻辑磁带库操作)

$installDir/SSLM/AcslsDomain

ACSLS 基于 Web 的 GUI 应用程序的起始目录。

$installDir/wlinstall

捆绑的 WebLogic 应用程序服务器软件包和相关安装脚本。

$installDir/Oracle

未捆绑的 WebLogic 起始目录。

$installDir/acsls_thirdPartySoftware

一系列第三方许可证信息和重新发布的相关源代码。

$ACS_HOME ($installDir/ACSSS)

(默认情况下为 /export/home/ACSSS/)

acsss 用户 ID 的起始目录。也是 ACSLS 起始目录。(ACS_HOME 环境变量指向此目录。)

$ACSDB_BKUP

(默认情况下为 /export/backup/)

数据库备份

$ACS_HOME/config/

包含 ACSLS 配置文件。

$ACS_HOME/data/external/

包含用于访问控制、混合介质以及磁带报告的定制文件。

$ACS_HOME/data/external/access_control/

包含访问控制样例文件和定制文件。

$ACS_HOME/data/internal/

ACSLS 内部配置文件。不要修改。

$ACS_HOME/diag/bin

包含诊断文件和 shell 脚本。

$ACS_HOME/lib/

包含 ACSLS 安装的、运行时所需的共享磁带库。

$ACS_HOME/log/

包含 ACSLS 事件日志和实用程序事件日志文件。

$ACS_HOME ($installDir/ACSSA/)

(默认情况下为 /export/home/ACSSA/)

acssa 起始目录。

$installDir/ascdb/

(默认情况下为 /export/home/acsdb/)

数据库起始目录。

$LOG_PATH

这相当于 $ACS_HOME/log。此目录包含 acsss_event.log 以及与 ACSLS 操作相关的其他有用日志。