vxmend(ADM)
vxmend - mend simple problems in configuration records
Synopsis
vxmend [ -g diskgroup ] [ -U usetype ] [ -o useopt ] [ -Vfrvps ] clear field name ...
vxmend [ -g diskgroup ] [ -U usetype ] [ -o useopt ] [ -Vfrvp ] fix how name [ arg ... ]
vxmend [ -g diskgroup ] [ -U usetype ] [ -o useopt ] [ -Vfrvp ] off name ...
vxmend [ -g diskgroup ] [ -U usetype ] [ -o useopt ] [ -Vfrvp ] on name ...
Description
The vxmend utility performs various Volume Manager usage-type-specific operations on subdisk, plex, and volume records. 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 applied.
Each invocation can be applied to only one disk group at a time, due to
internal implementation constraints. Any name operands will
be used as record names to determine a default disk group, according to
the standard disk group selection rules described in
vxintro(ADM).
A specific disk group can be forced with
-g diskgroup.
These are the recognized operation keywords:
- clear
- Clear specified utility fields for each named record in the disk group. An option of -v, -p, or -s
specifies that the utility operates only on volumes, plexes, or subdisks, respectively. If a
record is a volume, or is associated directly or indirectly with a volume, then the clear
operation is performed according to rules used by the usage type appropriate for that
volume.
- The field operand is a comma-separated list of keywords specifying fields to be cleared. Each
keyword in the field operand is one of the following:
- all
- Clear all clearable utility fields. Normally, this clears all of the persistent and non-
persistent utility fields. A usage-type utility may choose a different set of fields,
as appropriate.
- putil
- Clear all persistent utility fields.
- tutil
- Clear all non-persistent (temporary) utility fields.
- putil0, putil1, or putil2
- Clear a specific persistent utility field.
- tutil0, tutil1, or tutil2
- Clear a specific non-persistent utility field.
- Usage types may implement additional field keywords. A usage type may also limit the set of clear
operations that can be performed.
- fix
- Change the state of a volume or plex, named by the name operand, in a manner specified by the how
string. The meaning of this operation is entirely usage-type specific. This operation
applies only to volumes, or to plexes associated with a volume. Usage type rules
appropriate for the volume are used to interpret the command. Additional arguments, after
name, are interpreted according to rules defined by the usage type.
- off
- Put the named plexes or volumes into an offline state. This operation can be applied only to
volumes, or to plexes associated with a volume. Usage type rules appropriate for the
volume are used to perform the operation.
- on
- Take the named plexes or volumes out of the offline state. This operation can be applied only to
volumes, or to plexes associated with a volume. Usage type rules appropriate for the
volume are used to perform the operation.
Options
- -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 the specified usage type. Attempts to affect volumes with a different
usage type will fail.
- -o useopt
- Pass in usage-type-specific options to the operation.
- -V
- Display a list of utilities that would be called from vxmend, along with the arguments that would
be passed. The -V performs a ``mock run'' so the utilities are not actually called.
- -f
- Force an operation that the Volume Manager considers potentially dangerous or unnecessary. This
enables a limited set of additional operations that would normally not be allowed. Some
operations may be disallowed even with this flag.
- -r
- Operate recursively on records associated with the named volume or plex record. Operations
applied to a volume will apply to the associated plexes and subdisks. Likewise, operations
applied to a plex may be applied to the associated subdisks.
- -v
- Require that name operands name volume records.
- -p
- Require that name operands name plex records.
- -s
- Require that name operands name subdisk records.
Fsgen and gen usage types
The fsgen and gen usage types provide identical semantics for all operations of the vxmend utility. These usage types provide the following options as arguments to -o:
- force
- Force an operation that internal consistency checks consider to be questionable. This applies to
attempts to use vxmend fix empty to uninitialize a volume that has plexes in the ACTIVE
state, and also to attempts to disable the last plex, or the last complete (non-sparse) plex, in
a volume. This flag is the same as -f.
- vol=volume
- Require that any named plex or subdisk record be associated, directly or indirectly, with a volume
named volume. Several vol options can be specified to indicate a list of allowed volume
names.
- plex=plexname
- Require that any named subdisk record be associated with a plex named plexname. Several plex
options can be specified to indicate a list of allowed plex names.
Limitations and extensions for the fsgen and gen usage types consist of the following:
- clear
- Keywords supported in the field operands include all standard keywords. In addition, a keyword of
the form attnumber can be used to remove locks on a volume for a particular number of
concurrent plex attach operations. For example, if the command:
vxplex att v1 v1-01
- is aborted by pressing the INTERRUPT key (or equivalent) several times (which prevents a clean
abort of the operation), you may have to clear the operation with:
vxmend clear tutil0 v1-01
vxmend clear att1 v1
vxplex dis v1-01
- Interruption of the above-mentioned vxplex att command will display a list of commands to run,
which will include the previous list.
- The number of plexes currently being attached, either directly or as part of a compound operation,
is stored in the tutil0 field of the volume record as a string in the form ATTnumber. If the
number drops to zero, the tutil0 field is cleared. Some operations on a volume require that
the tutil0 field be cleared.
- fix
- The fsgen and gen usage types support the following vxmend fix operations:
- vxmend fix clean plex
- Set the state for the named plex to CLEAN. The associated volume must be disabled, the
named plex must be in the STALE state, and the volume must have no additional
plexes in the CLEAN state.
- A volume is not startable if one plex is in the CLEAN state and some plexes are in the
ACTIVE state. Thus, several vxmend fix operations are normally used in
conjunction to set all plexes in a volume to STALE and then to set one plex to
CLEAN. A volume start operation will then enable the CLEAN plex and
recover the STALE plexes by copying data from the one CLEAN plex.
- vxmend fix active plex
- Set the state for the named plex to ACTIVE. The state for the volume is set to SYNC. The
associated volume must be disabled, and the named plex must be in the STALE
state.
- When starting a volume in the SYNC state, all ACTIVE plexes are enabled and are
synchronized to have the same contents using a special read/write-back recovery
mode. Any STALE plexes are then recovered by copying data from the ACTIVE
plexes.
- vxmend fix stale plex
- Set the state for the named plex to STALE. The associated volume must be disabled, and
the named plex must be ACTIVE or CLEAN. This operation names plexes that
will be recovered by copying data from other plexes by a vxvol start operation.
- vxmend fix empty volume
- This operation sets the named volume and all of its associated plexes to the EMPTY state.
The volume can then be re-initialized using vxvol start or any of the vxvol init
operations. This operation requires that the volume be disabled.
- off
- The fsgen and gen usage types allow volumes and plexes to be specified as operands to vxmend
off. A volume can be named only if -r is used to specify recursion, and is applied to all
plexes in the volume. Offlining a plex disables the plex and sets its state to OFFLINE.
- Offlining the last enabled read-write plex in a volume, or the last complete plex (if there are
additional sparse plexes) will normally fail unless -f is specified. Applying this operation
to a volume also disables the volume, and does not require use of -f.
- If a volume is disabled, then the checks for the last plex or the last complete plex are performed on
the set of ACTIVE and CLEAN plexes, rather than on enabled read-write plexes.
- An offline state for a plex can be cleared with vxmend on. Alternatively, an offline plex can be
reattached with vxplex att.
- on
- The fsgen and gen usage types allow volumes and plexes to be specified as operands to vxmend
on. The vxmend on operation applied to a plex will change the OFFLINE state for a plex
to STALE, allowing the plex to be recovered by the next vxvol start or vxvol startall.
Applying vxmend on to a volume will change the state for all associated OFFLINE plexes
to STALE.
RAID-5 usage type
The raid5 usage type provides the following options as arguments to -o:
- force
- Force an operation that internal consistency checks consider to be questionable.
In addition to the operations supported for the fsgen and gen usage types, the raid5 usage type also supports the following extension:
- fix
- In addition to those supported for the fsgen and gen usage types, the raid5 usage type supports the
following vxmend fix operation:
- vxmend fix unstale subdisk
- Clear any flags indicating that a subdisk of a RAID-5 plex is invalid. This will prevent the
data on the subdisk from being recovered when the volume is started.
Exit codes
The vxmend 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
vxintro(ADM)
for a list of standard exit codes.
Files
- /etc/vx/type/usetype/vxmend
- The utility that performs vxmend operations for a particular volume usage type.
References
vxintro(ADM),
vxmend(ADM),
vxplex(ADM),
vxvol(ADM)
Copyright © 2005 The SCO Group, Inc. All rights reserved.