Server management

Server configuration

Once storage space has been created a names file is then constructed for the server. Below is an example names file for a server. This particular names files contains entries for two databases one for calibration and one for a geometric database. (The next section of the tutorial will demonstrate the creation of these database files.)

        An example names file for calib and geom dbs files
                                  

:nick.config
            :list.ge ca
            :log./hepdb/expdb/logs
            :bad./hepdb/expdb/bad
            :todo./hepdb/expdb/queue
            :queue./hepdb/expdb/queue
            :save./hepdb/expdb/save
            :logl.3
            :wakeup.60
:nick.ge
            :file..GEO.dbs
            :desc.Geometric database (residing on VM)
            :servers.caliblist1
:nick.ca
            :file./hepdb/expdb/CAL.dbs
            :desc.Calibration Database
            :servers.caliblist2
:nick.caliblist1
            :list.ecal1 ecal2
:nick.caliblist2
            :list.ecal2
:nick.ecal1
            :userid.cdl3
            :node.hepdb
            :localq./hepdb/l3/todo
:nick.ecal2
            :userid.cdl3
            :node.vxl3on
            :queue.disk$db:[cdl3.todo]
            :transport.tcpip
            :localq./hepdb/l3/tovxl3on

To understand the way the server uses the information in the names file one needs to examine the individual tags within it. A brief description of these tags starting with those in the configuration block follows however a more detailed account of this file can be found elsewhere in this text.

CONFIG
Indicates the start of the server configuration details.
LIST
A list of two character database prefixes. These prefixes act as a pointer within the names file giving specific details about each database file.
LOG
The directory where the server logs are written
BAD
The directory where the server places bad updates
QUEUE
The directory where new updates are placed by HEPDB clients
TODO
The directory which the server scans for new updates. If this is the same as the QUEUE directory then the server operates as the database master. In other cases it will operate in slave mode.
SAVE
The directory where the server saves updates after processing
LOGL
The log level for the server
WAKEUP
The wakeup interval in seconds for the server
The next type of block in the names file are the database files blocks, identified by the string :nick.xx where xx is the two character database prefix discussed above.

:nick.xx
The two character database prefix, e.g. ca.
FILE
The full path name of the database file. For VM/CMS systems, the syntax is filename.filetype
DESC
Gives a brief description of the database contents. It provides a way of documenting the names file.
SERVERS
The name specified in this tag is a pointer to a list of remote servers. In our example file above the description of our calib.dbs file refers to a serverlist caliblist1 which itself then points to details of the two remote servers ecal1 and ecal2.

The remaining entries in our example names file are server descriptions. These are identified by an entry :nick.servername and store details of remote servers.

server
The nickname of the servers, e.g. ecal1.
USERID
Userid under which the server runs on the remote node
NODE
Node on which the server runs
QUEUE
Input queue on the remote node
TRANSPORT
Method by which updates are transmitted
LOCALQ
The local directory where updates are written pending transmission to the remote node. This may, in fact, be the same as QUEUE, e.g. when the directory is accessible via NFS or AFS.

Starting the server

Finally we must start the server up. According to the platform you are using the command to do this will vary slightly . The main forms of the command follow:

  1. UNIX and VMS The server can be run in the background or in batch mode.
  2. VM On VM the server can be started in one of two ways. You could autolog the machine CDexperiment (eg: CDEXPDB), or alternatively you could log on as for example CDEXPDB, type HDBSTART and then exit the session via the command #CP DISC.