vxvol(1M) VxVM 3.5 vxvol(1M)
1 Jun 2002
NAME [Toc] [Back]
vxvol - perform VERITAS Volume Manager operations on volumes
SYNOPSIS [Toc] [Back]
vxvol [-fqV] [-g diskgroup ] [-r rvg] aslog rvg volume
vxvol [-fqV] [-g diskgroup ] [-m] [-r rvg] assoc rvg volume
[primary_datavol]
vxvol [-fqV] [-g diskgroup ] dis volume
vxvol [-fqV] [-g diskgroup ] [-U usetype] [-o useopt] [-R
request_portal] [-t tasktag] [-T taskid] init init_type volume [arg
...]
vxvol [-fqV] [-g diskgroup ] [-U usetype] [-o useopt] [-R
request_portal] [-t tasktag] [-T taskid] maint volume ...
vxvol [-fqV] [-g diskgroup ] [-U usetype] [-o useopt] [-R
request_portal] [-t tasktag] [-T taskid] noderecover volume ...
vxvol [-fqV] [-g diskgroup ] [-U usetype] [-o useopt] [-R
request_portal] [-t tasktag] [-T taskid] rdpol policy volume [plex]
vxvol [-fqV] [-g diskgroup ] [-U usetype] [-o useopt] recover volume
[subdisk] ...
vxvol [-fqV] [-g diskgroup ] [-U usetype] [-o useopt] [-R
request_portal] [-t tasktag] [-T taskid] resync volume ...
vxvol [-fqV] [-g diskgroup] [-U usetype] [-o useopt] [-R
request_portal] [-t tasktag] [-T taskid] set attribute=value ... [ -- ]
volume ...
vxvol [-fqV] [-g diskgroup ] [-U usetype] [-o useopt] [-R
request_portal] [-t tasktag] [-T taskid] start volume ...
vxvol [-fqV] [-g diskgroup ] [-U usetype] [-o useopt] [-R
request_portal] [-t tasktag] [-T taskid] startall
vxvol [-fqV] [-g diskgroup ] [-U usetype] [-o useopt] [-R
request_portal] [-t tasktag] [-T taskid] stop volume ...
vxvol [-fqV] [-g diskgroup ] [-U usetype] [-o useopt] [-R
request_portal] [-t tasktag] [-T taskid] stopall
DESCRIPTION [Toc] [Back]
The vxvol utility performs VERITAS Volume Manager (VxVM) operations on
volumes. The first operand is a keyword that determines the specific
operation to perform. The remaining operands specify configuration
records to which the operation is to be applied.
- 1 - Formatted: January 24, 2005
vxvol(1M) VxVM 3.5 vxvol(1M)
1 Jun 2002
Each operation can be applied to only one disk group at a time. Any
volume operands will be used to determine a default disk group,
according to the standard disk group selection rules described in
vxintro(1M). A specific disk group can be selected with -g diskgroup.
KEYWORDS [Toc] [Back]
aslog (VVR only) Associates the named volume with the specified
rvg as the VERITAS Volume Replicator log volume. The volume
must have a usage-type of gen or fsgen, and cannot have a
DRL associated with it.
assoc (VVR only) Associates the named volume with the specified
rvg as a data volume. The volume must have a usage-type of
gen or fsgen, and cannot have a DRL associated with it.
dis (VVR only) Dissociates the named volume from its associated
rvg.
init Performs an initialization action on a volume. This can be
applied to volumes that were created by vxmake and that have
not yet been initialized, or volumes that have been set to
the uninitialized state with vxmend fix empty. The action
to perform is specified by the init_type operand, which is
usage-type-dependent. The volume operand determines which
usage type to use for performing the operation.
maint Detaches each volume named by the volume operands. When a
volume is detached, normal read and write operations to the
volume fail, although most volume ioctl operations can still
be used.
noderecover
When a node in a cluster aborts or crashes, it is not
allowed to rejoin the cluster until the active logs of the
volumes affected by the crash are recovered. The
noderecover operation examines all volumes named by the
volume operands and recovers the active log maps
corresponding to the crashed nodes, but does not initiate
mirror resynchronization. Mirrors are subsequently
resynchronized by a vxvol -o force resync volume... command.
This operation is currently applicable only to the volumes
with DRL logs and is relevant only in clustered systems.
oem Not used in this release.
rdpol Sets the read policy for a volume based on the policy
operand. These are the recognized read policies:
prefer Reads preferentially from the plex named by the
plex operand. If the plex is enabled, readable,
- 2 - Formatted: January 24, 2005
vxvol(1M) VxVM 3.5 vxvol(1M)
1 Jun 2002
and associated with the volume, then any read
operation on the volume results in a read from
that plex if all blocks requested in the read are
contained in the plex. The plex operand is
required for the prefer read-policy type.
round Uses a round-robin read order among the enabled,
readable plexes associated with the volume. No
plex operand should be specified for the round
read-policy type.
select Selects a default policy based on plex
associations to the volume. For a volume that
contains one enabled, striped plex, the default is
to prefer that plex. For any other set of plex
associations, the default is to use a round-robin
policy. No plex operand should be specified for
the select read-policy type.
recover Some usage types support the concept of recovery of data for
objects within a volume different from the mirror
resynchronization model. The recover operation is used to
specify this type of recovery. The exact procedure for this
operation is usage type specific.
resync Examines all volumes named by the volume operands and
perform any synchronization operations that are required.
The exact procedure for this operation is usage-type
specific.
set Changes specific volume characteristics. The changes to be
made are given by arguments immediately after the set
keyword of the form attribute=value. The set of volumes
affected by the operation are given after these operands;
thus the attribute list ends with an operand that does not
contain an equal sign. To allow for volume names that
contain an equal sign, an operand of -- can be used to
terminate the attribute list. Each usage type represented
by the list of volume operands is called once, with the set
of all volumes with that usage type.
The set of attribute=value attribute arguments that are
recognized depends upon the volume usage type (see the
sections on usage types later in this manual page for
information on available attributes). However, an attribute
argument of the form len=number is expected to be
interpreted (if at all) as requesting a change in the length
of a volume, regardless of the volume's usage type. The
number value is interpreted as a standard length number (see
vxintro(1M)).
- 3 - Formatted: January 24, 2005
vxvol(1M) VxVM 3.5 vxvol(1M)
1 Jun 2002
start Enables disabled or detached volumes named by the volume
operands. The process of enabling a volume is a highly
usage-type-dependent operation and may result in transfers
of data between plexes associated with the volume.
If the start operation is applied to an uninitialized volume
(for example, a volume just created by vxmake), a default
initialization will be used to initialize and enable the
volume.
If the volume is not normally started because failures and
disk removals have left all associated plexes with invalid
data, the -f option can be used to try to start the volume,
anyway. This can be used after replacing disks to enable
the volume so that its contents can be restored from backup
or reinitialized.
startall Attempts to start all volumes that are disabled. If a -U
usetype option is specified, then attempt to start all
disabled volumes with the indicated usage type. This
operation will not start uninitialized volumes. By default,
start all volumes in the rootdg disk group. A different
disk group can be specified with the -g option.
stop Disables the enabled or detached volumes named by the volume
operands.
The stop operation provides an interface to the usage type
of a volume for shutting down operations on a volume in a
clean manner. The specific method for cleanly stopping a
volume, and the precise meaning of ``clean'' are both highly
usage-type-dependent. By convention, -f can be used to
force stopping of a volume that is in use, forcing I/O
failures to be returned for any further volume device
operations.
stopall Attempts to stop all volumes that are enabled. If a -o
usetype option is specified, then attempt to stop all
disabled volumes with the indicated usage type. By default,
stop all volumes in the rootdg disk group. A different disk
group can be specified with the -g option.
OPTIONS [Toc] [Back]
-f Forces an operation in some situations where the operation
has questionable semantics. For example, -f may be used to
reduce the length of a volume with vxvol set, to stop a
volume that is currently open or mounted as a file system,
or to attempt to start a volume that has no plexes with
valid data.
- 4 - Formatted: January 24, 2005
vxvol(1M) VxVM 3.5 vxvol(1M)
1 Jun 2002
-g diskgroup
Specifies the disk group for the operation. The disk group
can be specified either by name or by disk group ID. See
vxdg(1M) for more information on disk groups.
-m (VVR only) Maps the data volume to the rvg on the secondary.
This is used in the case that the name of the secondary data
volume is not the same as that of the corresponding primary
data volume. The argument primary_datavol specifies the
name of the data volume on the primary.
Note: The mapping is only necessary and is only maintained
on the secondary. The primary does not know or care what
names the secondary is using for its data volumes.
The current mapping for a secondary volume is given by the
primary_datavol field in the long listing of the secondary
volume (vxprint -l). If this field is not listed, then
global naming is in effect for that data volume, which means
that the secondary is using the same name as the primary.
The primary_datavol field can also be set for a secondary
data volume with vxedit(1M).
-o useopt Passes in usage-type-specific options to the operation. By
convention, the following usage-type-specific options should
be implemented by all usage types:
bg Performs any extended revive operations in
background processes after the volume and one or
more plexes have been enabled. A volume that is
started or whose length is changed successfully
with this option will be usable immediately after
the operation completes, although recovery
operations may affect performance of the volume
for an extended period of time.
delayrecover
Does not perform any plex revive operations when
starting a volume. Instead, the volume and any
plexes are enabled. This may leave some stale
plexes, and may leave a mirrored volume in a
special read-writeback (NEEDSYNC) recover state
that performs limited plex recovery for each read
to the volume.
iosize=size
Performs recovery operations in regions with the
length specified by size, which is a standard
VERITAS Volume Manager length number (see
vxintro(1M)). Specifying a larger number typically
causes the operation to complete sooner, but with
- 5 - Formatted: January 24, 2005
vxvol(1M) VxVM 3.5 vxvol(1M)
1 Jun 2002
greater impact on other processes using the
volume. The default I/O size is typically 32
kilobytes.
plexfork[=count]
Performs up to count plex revive operations
simultaneously. If no count is specified, then a
suitable small number is used (usually 10).
slow[=iodelay]
Reduces the system performance impact of plex
recovery operations and volume length changes.
Startup recovery and length change consistency
operations are usually a set of short operations
on small regions of the volume (normally from 16K
bytes to 128K bytes). 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 else a default is
chosen (normally 250 milliseconds).
verbose Prints a message for each volume that is
successfully started. Without this option,
messages appear only for volumes that fail to
start.
-r rvg (VVR only) Specifies an alternative replicated volume for
use as a data or log volume. This option is only used with
the assoc and aslog operations.
-q Waits for the volume daemon if it is not running or
available for transactions. If -q is not specified, vxvol
aborts if the volume daemon is not available.
-R request_portal
Specifies a rendezvous file path name for regular
configuration and query requests. /etc/vx/vold_request is
the default.
-t tasktag
If any tasks are registered to track the progress of the
operation, mark them with the tag tasktag. The tag
specified by tasktag is a sequence of up to 16 alphanumeric
characters.
-T taskid Associates new tasks with the specified parent task ID.
-U usetype
Forces the operation to be performed by the usage-type
utility for this usage type.
- 6 - Formatted: January 24, 2005
vxvol(1M) VxVM 3.5 vxvol(1M)
1 Jun 2002
-V Displays a list of utilities that would be called from
vxvol, along with the arguments that would be passed. The
-V option performs a preview run so the utilities are not
actually called, and no changes are made to the volume
configuration database.
FSGEN and GEN Usage Types [Toc] [Back]
The fsgen and gen usage types provide the same semantics for all
operations of the vxvol utility. However, some options are provided
only by the gen usage type.
In addition to the standard -o options required for all usage types,
the fsgen and gen usage types provide the following additional
options:
force Forces an operation that is not normally performed as part
of the operational model of VxVM and may have adverse
effects on data. This is the same as -f.
norecov Prevents the start operation from recovering plexes through
the vxplex utility. Instead, all STALE and ACTIVE plexes
are simply treated as equivalent to CLEAN plexes, and are
thus enabled without being made consistent. This can be
used for volumes whose contents are recreated for each use.
Note: This option can only be used with the gen usage type.
An example of a possible use for this attribute is a swap
area and the /tmp file system. In the case of /tmp, the
model assumes that mkfs is used to create an empty file
system after the volume has been started.
Limitations and extensions for the fsgen and gen usage types consist
of the following:
init These are the recognized uses of the vxvol init operation:
vxvol init active volume
Sets the state for all plexes associated with
volume to ACTIVE and enables the volume and its
plexes. This is used to initialize a single or
multiple-plex volume where all plexes are known to
have identical contents.
vxvol init clean volume [plex]
Sets the state for the specified plex to CLEAN,
and sets all other plexes to STALE. The vxvol
start operation can then be used to recover the
volume from the CLEAN plex. This operation
requires that the volume not be enabled.
- 7 - Formatted: January 24, 2005
vxvol(1M) VxVM 3.5 vxvol(1M)
1 Jun 2002
If the specified volume has only one plex, then
the plex argument is not required as it defaults
to that plex. If specified, then the plex
argument must represent a plex that is associated
with the volume.
vxvol init enable volume
Enables the volume and its plexes but leaves the
volume uninitialized. This operation can be used
only for non-enabled volumes. It is used to
temporarily enable a volume so that data can be
loaded onto it to make it consistent. Once the
data has been loaded, init active should be used
to fully enable the volume. init active could be
used, for example, if a complete image of the
volume is to be loaded from a tape.
vxvol init zero volume
Writes zero blocks to all plexes in the volume, up
to the length of the volume. After the writes
complete, the state of each plex is set to ACTIVE
and the volume and its plexes are enabled. init
zero volume could be used, for example, before
running mkfs to put a file system on the volume.
If this operation is interrupted by a signal, then
an attempt is made to restore all affected records
to their original state, or to a state that is
roughly equivalent to their original state. If
this attempt is interrupted, such as through
another signal, then the user many need to perform
some cleanup. A set of commands to perform this
cleanup are written to the standard error before
the volume utility exits.
maint The -f option is required to detach an enabled volume.
Also, a warning is written to the standard error for volumes
that are open or mounted.
resync Volumes that have possibly differing plex contents are
resynchronized to contain consistent data. Any such volumes
that are in the NEEDSYNC state will be recovered using a
read/write-back recovery mode and then put into the ACTIVE
state.
Plexes in the SYNC state may already be under recovery and
the volume command will take no action to recover them
unless the command was invoked with the -o force option.
set The attributes that can be changed are:
- 8 - Formatted: January 24, 2005
vxvol(1M) VxVM 3.5 vxvol(1M)
1 Jun 2002
exclusive=yes|y|on|true|no|n|off|false
Sets or clears the EXCLUSIVE flag on the volume.
A volume in exclusive open state can be opened by
only one node in the cluster at a time. Multiple
opens of an exclusive volume from the same node
are permitted. Non-exclusive volumes can be
simultaneously opened by more than one node.
After a node opens an exclusive volume, every
other node's open attempt fails until the last
close of the volume by the first opener. Such an
open failure returns a EBUSY error code.
Available only if the VERITAS Volume Manager
cluster feature is enabled.
fastresync=yes|y|on|true|no|n|off|false
Enables or disables the FastResync (previously
known as Fast Mirror Resynchronization) feature.
If enabled, FastResync is non-persistent if no DCO
object or DCO volume are associated with a volume.
By default, Persistent FastResync is enabled on a
volume when a DCO object and DCO volume are
created.
Note: A license is necessary to use the FastResync
feature.
fmr=yes|y|on|true|no|n|off|false
Identical to fastresync.
len=number
Changes the length of each volume specified by the
volume operands to number sectors. number is a
standard VERITAS Volume Manager length number (see
vxintro(1M)). Decreasing the length of a volume
requires use of -f.
If the volume is enabled, the number of enabled,
read-write plexes that would remain complete after
the length change is calculated. The operation
fails if this number would become zero, but the
number of sparse plexes would become greater than
1. Changing the length of a volume with one
enabled plex beyond the length of the plex
requires use of the -f option.
If the volume is not enabled, the number of CLEAN
and ACTIVE plexes that would remain complete after
the length change is calculated. The operation
fails if this number would become zero, but the
number of sparse plexes would become greater than
1. Changing the length of a volume with one
- 9 - Formatted: January 24, 2005
vxvol(1M) VxVM 3.5 vxvol(1M)
1 Jun 2002
enabled plex beyond the length of the plex
requires use of the -f option.
To ensure that the new region of the volume is
consistent across all plexes of the volume, the
volume is put into a SYNC state and read/writeback
mode, and a read loop is then performed
against the volume. Once this loop has completed,
the volume is put back into the ACTIVE state.
loglen=size
Sets the size for logs used with the volume. The
size value is a standard VERITAS Volume Manager
length numbers (see vxintro(1M)).
logtype=type
Sets the type of logging to be used on the volume.
This change can be applied only to volumes that
are stopped and that have no ACTIVE plexes.
Allowed log types are:
dcm (VVR only) Used by VVR for srl overflow
protection and autosync.
drl (Dirty region logging or DRL) Logs the
regions involved in all mirrored or RAID-5
volume writes.
drlseq
(Sequential DRL) Identical to drl except that
the number of dirty bits that can be set in
the DRL is limited to the value of the
tunable voldrl_max_seq_dirty (default value
is 3). This is useful on volumes that are
usually written to sequentially, such as
database log volumes. Limiting the number of
dirty regions allows for faster recovery if a
crash occurs. However, if applied to volumes
that are written to randomly, this type of
logging can be a performance bottleneck as it
limits the number of parallel writes that can
be carried out.
none Turns off logging.
undef
Turns off logging until a vxsd aslog or
vxplex att operation changes it to drl. See
the fsgen and gen sections of vxsd(1M) and
vxplex(1M) for more information.
- 10 - Formatted: January 24, 2005
vxvol(1M) VxVM 3.5 vxvol(1M)
1 Jun 2002
startopts=volume_options
Sets options that are applied to the volume every
time the volume is started, independently of
options specified with the volume start command.
This is a set of comma-separated options of the
same form used with the -o option letter. At the
present time, only the noattach and verbose
options can be applied to volumes in this manner.
Unrecognized or inappropriate options are ignored.
start Starting an uninitialized gen or fsgen volume enables the
volume and its plexes, sets the plexes to the ACTIVE state,
and recovers the plexes to ensure that each plex has the
same contents. If the volume has only one plex, then the
volume is immediately set to the ACTIVE state; otherwise,
the volume is set to the SYNC state and a special
read/write-back mode is set to recover regions of the volume
on every read operation. The volume is then read from
beginning to end to make all plexes consistent, then the
volume is set to the ACTIVE state.
Starting a volume with no active dirty region logging
involves enabling all CLEAN and ACTIVE plexes and putting
them in the ACTIVE state. If an I/O failure was logged
against the plex, or if a disk replacement caused a plex to
become stale, then the plex is considered STALE. If any of
the subdisks for the plex reside on a removed or
inaccessible disk, then the plex is ignored for the purposes
of starting the volume.
If two or more plexes were enabled, and if the volume was
active at the time the system went down, then the state for
the volume is set to SYNC and a special read/write-back
recovery mode is used to recover consistency of the volume,
segment-by-segment, on every read. A process is then
started (in the background with the -o bg option) to recover
consistency for the entire length of the volume.
If any plexes were considered STALE, then those plexes are
attached by calling vxplex att. The number of concurrent
plex attach operations are limited based on the rules for
-o plexfork.
Recovery of plexes with a dirty region log uses the same
rules as for volumes without a valid dirty region log,
except that recovery of non-stale plexes is done by scanning
the contents of the dirty region log and recovering
consistency for those regions listed in the log as requiring
recovery.
- 11 - Formatted: January 24, 2005
vxvol(1M) VxVM 3.5 vxvol(1M)
1 Jun 2002
In addition to enabling the volume and managing the recovery
of plex consistency, starting a volume clears any transient
operations that were being applied to a volume before the
system was rebooted. Starting a volume dissociates and
removes temporary plexes or subdisks, and dissociates plexes
that were being attached if the attach operation did not
complete. Snapshot plexes created by vxassist are also
removed.
If the volume is unstartable because there are no valid,
non-stale plexes and the -f flag is then specified, all
STALE plexes that do not contain unusable subdisks (subdisks
on failed or removed disks) will be changed to ACTIVE. The
volume will then be started and synchronized from those
plexes.
stop Stopping an fsgen or gen volume disables the volume and its
associated plexes. In addition, the utility state for each
ACTIVE plex is changed as follows:
+ If the plex is detached or disabled, set the state for
the plex to STALE. If all plexes are set to STALE, then
the volume cannot be started until vxmend is used to
change the state of one or more plexes to CLEAN or
ACTIVE. A plex normally becomes detached as a result of
an I/O error on the plex, or a disk failure or
replacement. I/O failures will not normally detach the
last remaining enabled plex in a volume, so disk removal
operations are the only normal operational method of
making a volume unstartable.
+ If the plex is volatile, that is, one of the subdisks in
the plex is defined on a disk with the volatile attribute
(see vxdisk(1M)), then set the plex state to STALE.
+ If the volume is enabled and the plex is also enabled,
then set the plex state to CLEAN.
+ If the volume is detached and the plex is enabled, then
the plex state is left as ACTIVE. A volume can be left
detached, with remaining valid plexes, only as a result
of calling vxvol maint to detach an enabled volume.
Normally, the stop operation fails if any extended
operations are using the volume or any of its associated
plexes. Such operations are detected as a nonempty value
for the tutil0 field in a volume or plex record. If the -f
option is specified, then the stop operation ignores volume
and plex tutil0 fields.
- 12 - Formatted: January 24, 2005
vxvol(1M) VxVM 3.5 vxvol(1M)
1 Jun 2002
The -f option must also be given to force the stopping of a
volume that is open or mounted as a file system. In this
case, a warning message is still written to the standard
error, but the stop operation is not otherwise affected.
Stopping an open or mounted volume is not normally
advisable.
RAID-5 Usage Type [Toc] [Back]
In addition to the standard -o options required for all usage types,
the raid5 usage type provides the following options:
checkpt=size
Sets the checkpoint size for a volume. A complete
resynchronization of a volume via VOL_R5_RESYNC ioctls can
take an extended amount of time. It is conceivable in some
circumstances that the operation could be stopped before it
complete (such as by a system crash). To avoid having to
restart the synchronization from the beginning of the volume
(after a certain amount of the volume has been
synchronized), a transaction is issued to record the offset
to which the resynchronization has completed. This size is
called the checkpoint length and can be set using the
checkpt option. The default checkpoint length is 64
megabytes.
delayrecover
Prevents the start operation from undergoing some recovery
operations. RAID-5 logs, if any are valid, will still be
replayed; however, no parity resynchronizations or subdisk
recoveries will be performed.
force Forces an operation that is not normally performed as part
of the operational model of VxVM. It may have adverse
effects on the data contained by the volume. This is the
same as -f.
syncstartok
Allows the delayrecover option to be ignored if the volume
must undergo parity resynchronizations or subdisk recoveries
before the volume can be enabled.
unsafe Allows access to certain volumes earlier in the starting
process than is normally allowed by the operating process of
RAID-5 volumes. This can have adverse effects on the data,
and can also result in the RAID-5 volume becoming unusable
after a system crash or a power failure.
Limitations and extensions for the raid5 usage type consist of the
following:
- 13 - Formatted: January 24, 2005
vxvol(1M) VxVM 3.5 vxvol(1M)
1 Jun 2002
init The raid5 usage type recognizes the following uses of the
init operation:
vxvol init active volume
Zeros the RAID-5 log plexes, if any, and make the
volume available for use. The parity in the volume
is marked as stale, though no parity
resynchronization is performed; the volume is left
with a state of NEEDSYNC.
vxvol init zero volume
Writes zeros to the RAID-5 log plexes, if any, and
write zeros to the entire length of the volume.
This is achieved by issuing the VOL_R5_ZERO ioctl
for the entire altitude of the volume. The volume
is left in the ACTIVE state.
recover The raid5 usage type supports the following invocations of
the recover operation:
recover [subdisk ...]
Initiates a recovery of subdisks containing
invalid data. If subdisks are specified and are
stale, they are recovered in the order specified.
This is done by setting the stale and write-only
flags on the subdisks and issuing VOL_R5_RECOVER
ioctls to regenerate the data. After a successful
recovery, the subdisk is marked as non-stale and
read-write.
If no subdisk arguments are specified, the
subdisks of the RAID-5 plex of the volume are
checked to see if they are stale or have invalid
contents. If any are found, they are recovered as
described above.
resync Examines the named volumes to see if they are enabled and if
the parity in any part of a volume is stale; this is
normally indicated by a volume state of NEEDSYNC. If so, the
volume is placed in the SYNC state and VOL_R5_RESYNC ioctls
are issued to resynchronize the parity in those regions.
Upon completion, the volume is placed in the ACTIVE state.
set The attributes that can be set for raid5 volumes are:
len=number
Changes the length of the volumes specified to be
number sectors. number is a standard VERITAS
Volume Manager length specification (see
vxintro(1M)). Decreasing the length of a volume
requires -f.
- 14 - Formatted: January 24, 2005
vxvol(1M) VxVM 3.5 vxvol(1M)
1 Jun 2002
The volume length cannot be increased such that
the RAID-5 plex is sparse in respect to the new
volume length; this would make the volume
unusable.
In order to assure that the new region of the
volume is consistent, the new region of the volume
(from the old length to the new length) is filled
with zeros by issuing VOL_R5_ZERO ioctls before
the length is reset.
loglen=size
Sets the size of the RAID-5 log for the volume.
This cannot be set if the volume has no logs. If
the length is being increased, the operation will
not be allowed if it would cause any of the RAID-5
log plexes to become sparse in respect to the new
length.
startopts=volume_options
Sets options that are applied to the volume every
time the volume is started, independently of
options specified with the volume start command.
This is a set of comma-separated options of the
same form used with the -o option letter.
Unrecognized or inappropriate options are ignored.
start Starting an uninitialized volume (one with a state of EMPTY)
zeros any RAID-5 log plexes and then resynchronizes the
parity of the volume by issuing VOL_R5_RESYNC ioctls. All
subdisks are marked as non-stale and read-write. The volume
and RAID-5 plex are then enabled and marked as ACTIVE, and
all valid RAID-5 log plexes are marked as LOG. If any RAID-5
log plex proves to be invalid (such as having its NODAREC
flag set) its state is set to BADLOG.
Starting a volume that has been shut down cleanly or is not
marked as dirty enables the RAID-5 plex and RAID-5 log
plexes, and sets the volume kernel state to detached to zero
the RAID-5 log plexes for the volume, if any. Once this is
completed, all valid RAID-5 log plexes are set to LOG and
the volume is enabled and put in the ACTIVE state.
Starting a volume that was not shut down cleanly requires
that the parity be resynchronized. If the volume has valid
RAID-5 log plexes, the volume is first detached and has its
state set to REPLAY, and all log plexes and the RAID-5 plex
are enabled. If there are any valid RAID-5 log plexes, their
contents are read and their data is written to the
appropriate regions of the RAID-5 plex. If reading the
RAID-5 logs fails, the logs are marked as invalid and the
- 15 - Formatted: January 24, 2005
vxvol(1M) VxVM 3.5 vxvol(1M)
1 Jun 2002
parity is resynchronized as if there were no logs. Once the
replay is complete, the RAID-5 logs are enabled and the
volume is enabled and its state is set to ACTIVE.
If the volume needs resynchronization and no valid log
plexes exist, the parity must be fully resynchronized. The
volume is enabled and its state is set to RESYNC, and the
RAID-5 plex is enabled. If usable RAID-5 plexes are
available, but contain invalid data, they are zeroed. The
parity is then resynchronized by issuing VOL_R5_RESYNC
ioctls for the entire length of the volume. Once this is
completed, the volume's state is set to ACTIVE. Any usable
RAID-5 logs are enabled and set to the LOG state.
If a volume requires full resynchronization (that is, has no
usable logs) and the RAID-5 plex has stale or unusable
subdisks, the volume is unusable and the start operation
will fail. This can be overridden by using the -f flag or
the -o force option. In this case, any stale subdisks are
marked as non-stale and a full resynchronization is
performed; however, this may result in some invalid data
being introduced into the volume. If multiple subdisks at
the same altitude in the RAID-5 plex are unusable (such as
because they have their NODEVICE flag set), the volume is
unusable and cannot be overridden.
Once any parity resynchronization has been completed, any
subdisks still marked as stale are recovered. This is done
by marking the subdisk as stale and write-only and issuing
VOL_R5_RECOVER ioctls to regenerate the data on the stale
subdisks. The subdisk is then marked as non-stale and readwrite.
If the -o delayrecover option is specified, the only
recoveries that will be performed are log replays. If the
volume requires a parity resynchronization, it is enabled
and left in the NEEDSYNC operation, and its parity is marked
as stale. Any subdisk recoveries that are needed are not
performed, and the stale subdisks are marked as stale.
Normally, if a volume has no RAID-5 logs, it will not be
enabled with a stale subdisk or an unusable subdisk because
were the system to crash or a power failure occurred while
the volume was is in use, the parity could become stale and
the volume would be unusable. This behavior can be
overridden by specifying the -o unsafe option, which will
cause the volume to be enabled during the above situations.
As the name suggests, this is considered unsafe because
doing so could cause data loss.
- 16 - Formatted: January 24, 2005
vxvol(1M) VxVM 3.5 vxvol(1M)
1 Jun 2002
If only the -o delayrecover option is specified to start a
volume with a stale subdisk or an unusable subdisk, the
start operation will fail. In this case, the delayrecover
option can be ignored by also specifying the -o syncstartok
option.
stop Stopping a raid5 volume disables the volume and its
associated plexes. If the volume is in the SYNC state, it is
changed to the NEEDSYNC state so that recovery will be
performed at the next start. Any invalid or detached RAID-5
logs are set to the BADLOG state so that they will not be
used during the next start.
Normally, the stop operation will fail if any extended
operations are using the volume or any of its plexes. Such
operations are detected as a non-empty value for the tutil0
field in a volume or plex record. If the -f option is
specified, then the stop operation ignores volume and plex
tutil0 fields.
FILES [Toc] [Back]
/usr/lib/vxvm/type/usetype/vxvol
The utility that performs volume
operations for a particular volume usage
type.
/dev/vx/dsk/group/volume The device node that can be used for
mounting a file system created on the
volume named volume in the disk group
named group. Volumes in group rootdg
are also directly under the /dev/vx/dsk
directory.
/dev/vx/rdsk/group/volume The device node that can be used for
issuing raw I/O requests and also for
issuing ioctl requests to the volume
named volume in disk group named group.
Volumes in group rootdg are also
directly under the /dev/vx/rdsk
directory.
EXIT CODES [Toc] [Back]
The vxvol utility exits with a non-zero status if the attempted
operation fails. A non-zero 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 vxintro(1M) for a list of standard exit codes.
SEE ALSO [Toc] [Back]
vxassist(1M), vxdg(1M), vxinfo(1M), vxintro(1M), vxmend(1M),
- 17 - Formatted: January 24, 2005
vxvol(1M) VxVM 3.5 vxvol(1M)
1 Jun 2002
vxplex(1M), vxrecover(1M)
- 18 - Formatted: January 24, 2005 [ Back ] |