Content-type: text/html
Man page of volsd
volsd
Section: Maintenance Commands (8)
Index
Return to Main Contents
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:
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.
Limit the operation to apply to this usage type. Attempts
to affect volumes with a different usage type will fail.
Pass in usage-type-specific options to the operation. A certain
set of operations are expected to be implemented by all usage types:
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).
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.
Remove the subdisks after successful completion of a
volsd dis
operation. Remove the source subdisk after successful
completion of
volsd mv.
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.
Specify the size for the subdisk
split
operation. This option takes a standard Logical Storage Manager length number
(see
volintro(8)).
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)).
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.
Require that a named subdisk (source subdisk for
volsd split,
join, and
mv)
be associated with this plex.
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:
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.
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.
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 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 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.
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 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:
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.
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.
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.
The
fsgen
and
gen
usage
types apply no additional restrictions and add no extensions to the
split
and
join
operations.
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
The utility that performs
volmend
operations
for a particular volume usage type.
SEE ALSO
volintro(8),
volplex(8),
volsd(8),
volume(8)
Index
- NAME
-
- SYNOPSIS
-
- OPTIONS
-
- DESCRIPTION
-
- FSGEN AND GEN USAGE-TYPES
-
- EXIT CODES
-
- FILES
-
- SEE ALSO
-
This document was created by
man2html,
using the manual pages.
Time: 02:40:33 GMT, October 02, 2010