OPTIONS(SVAS)

Shore Programmer's Manual - 2 August 96

NAME

options \- configuration options used by the Shore Value-Added Server

SYNOPSIS

setenv SHORE_RC configuration-file

svas_option_name:  value

DESCRIPTION

Each of the following options must appear on the command line or in a configuration file. On the command line, each option is prepended with a dash ('-'); in a configuration file, it is prepended by a type, a class, and a program name (in the style of X configuration options).

For applications, the type is "shore", and the class and program name are determined by the application.

For the server, the type is "shore", the class is "server", and program name is the name of the program's executable file ("shore" if it is run as made in the source tree).

Wild cards "?" and "*" may be used as with X configuration options.

EXAMPLE CONFIGURATION FILE ENTRIES

Examples are:
shore.server.shore.sm_logdir: ./log
?.server.shore.sm_logdir: ./log
shore.server.?.sm_logdir: ./log
*.sm_logdir: ./log

EXAMPLE COMMAND LINE ARGUMENTS

The following is a handy script for running a server; this script demonstrates how to set command-line options.
#!/bin/csh -f

#	set INST to your installed location
set INST = /p/shore/installed/nodebug
setenv SHORE_RC $ILIB/options
$INST/bin/shore -sm_diskrw $INST/binb/diskrw \
	-svas_shellrc $INST/lib/shore.rc \
	-svas_tcllib $INST/lib/vas.tcllib -v

SERVER OPTIONS

The following options are used by the Shore Value-Added Server process and its subordinate layers of software. Options that are you must set are marked "Required" below, because they have no defaults.
sm_bufpoolsize
Required. The size of the Storage Manager's buffer pool, in kilobytes. It must be an integer greater than 64. No default value.
sm_locktablesize
Number of entries in the Storage Manager's lock table. Default is 64000.
sm_backgroundflush
Optional. Enables flushing of pages to the disk during otherwise idle periods. Default is "yes".
sm_logdir
Required. The path name of a Unix directory or a raw device in which the recovery log will be written. No default value.
sm_reformat_log
Optional. A Boolean value which, if "yes" or "true", causes the logs to be destroyed and re-created. USE WITH CAUTION. If logs are destroyed and re-created, volumes must also be re-created. Default is "no".
sm_logsize
The maximum size that a log partition(file) may reach. The log has 8 partitions, so this is roughly one eighth of the total log size. The minimum size is 1 megabyte, which is too small for any real work. When the log is on a raw device, this value may be 0, which causes the log size to be calculated. (Setting this to a non-zero value for raw devices is allowed for debugging only.) Default is 10 megabytes.
sm_diskrw
The path name of the program that the Shore Storage Manager will fork to perform disk I/O. The path name should be the place you installed the executable program that was made in the source tree as src/sthread/diskrw. The default value is "diskrw".
sm_logging
A Boolean-valued option that determines whether the Shore Storage Manager will perform logging and recovery during this program execution. If turned off, you cannot abort transactions or roll back to savepoints. The default is true.
sm_errlog
See the description for the option "svas_nfsd_log", below. Default is - (stderr).
sm_errlog_level
See the description for the option "svas_nfsd_log_level", below. Default is error.
svas_serve
This option tells the server what devices to ``serve''. The value must be of the form pathname. The pathname is the Unix path name of the device on which a Shore file system has been made. In other words, the device must have been formatted and a file system must have been made on the device before it can be served. You will use this option when you run a server without a Tcl shell, and you want the server to serve more than one volume. If you have only one volume (the server's root volume), you do not need this option, because the root volume is served by the svas_root option (below). If you want to run your server in the background, without a Tcl shell, and you are running the server for the first time (with no log, and no formatted volumes), you must first start a server with a Tcl shell, use the format, mkfs, serve, and possibly pmount commands in order to format your devices, create Shore file systems, and link them together as desired. Once the file systems are constructed, you can shut down the server and start it again without a Tcl shell, using one or more svas_server configuration options to determine what devices are served.
svas_root
This option determines where the server will find the root of the Shore name space. The value must be of the form pathname volume-id. The pathname is the Unix path name of the device on which the root volume is to be found. The volume-id is the logical volume identifier ("high.low") of the volume whose root directory will correspond to "/". The device must already have been formatted, and the volume must already have been created and formatted as a Shore file system. This option has no default value. If no value is given, the server will come up, to allow devices to be formatted and file systems to be created.
svas_tcllib
The file name of a Tcl library file that will be read when the shell is started (only if the shell was configured into the executable and the shell is started). Not an error if the file does not exist. The binary distribution contains a library file in the lib directory. Default is "vas.tcllib".
svas_shellrc
The file name of a Tcl shell command file that will be read immediately after the shell is started (only if the shell was configured into the executable and the shell is started). Default is "shore.rc".

The next four options determine the ports on which the server serves requests for its various services. Each of these port numbers should be an integer between 1024 and 65535.

svas_nfsd_port
This is the port on which the server receives NFS requests over UDP. Default is 2999.
svas_mountd_port
This is the port on which the server receives MOUNT requests over UDP. Default is 2997.
svas_client_port
This is the port on which the server listens for client requests over TCP. Default is 2999.
svas_remote_port
This is the port on which the server listens for requests from other Shore Value-Added Servers and from the sshutdown program. Default is 2998.

svas_reuse_addrs
When set to "true" or "yes", the addresses constructed from the above ports can be used by more than one process. This alleviates the problem of restarting a server that was not cleanly shut down, and getting the "Address already in use" error from the operating system while it is waiting for the TCP 2*maximum-segment-lifetimes to expire. BEWARE: There is no way to distinguish the crashed-server case from the case in which another server is really up and running. Be sure you are not running a second server with the same configuration as the first!!! The results are undefined. You will probably clobber your log and be unable to recover. Default is "no".

The next five options determine the destinations of messages that are logged by the various services. There are three possible destinations: a file in the Unix file system, the syslog daemon, or the standard error file (usually the terminal). If the value of the option is "-", the standard error file is used. If it is "syslogd", the messages are sent to the syslog daemon. If it is any other string, it is interpreted as a Unix path name.

svas_nfsd_log
The destination of log messages generated by the NFS service. Default is "-".
svas_mountd_log
The destination of log messages generated by the MOUNT service. Default is "-".
svas_client_log
The destination of log messages generated by the Shore client request service. Default is "-".
svas_shell_log
The destination of log messages generated by the Tcl shell on the server. Default is "-".
svas_log
The destination of log messages generated by the Shore, but which do not pertain to one of the three services above. Default is "-".

For each of the above logs, you can control the priority of messages that is logged. Possible are: trace info error internal fatal. They correspond to the levels for logging to the syslog daemon.

svas_nfsd_log_level
Default is error.
svas_mountd_log_level
Default is error.
svas_client_log_level
Default is error.
svas_shell_log_level
Default is error.
svas_log_level
Default is error.

The rest of the server options are Boolean-valued options. Values can be given as "yes", "no", "true", or "false".

svas_nfsd_pmap
If "true" or "yes", the server will register this service with the portmapper. Default is "no".
svas_mountd_pmap
If "true" or "yes", the server will register this service with the portmapper. Default is "no".
svas_remote_pmap
If "true" or "yes", the server will register this service with the portmapper. Default is "no".
svas_client_pmap
If "true" or "yes", the server will register this service with the portmapper. Default is "no".
svas_noshm
If "true" or "yes", the server prohibits the use of shared memory when communicating with clients (overriding client options regarding the use of shared memory). This is for debugging purposes only. Default is "no".
svas_rpc_unregister
If "true" or "yes", and the server is unable to register with the portmapper, it will try to un-register and re-register. For restarting after a crash; avoids running "rpcinfo -d". Default is "no". Use carefully!
svas_print_user_errors
If "true" or "yes", the server will print messages about user errors to the standard output file. Default is "no".
svas_print_user_stats
If "true" or "yes", the server will print statistics to the standard output file every time a client's transaction changes state. Default is "no".
svas_clear_user_stats
If "true" or "yes", the server will clear its statistics every time a client's transaction changes state.
svas_tclshell
If "true" or "yes", the server will start a Tcl shell (if the shell was configured into the executable). Default is "yes".
svas_sysp_cache_size
An integer-valued option, whose value should be a small integer. It determines the size (number of entries in) of the meta-data cache created for each client. The meta-data cache caches system properties of pools and of objects containing indexes, in order to expedite permissions checking during operations on anonymous objects and indexes. This will be removed in later versions of Shore. It is present only for developers' purposes. The default value is 1.
svas_mount_table_size
An integer-valued option, whose value should be a small integer. It determines the size (number of entries in) of the transient mount table. Default is 20.

SHUTDOWN OPTIONS

The shutdown program is a client program, which uses the following options, whose values must match those of the server to be shut down by this program:

svas_remote_pmap
svas_remote_port

and it uses the following client option:

svas_host

CLIENT LIBRARY OPTIONS

The following options are used by the Shore Value-Added Server client library. The client library is included in the Shore language-independent library, so these are avaliable to all application programs that use SDL.

svas_host
The name of the host on which the server runs. The default value is "localhost", which is really the only way Shore is intended to be run. This option is available only for debugging purposes.
svas_log
The name of the Unix file to which the client library will log information as it runs. The value "-" means that information will be logged to the standard error file (usually the terminal). If given the value "syslogd", the client library will log to the syslog daemon, as the facility LOG_USER. The default value is "-" (log to standard error).
svas_shm_small_obj
The number of kilobytes of shared memory to allocate for transferring small objects between the server and the client. The default is 16 (two pages).
svas_shm_large_obj
The number of kilobytes of shared memory to allocate for transferring large objects between the server and the client. The default is 256.
svas_use_pmap
If "yes" or "true", the client library consults the portmapper to locate the server. If "no" or "false", the client library does not contact the portmapper, and uses the value of the option "svas_port" to locate the server. The default is "no".
svas_port
The port at which the server is listening. The default is 2999.
svas_print_user_errors
A Boolean-valued option that determines whether the client library will print messages about user errors to the standard output file. The default is "no".

OBJECT CACHE OPTIONS

See options(oc) for information about options available for client programs that use SDL.

VERSION

This manual page applies to Version 1.0 of theShore software.

SPONSORSHIP

The Shore project is sponsored by the Advanced Research Project Agency, ARPA order number 018 (formerly 8230), monitored by the U.S. Army Research Laboratory under contract DAAB07-92-C-Q508.

COPYRIGHT

Copyright (c) 1994, 1995, 1996 Computer Sciences Department, University of Wisconsin -- Madison. All Rights Reserved.

SEE ALSO

environment(svas)