Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ jaquith(1) — Sprite KS.390

Media Vault

Software Library

Restoration Projects

Artifacts Sought

JAQUITH  —  User Commands

NAME

jaquith − Tertiary storage manager

SYNOPSIS

jaquith  [−port port] [−logfile logfile] [−logdetail level] [−root rootname] [-putexec filename]
[-getexec filename] [-cleanexec filename] [-diskhigh percent] [-disklow percent] [-netmask mask]
[-fsyncfreq count] [-childdbg]

OPTIONS

−port portPort number where jaquith should listen for new connections.  Defaults to 10001 (decimal). 

−logfile logfileEnable activity logging to specified file

−logdetail detail
Amount of logging information. There are four levels, with high levels including the lower ones. 0x0 == None. 0x01 = errors. 0x02 = major events. 0x04 = minor events. 0x08 = code tracing.

−root rootname
Root of index tree

−putexec filename
Path to Jaquith update program. Defaults to /usr/bin/jupdate.

−getexec filename
Path to Jaquith retrieval program. Defaults to /usr/bin/jfetch.

−cleanexec filename
Path to Jaquith cleaner program. Defaults to /usr/bin/jclean.

−diskhigh percent
Disk threshold at which cleaner will be invoked to free disk space by copying data buffers to tape.

−disklow percent
Disk threshold at which cleaner will stop trying to free disk space by copying data buffers to tape.

−netmask mask
Refuse service to clients whose internet address doesn’t match mask. The mask is specified in the form "128.32.1.2".  A "∗" can be substituted for a number to accept all values in that position. 

−fsyncfreq count
For jput operations, force an fsync every count files.  Default is 10. 

−childdbgInvoke update and retrieval processes with -debug flag. 


DESCRIPTION

The Jaquith system is a tertiary storage manager which provides storage, indexing and retrieval services to network clients. 
 

This man page describes Jaquith, the main server. The other parts of the system include:
 

jmgr   -- the jukebox manager
jclean -- the archive cleaner
jput, jget, jls, jstat -- Client utilities
jupdate, jfetch, jquery -- Jaquith servant processes
jcopy, jctrl, jbuild -- System administration utilities

 
The jaquith process is the primary server for the Jaquith archive system.  It listens on a public port for incoming client requests and spawns child processes to handle those requests. The port is specified with the -port option. Each jput request spawns a writer as specified with the -putexec option. Similarly, each jget or jls request spawns a reader. jstat requests spawn query processes. 
 

Jaquith also spawns a cleaner process which writes data from disk to tertiary storage, as necessary. The cleaner is specified with the -cleanexec option, and the threshold which controls its invocation is specified with the -disklow and -diskhigh options. DiskHigh gives the level of disk use, in percent, when the cleaner should be invoked. The cleaner will clean the disk down to the low water mark, -disklow. 
 

Jaquith assumes the presence of the jukebox manager, a process which mediates access to the physical jukebox. See jmgr for details. 
 

To install Jaquith initially, create a directory to act as the Jaquith root, typically /jaquith. It’s easiest if DEF_ROOT (in jaquith.h) is set to this name and all the programs are recompiled.  Then create volconfig and devconfig files for jmgr. Start jaquith and jmgr and you’re set. 
 

To grant access to Jaquith to a new user, create a new logical archive, if desired, by creating a subdirectory in the Jaquith root called archName.arch.  In this subdirectory, create the auth file, as described in the RELATED FILES section, or just add the user to the existing authorization file. 
 

RELATED FILES

Jaquith maintains a number of files describing the state of the physical and logical archive. All of these files reside in the Jaquith root (usually /arch but settable with the -root flag). 

freevolsThe global pool of available volumes.  These will be consumed as needed by the cleaner process. Format of an entry is just the volume ID. 

devconfigThe list of device names to be controlled by the jukebox manager.  Format is device name followed by its slot in the jukebox. 

volconfigThe list of volumes and their slot locations in the jukebox. Format is the volume name followed by its slot in the jukebox. 

tbuf.lruThe global least-recently-used buffer list. Buffers at the top of the list are prime candidates for removal if disk space is tight.  Format is logical archive name followed by tbuf number. 

rebuild.pidTemporary work file created by jbuild. 

thdr.pid.numEmergency work file created by jbuild when it can’t parse the thdr file it got from tape. 

archive/configArchive configuration information. Format is jmgr server name and port number followed by desired buffer size. 

archive/tbufCurrent buffer number. I.E. current buffer is tbuf.num. 

archive/tbuf.num
Tape buffer files. These files contain user file data in Posix tar format.

archive/thdr.num
Tape header files. These files contain the indexing information in case the disk index structure is destroyed.

archive/meta.num
Meta information about tbuf.num maintained while buffer is being built in case of crash. 

archive/logThe list of operations which have been requested on this logical archive. 

archive/filemap
The list of volumes assigned to this archive along with the starting buffer number on the volume and the date the volume was assigned.

archive/authThe authorization information for the logical archive. The file consists of single-line entries in no particular order. Each entry has the form username groupname hostname permission.  username, groupname, and hostname are globbing expressions.  Permission is R, W, or O for read, read-and-write or ownership respectively.  Ownership means that the specified user or group has ’root’ access to this logical archive. Client requests are validated by first looking for an entry with a corresponding user name. If none is found then an entry with a matching group name is used, else permission is denied. 

archive/volinfo
Physical volume information for this logical archive. Entries are: current volume id, next location on volume where buffer is to be written, remaining space in KB on volume, last buffer number written, current buffer number.

archive/tbufinfo
Current buffer information for this logical archive. Entries are: buffer size in bytes, buffer header size in bytes, number of user files in buffer.

BUGS

None. Jaquith is perfection personified. 
 

SEE ALSO

jmgr jls jstat jput jget jctrl jcopy jclean jbuild
 

KEYWORDS

jaquith archive

Sprite version 1.0  —  

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026