 |
Index for Section 8 |
|
 |
Alphabetical listing for V |
|
volsd(8)
NAME
volsd - Perform Logical Storage Manager (LSM) operations on subdisks
SYNOPSIS
/sbin/volsd [-Vf] [-g diskgroup] [-U usetype] [-o useopt] [-v volume] [-l
offset] assoc plex subdisk...
/sbin/volsd [-Vf] [-g diskgroup] [-U usetype] [-o useopt] [-v volume] aslog
plex subdisk
/sbin/volsd [-Vf] [-g diskgroup] [-U usetype] [-o useopt] [-v volume] [-p
plex] dis subdisk...
/sbin/volsd [-Vf] [-g diskgroup] [-U usetype] [-o useopt] [-v volume] [-p
plex] split subdisk newsd [newsd2]
/sbin/volsd [-Vf] [-g diskgroup] [-U usetype] [-o useopt] [-v volume] [-p
plex] join sd1 sd2... newsd
/sbin/volsd [-Vf] [-g diskgroup] [-U usetype] [-o useopt] [-v volume] [-p
plex] mv oldsd newsd
OPTIONS
The following options are recognized:
-g diskgroup
Specify the disk group for the operation, either by disk group ID or by
disk group name. By default, the disk group is chosen based on the
name operands.
-U usetype
Limit the operation to apply to this usage type. Attempts to affect
volumes with a different usage type will fail.
-o useopt
Pass in usage-type-specific options to the operation. A certain set of
operations are expected to be implemented by all usage types:
slow[=iodelay]
Reduce the system performance impact of copy operations. Copy
operations are usually a set of short copy operations on small
regions of the volume (normally from 16 kilobytes to 128
kilobytes). This option inserts a delay between the recovery of
each such region. A specific delay can be specified with iodelay
as a number of milliseconds, or a default is chosen (normally 250
milliseconds).
iosize=size
Perform copy operations in regions with the length specified by
size, which is a standard Logical Storage Manager length number
(see volintro(8)). Specifying a larger number typically causes the
operation to complete sooner, but with greater impact on other
processes using the volume. The default I/O size is typically 32
kilobytes.
rm Remove the subdisks after successful completion of a volsd dis
operation. Remove the source subdisk after successful completion
of volsd mv.
-V Write a list of utilities that would be called from volsd, along with
the arguments that would be passed. The -V performs a ``mock run'' so
the utilities are not actually called.
-s size
Specify the size for the subdisk split operation. This option takes a
standard Logical Storage Manager length number (see volintro(8)).
-l offset
Specify the offset of a subdisk within a plex address space for the
volsd assoc operation. This option takes a standard Logical Storage
Manager length number (see volintro(8)).
-v volume
Require that a named plex be associated with this volume, or that a
named subdisk (source subdisk for volsd split, join, and mv) be
associated with a plex that is associated with this volume.
-p plex
Require that a named subdisk (source subdisk for volsd split, join, and
mv) be associated with this plex.
-f Force an operation that the Logical Storage Manager considers
potentially dangerous or of questionable use. This permits a limited
set of operations that would otherwise be disallowed. Some operations
may be disallowed even with this flag.
DESCRIPTION
The volsd utility performs Logical Storage Manager operations on subdisks
and on plex-and-subdisk combinations. The first operand is a keyword that
determines the specific operation to perform. The remaining operands
specify the configuration objects to which the operation is to be applied.
Each operation can be applied to only one disk group at a time, due to
internal implementation constraints. Any plex or subdisk name operands
will be used to determine a default disk group, according to the standard
disk group selection rules described in volintro(8). A specific disk group
can be selected with -g diskgroup.
These are the recognized operation keywords:
assoc
Associate each named subdisk operand with the specified plex. The
offset within the plex for the association can be specified with -l,
which takes a standard Logical Storage Manager length number (see
volintro(8)). If no offset is specified, then the default is to
associate the subdisk at the end of the plex, thus extending the length
of the plex by the length of the new subdisk.
A subdisk cannot be associated to overlap with an another associated
subdisk in the same plex. Subdisks associated with a striped plex must
all have the same length, and must be associated at offsets that are
integral multiples of the subdisk lengths. A striped plex associated
with a volume cannot be sparse: i.e., there can be no regions of blocks
in the plex that are not mapped to a subdisk.
If the named plex is associated with a volume, then the rules for
performing the operation depend upon the usage type of the volume. A
subdisk cannot be associated to a plex if the putil0 field for the
subdisk is not empty. Creating a subdisk with the putil0 field set to
a non-empty value is a sufficient means of ensuring that no Logical
Storage Manager operation will write to the region of disk blocks
allocated to the subdisk because the subdisk cannot be associated
through any means to a plex, and because subdisks cannot be used
directly to read from or write to a disk.
aslog
Associate the named subdisk with the named plex as a log area for the
plex. At most one log subdisk can be associated with a plex at any one
time. Log subdisks can be used only with the block change logging
feature, as defined by the BLKNO volume logging type. If the named
plex is associated with a volume, then the rules for performing the
operation depend upon the usage type of the volume. A subdisk cannot
be associated if the putil0 field is set on the subdisk, just as with
volsd assoc.
dis Dissociate each specified subdisk from the plex that it is associated
with. Subdisks cannot be dissociated from striped plexes. If a
subdisk is associated (through its plex) with a volume, then the rules
for performing the operation depend upon the usage type of the volume.
Subdisk dissociation can be used as part of tearing down a plex, or as
part of reorganization of disk space usage. Typically, the subdisk is
no longer needed after dissociation. To support this type of use, -o
rm can be specified to remove the named subdisks after successful
dissociation.
split
Split the subdisk subdisk into two subdisks that reside on the same
section of the same device, and that have contiguous plex associations
(if the named subdisk is associated). The first of the two resultant
subdisks will have a length of size, and the second will take up the
remainder of the space used by the original subdisk. If both newsd and
newsd2 are specified, then the resultant subdisks are newsd and newsd2.
If no newsd2 operand was specified, then the resultant subdisks are
named subdisk and newsd.
If the named subdisk is associated with an associated plex, then the
rules for performing the operation depend upon the usage type of the
volume. Log subdisks and subdisks associated with striped plexes
cannot be split.
join
Join the subdisks named by the sd operands to form a new subdisk named
newsd. The sd operands must specify subdisks that represent contiguous
sections of the same device, and of the same plex (if they are
associated). At least two sd operands are required. At the end of the
operation, the sd configuration objects are removed. The newsd operand
can have the same name as one of the sd operands, or it can have a
different name.
If the sd operands are associated with an associated plex, then the
rules for performing the operation depend upon the usage type of the
volume. Subdisks associated with a striped plex cannot be joined.
mv Move the contents of oldsd onto newsd and replace oldsd with newsd for
any associations. The operation requires that oldsd be associated with
an associated plex and that newsd be dissociated. The operation can be
used on a subdisk that is used by an active volume, and will ensure
that data is copied and associations are changed without loss or
corruption of data. Subdisks associated with striped plexes cannot be
moved. The rules for performing the operation depend upon the usage
type of the volume.
Moving a subdisk is the normal means of reorganizing disk space. For
example, move regions of disk used by one volume to another disk to
reduce contention on the original disk. Typically, once the operation
completes, the original subdisk is no longer needed and can be removed.
To support this use of the operation, -o rm can be specified to remove
oldsd after successful completion of the operation.
FSGEN AND GEN USAGE-TYPES
The fsgen and gen usage types provide identical semantics for all
operations of the volsd utility.
If a volsd operation is interrupted by a signal, then an attempt is made to
restore the disk group configuration to a state that is roughly equivalent
to its original state. If this attempt is interrupted, such as through
another signal, then the user may need to perform some cleanup. The
specific cleanup actions that are needed are written to the standard error
before volsd exits.
In addition to the standard -o options required for all usage types, the
fsgen and gen usage types provide the following additional option:
force
Force an operation that the Logical Storage Manager considers
potentially dangerous or of questionable use. This applies to attempts
to dissociate subdisks (making a plex sparse) and to attempts to move
subdisks onto subdisks that have a different size. This flag is the
same as -f.
Limitations and extensions for the fsgen and gen usage types consist of the
following:
assoc If the named plex is enabled, and is associated with an enabled
plex, then the named plex must ACTIVE or EMPTY. Subdisks can be
associated with a non-enabled plex only if the utility state of the
plex is EMPTY, STALE, or OFFLINE, or if the plex is CLEAN and no
other plexes associated with the volume are CLEAN or ACTIVE.
If the subdisk is associated with a non-enabled plex, or if it is
associated with the only enabled, read-write plex in a volume, then
the operation completes without copying any data onto the subdisk.
If the subdisk is associated with an enabled plex in a mirrored
volume, then the operation may have to copy data from the volume
onto the new subdisk before the operation can complete.
aslog If a log subdisk is associated with a plex that is associated with
a volume that has a logging type of UNDEF, then the logging type of
the volume is converted to BLKNO. Logging of volume changes is not
enabled until two or more attached plexes have associated log
subdisks.
dis Dissociating a subdisk requires use of -f if it would cause an
enabled plex in an enabled volume to become sparse relative to the
volume. Even with -f, it is not possible to make two plexes sparse
if no complete, enabled, read-write plexes would remain associated.
For disabled volumes, a similar check is made with respect to
ACTIVE and CLEAN plexes.
split and join
The fsgen and gen usage types apply no additional restrictions and
add no extensions to the split and join operations.
mv If the size of the destination subdisk differs from that of the
source subdisk, then the -f option must be specified. The
operation still fails if the destination subdisk is larger than the
source subdisk and if the address range of the destination would
conflict with another subdisk that is associated with the plex.
The destination subdisk cannot be larger than the source subdisk if
the kernel state of the volume or plex is detached.
The operation fails if the destination subdisk is smaller than the
source subdisk and the operation would cause the total number of
complete, enabled, read-mode plexes in the volume to drop to zero,
while leaving more than one sparse, enabled, read-write plex.
EXIT CODES
The volsd utility exits with a nonzero status if the attempted operation
fails. A nonzero exit code is not a complete indicator of the problems
encountered, but rather denotes the first condition that prevented further
execution of the utility. See volintro(8) for a list of standard exit
codes.
FILES
/etc/vol/type/usetype/volplex
The utility that performs volmend operations for a particular volume
usage type.
SEE ALSO
volintro(8), volplex(8), volsd(8), volume(8)