init_ccase

Startup and shutdown script

Applicability

Product

Command type

VersionVault

command

Platform

UNIX®

Linux®

Synopsis

Linux

service versionvault { start | stop }

or

systemctl { start | stop } versionvault

Solaris

/etc/init.d/versionvault { start | stop }

Description

The shell script listed in the Synopsis section is invoked at system startup and shutdown. It can also be executed as a shell command.

VersionVault startup

When invoked with the argument start (or without an argument), the script performs initialization as follows:

  • Starts the Location Broker Daemon, albd_server.
  • (On Linux and Solaris) Dynamically loads the MVFS (multiversion file system) into the operating system kernel.
  • Initializes the viewroot directory (default name /view).
  • Mounts public VOBs listed in storage registry. If the network is partitioned into multiple network regions, only the VOBs that have public VOB tags in the local host's region are mounted.
  • Exports VOBs through particular views to enable access by non-VersionVault hosts; the list of VOBs to be exported is read from the VersionVault file /etc/exports.mvfs.

Startup retry loop

The startup script resides outside the host's VersionVault installation area. It calls on another script, which resides inside the installation area, to do the actual startup processing. If this other script, versionvault-home-dir/etc/versionvault, cannot be accessed, the startup script enters a retry loop. (This can occur when the VersionVault installation area is located on a remote host and that host is currently unavailable.)

In its retry loop, the startup script tries periodically to invoke versionvault-home-dir/etc/versionvault.The retries continue indefinitely; if you want to terminate the loop, remove the flag file /tmp/VersionVault.retrying.

The viewroot mount command

The startup script runs a standard mount command to mount the viewroot directory as a file system of type MVFS. This mount command is architecture specific:

Architecture

Command

Linux

mount_mvfs –o rw,viewroot /dev/mvfs /view

Solaris

mount –F mvfs –o rw,viewroot /view /view

You can change the extending naming symbol by appending a string to the argument that follows the –o option:

  • ,xnsuffix=symbol
  • ,–o=xnsuffix=symbol

This specifies a character string to be used on the local host as the VersionVault extended naming symbol. By default, the string @@ is used. Be careful; this option affects the local host only; other hosts may use the default extended-naming symbol or another symbol specified with this mount option.

You can specify a directory other than /view as the viewroot. Whatever directory you specify (for example, /ccasevu) must exist at system startup time. Note that you must specify this directory name twice in the mount command.

Mounting the viewroot directory enables use of VersionVault views on the local host. When a view is activated (by startview, setview, or mktag), its view tag is entered into the viewroot directory. For example, activating a view whose view tag is gamma creates the directory entry /view/gamma. See the pathnames_ccase reference page for a discussion of view-extended path names that use such directory entries.

A mounted viewroot directory is not actually an on-disk directory. Rather, it is a data structure maintained in main memory by the MVFS code loaded into the operating system kernel. The viewroot directory's list of view tags is lost whenever VersionVault operation on the local host is stopped (including an operating system shutdown).

The viewroot directory cannot be exported and cannot be mounted by any other host. Each VersionVault host must have its own viewroot directory.

Shutdown

When invoked with the argument stop, the script shuts down VersionVault as follows:

  • Unexports any view/VOB combinations that were exported through /etc/exports.mvfs to enable non-VersionVault access
  • (On Linux and Solaris) Kills all user processes that are using the MVFS (multiversion file system)
  • Unmounts all VOBs
  • Kills the vob_server processes for VOBs whose storage directories are on the local host
  • Kills the albd_server process, which also causes view_server, db_server, and vobrpc_server processes to exit
  • (On Linux and Solaris) Unloads the MVFS from the operating system kernel
  • Unmounts the viewroot directory