Remote staging

Remote staging is currently only available through the FATMEN [bib-FATMEN] package. However, the implementation requires the creation of special batch queues, definition of logical names and other configuration details which are best described here. The technique used to provide remote staging requires no modification to VAXTAP.

Remote staging is possible in two cases:

  1. The remote tape drive is attached to a VAX in the same VAXcluster as the client
  2. The remote tape drive is attached to a VAX that is in not in the same VAXcluster

On the client machine, a file SETUPEXE:TPSERV.CONF must be created. This file contains a list of generic device names and the nodes on which they are served.

                    An example TPSERV.CONF file
                                  

TPSERV 8200 VXCRNQ
TPSERV CTRS FNALD

When a remote stage is required, a batch job will be submitted to a special queue on that node. If the server node is in the same VAXcluster as the client, the batch job is submitted directly. In other cases, DECnet task to task is used to start a server to submit the job and check its status.

Configuring the batch queues

A generic batch queue is required for each generic device type that is to be served. If the queue is to be used to stage devices of type 8200, then the queue name must be STAGE8200S. A physical queue fed by this generic queue must be created on each node that is to serve devices of this type. The job limit should be set to the number of devices that are concurrently available for this type of operation. Thus, if one has two devices of type 8200 that are dedicated to staging, the job limit should be set to 2.

Log files from the batch jobs

The log files from the staging jobs are written to the directory defined by the system logical name STAGELOGS.

Accessing the staging disk

It is assumed that the staging disk is DFS mounted on the client machine.

Installing the stage server

On server systems which are not in the same VAXcluster as prospective clients, a small stage server must be built and defined as a DECnet object.

              DECnet definitions for the stage server
                                  

MCR NCP
NCP>SET OBJECT STGSERV NUMBER 0 FILE CERN:[PRO.EXE]STGSERV.COM
NCP>DEF OBJECT STGSERV NUMBER 0 FILE CERN:[PRO.EXE]STGSERV.COM
NCP>EXIT

The actual command file simple runs the corresponding .EXE, and is automatically extracted as part of the FATMEN installation procedure.

                     The STGSERV command file
                                  

$ set noon
$!
$! STGSERV.COM
$!
$! This command file is invoked when a remote stage operation is
$! required.
$!
$! Display remote user and node name
$!
$  remote_user = f$trnlnm("SYS$REM_ID")
$  remote_node = f$trnlnm("SYS$REM_NODE")
$!
$  date_time   = f$cvtime(,"ABSOLUTE")
$!
$  write sys$output ""
$  write sys$output ">>> Start of STGSERV command file"
$  write sys$output ""
$!
$  write sys$output "Remote stage submit/query request from user ",-
"''remote_user' at ''remote_node' at ''date_time'"
$!
$! Set messages how we want them...
$!
$  SET MESSAGE/FACILITY/IDENTIFICATION/SEVERITY/TEXT
$!
$! Run the server
$!
$  RUN SETUP_EXE:STGSERV
$!
$  write sys$output ""
$  write sys$output ">>> End of STGSERV command file"
$  write sys$output ""
$!

The server code can be extracted with the following command file

                    Extracting the stage server
                                  

$ypatchy cern:[pro.src.car]fatmen.car stgserv.for :go <