vold(1M) Volume Manager Utilities vold(1M)
NAME
vold - Volume Manager configuration daemon
SYNOPSIS
vold [ -dkf ] [ -r reset ] [ -x debug ] [ -R file ] [ -D
file ]
DESCRIPTION
The vold utility forms the interface between the other
Volume Manager utilities and the kernel volconfig device.
It is started as a background daemon during system startup.
Utilities connect to vold through an IPC mechanism to query
about configuration records (volume, plex, and subdisk
descriptions), or to make changes to the configuration
records. The voladm utility connects to vold to make
administrative queries or changes.
The vold utility maintains two or more copies of the
configuration in disk files, which may reside in a file
system, or on a raw disk partition. At least two error-free
copies of the configuration must be kept at all times. If
the number is less than two, or if the number drops below
two due to an I/O failure, then vold disallows connections
from utilities other than voladm until the number of error-
free databases can be increased.
The vold utility operates in two major modes: enabled and
disabled for transactions. When enabled for transactions,
vold accepts connection requests from other Volume Manager
utilities and makes any changes to the configuration that
are requested through transactions from those utilities.
When disabled for transactions, only the voladm utility can
connect to vold, thus allowing operations on the set of
configuration databases, but not on the individual
configuration records.
It is the responsibility of vold to maintain the contents of
the /dev/vol, /dev/rvol, and /dev/plex directories. As
transactions from utilities create and delete volumes,
associate and dissociate plexes, and change permissions on
volumes, nodes in these directories are created, deleted,
and changed to reflect these modifications. The contents of
these directories are reconstructed every time vold is
enabled.
The architecture of vold and of the other utilities allows
vold to be killed and reenabled at any point, without
affecting the integrity of the database, or the success of
requested operations. Utilities retry operations until vold
is enabled again. However, most utilities fail if vold is
not enabled when they start.
Page 1 (printed 1/21/92)
vold(1M) Volume Manager Utilities vold(1M)
Normal Operation
When vold starts under normal operation, it checks to ensure
that it is the only vold running, and then tries to perform
any operations necessary for entering the enabled mode. If
another vold is already running, then vold exits. If vold
cannot enter enabled mode, then it enters disabled mode.
Enabled mode cannot be entered if there is no
/usr/lib/VxVM/voldesc file; if there are not at least two
error-free on-disk databases; or if the on-disk databases
are inconsistent in an unexpected way.
After successfully entering enabled or disabled mode, the
vold command exits, leaving a forked background process
running. The background process will be detached from any
terminal. The -f option can be used to change this startup
behavior.
The first time vold is enabled after system startup, the
on-disk databases are checked for consistency solely
relative to themselves. However, this process ignores
databases that previously encountered I/O or format errors,
or databases that are more than one configuration change
older than the most recent database. All other on-disk
databases that are considered the same, on the basis of a
configuration ID stored in each database, are compared and
if any are found to differ, then vold cannot be enabled.
Subsequent attempts to enable vold also take the database
stored in the kernel into account. Any on-disk databases
with the same ID as the kernel database must match the
contents of that database, or vold cannot be enabled, since
this implies that a change was made to the kernel or the
on-disk databases without going through vold.
OPTIONS
The following options are recognized:
-d Start in disabled mode, rather than attempting to start
in enabled mode.
-k Kill the existing volume configuration daemon, if one
is running, and wait up to 30 seconds for it to exit.
Then continue normal startup operations.
-f Start a foreground vold process. By default, vold
forks a background process, and exits as soon as that
process has successfully entered either disabled or
enabled mode.
-r reset
Reset all Volume Manager configuration information
stored in the kernel, as well as the records accessible
Page 2 (printed 1/21/92)
vold(1M) Volume Manager Utilities vold(1M)
through the /dev/volevent device (see voltrace(1M)).
The option argument reset must be supplied for the
operation to proceed. This option is available
primarily for use in writing tests for the Volume
Manager, although it may occasionally be useful to
reset the Volume Manager for other reasons.
The reset operation fails if any volume or plex devices
are open, or if either the /dev/volevent or /dev/voliod
device is open.
-x debug
Set the current debugging level for tracing vold
operations. A debug level of 0 does no tracing; a
level of 1 traces requests from utilities, kernel
ioctls, and database updates; and a level of 2 performs
the same functions as level 1, plus it traces writes of
individual database records.
-R file
Set the rendezvous point used by regular utilities to
connect to vold. This rendezvous point is a pathname
that will be used as an attach point for a STREAMS
pipe. By default, /usr/lib/VxVM/voldrequest is used.
This option is provided for debugging purposes only.
-D file
Set the rendezvous point used by the voladm utility to
connect to vold. By default, /usr/lib/VxVM/volddiag
is used. This option is provided for debugging
purposes only.
EXIT CODES
The vold utility exits with one of the following status
codes:
0 The vold background process started successfully in the
requested mode. This status is never returned when the
-f option is given.
1 The vold command line contained an invalid option or
argument.
2 An error was encountered that forced the vold
background process to start in disabled mode. This
status is never returned when the -f option is given.
3 A vold process is already running. If the -k option
was given, then this implies that the existing vold
process did not die within 30 seconds of being sent a
signal.
Page 3 (printed 1/21/92)
vold(1M) Volume Manager Utilities vold(1M)
4 An unexpected system error was encountered during
startup, which prevented vold from entering either
enabled or disabled mode.
5 The background vold process was killed by a signal
before it could enter enabled or disabled mode.
6 The software revisions of the kernel and of vold do not
match.
7 The -r option was given, but the reset operation failed
for some reason.
8 One of the IPC connections failed due to an unexpected
STREAMS failure.
9 An unexpected system failure occurred after startup.
FILES
/usr/lib/VxVM/volddiag Diagnostic (voladm) IPC
interface
/usr/lib/VxVM/voldrequest Regular request IPC interface
for Volume Manager utilities
/dev/vol/volname Block device corresponding to
volume volname
/dev/rvol/volname Character device corresponding
to volume volname
/dev/plex/plexname Character device corresponding
to the associated plex plexname
/dev/volconfig Device used to communicate
between vold and the kernel
/dev/volevent Volume Manager event tracing
device, which is used by vold
solely for determining the
process ID of the existing
volume configuration daemon
SEE ALSO
voladm(1M), volintro(1M), voltrace(1M), volintro(3X),
vol(7), volconfig(7), and fattach(3C).
Page 4 (printed 1/21/92)