next up previous contents
Next: NFS-Mounting Your File Up: Configuring and Running the Previous: Configuring a Shore

 

Running a Shore Server

 

A Bootstrapping Problem

Once started, the server locates its configuration file and reads it. The configuration option svas_root tells the server where to find its root directory, and one or more options svas_serve tell the server where to find other devices containing volumes to be served. When you start from scratch, you have no root directory, and you have to create one. The server is able to run without a root directory, but you can't do much with a server that has no file system, other than use it to format devices and make file systems (which corrspond to volumes) on those devices.

In order to make bootstrapping as easy as possible, after the server reads its configuration file, it can start a Tcl shell and read another file of commands.

 

Tcl command file (option svas_shellrc)

One of the configuration options, svas_tclshell, determines whether the server will start a Tcl shell. If the value of svas_tclshell is yes or true, a shell is started, and the option svas_shellrc is inspected. If svas_shellrc is set, it names a file of Tcl commands, which are interpreted when the shell starts.

The file of Tcl commands is a convenience, not a requirement. When you are experimenting with the system, you might often throw away everything and start over.

When you throw away your Shore volumes and log and start from scratch, you are doing the Shore counterpart of re-installing Unix. The analogous activity in Unix is to reformat your disks and install Unix from scratch, making file systems with mkfs(8) or newfs(8)). There are enough steps to this process that you don't want to have to do it by hand each time.

That's the reason for the file of Tcl commands: it makes the process of starting from scratch automatic. Once your system is configured and running, and you are in "production mode", you can dispense with the Tcl command file. As long as you don't intend to reformat your disks, you can start a server without an Tcl commands; all you have to do in this case is to set the SVAS options svas_root and svas_serve so that the SVAS can mount the root directory and serve your non-root volumes. On the other hand, it does not hurt anything to run the server with a Tcl shell and to have it read the Tcl command file each time it starts.

The release contains a file of Tcl commands called shore.rc. These commands determine if the root file system was mounted when the server started running. If not, the Tcl commands format the root volume and create a Shore file system on it. The commands also create several directories that are required by the example applications.

If you want to replace the file of Tcl commands with your own version, or if you want to avoid reading such a file altogether, edit your options file (options), and change or remove the command that sets the option svas_shellrc.

The release comes with a file of Tcl library procedures, vas.tcllib, which you can replace at your will, with the option svas_tcllib.

 

Running the Shore Server

We suggest that you first run the Shore Server (SVAS) according to the directions in the testing section of the Installation Manual.

When you start the server, you will see several messages looking like this:

Warning: no database administrator -- running under userid 1966, groupid 2363
Looking for run command file "~/shore.rc"...
serve ./volumes/vol8k 
serve ./volumes/miniroot 
Done serving devices and making filesystems.
 
root = 0.0.0.0:10.20007  
See if  /small  exists in the Shore namespace. 
/small  does exists  
See if  /  exists in the Shore namespace. 
/  does exists  
Done putting together the namespace.
 
Done reading ~/shore.rc.
Welcome to the Shore Value-Added-Server
Version ($Revision: 1.35 Date: 1996/07/16 15:24:34$)
(0)%

You can ignore most of these messages.

Warning: no database administrator ...
announces that the server is not being run by the super-user, or by the user shoreadm.
1. error in svas_layer.C:655 The requested volume is not mounted.
and
Cannot serve ... You must format it and try again.
When the server starts, it tries to mount the volume described in the option svas_root in the file options. The first time the server is run, that volume does not exist, and the attempt to mount it as the root of the Shore file system results in this error.
Looking for run command file " /shore.rc"...
If the server is configured to run a Tcl shell (which it was), and if it is given a file to read when the shell starts (shore.rc in this case), it reads that file and interprets the commands therein. Among the commands in shore.rc were commands to format the device and volume for the root directory, mount the root directory, and print the full object identifier of the root directory.
Welcome...
After reading the file of Tcl commands, the server's Tcl shell prints a welcome message and a prompt for Tcl commands.

The SVAS is now running a Tcl shell in the window in which you started the server. As you run clients, you can also run Tcl shell commands to the SVAS. Unfortunately, this shell has no user guide, but is has some on-line help. Type "commands" or "help".

 

Shutting the Server Down

The server shuts down when you type the command bye, which is synonymous with quit, q, exit, and x. You can also run the program sshutdown, which contacts the server and causes it to shut down.

 

Changing Your Environment

If you want to change the location of your logs or the location of your data volumes, you will need to edit shore.rc (or whatever file you have chosen as your file of Tcl commands). Warning: If your volumes or log are on an AFS file system, the server will be sluggish, and you must take care that the volumes and logs have the necessary AFS permissions so that the user who runs the server can create and update the volumes and log files.

The file of Tcl commands does several things:

  1. defines a table of volumes on which to create file systems
  2. formats the volumes if necessary. Warning: If your volumes are on a Unix raw device, you MUST remove this step.
  3. determines if the root directory was already mounted when the configuration file was processed, and if not,
  4. creates a file system (with the release, this corresponds to a volume) for the root of the Shore name space ("/") , and mounts it,
  5. mounts any non-root volumes
  6. creates some directories and pools used by the example applications, if they don't already exist.

If you want to change the location or size of your file system, look at the volume table at the beginning of the file. The comments there are self-explanatory.



next up previous contents
Next: NFS-Mounting Your File Up: Configuring and Running the Previous: Configuring a Shore



Marvin Solomon
Fri Aug 2 13:39:21 CDT 1996