vxedit(ADM)


vxedit - create, remove, and modify Volume Manager records

Synopsis

vxedit [ -g diskgroup ] [ -e pattern ] [ -vpsdGrf ] set attribute=value ... [ name ... ]
vxedit [ -g diskgroup ] [ -e pattern ] [ -vpsdGr ] cc /search/replace/[gp] [ name ... ]
vxedit [ -g diskgroup ] [ -vpsdrf ] rm name ...
vxedit [ -g diskgroup ] [ -vpsd ] rename oldname newname

Description

The vxedit utility sets and changes various attributes for Volume Manager configuration records that do not depend upon volume usage types. See vxvol(ADM) for operations that can set attributes that are dependent upon usage types. In particular, setting the length and logging type for a volume requires use of the vxvol set operation.

Each invocation can be applied to only one disk group at a time, due to internal implementation constraints. Any name or oldname 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). If no name or oldname operands are given, then the disk group defaults to rootdg. A specific disk group can be forced with -g diskgroup.

These are the recognized operation keywords:

set
Set a field within a volume, plex, subdisk, disk media, or disk group record in the selected disk group. The records to be changed are those that match the pattern specified with the -e pattern option and those specified by the name operands.

The attribute names specify the field to set within the selected records. More than one attribute can be specified in a single invocation. The operands that indicate attribute settings end at the first operand that does not contain an equal sign. An operand of -- can be used to separate the attribute list from record names, even if the first record name contains an equal sign.

If the -r option is given, the operation is applied recursively to records associated with the selected records (to plexes and subdisks for selected volume records, and to subdisks for selected plex records). Recursion applies regardless of whether the -p and -s options are specified.

The following values can be set for all record types except for disk access records:

comment or c
Set the comment string for the selected records to the given value. The comment string cannot be longer than 40 characters and cannot contain a newline character.

tutil0, tutil1, tutil2
Set one of the non-persistent (temporary) utility fields in the record.

putil0, putil1, putil2
Set one of the non-persistent (temporary) utility fields in the record. The six utility fields cannot be longer than 14 characters and cannot contain a newline character. The tutil0 and putil0 fields are reserved for use by the the base Volume Manager utility set, and by usage types. The tutil1 and putil1 fields are reserved for use by higher-level utilities. The tutil2 and putil2 fields are reserved for any desired use by system administrators.

The putil0 field for a plex and subdisk record can be set to prevent utilities from associating the record to a volume or plex. This is a convenient means for reserving a plex, or for reserving a region of disk space (a subdisk).

Changing a non-empty putil0 or tutil0 field requires use of -f. Setting these fields for dissociated plex and subdisk records is generally not a problem. However, for an associated plex or subdisk that is associated (through a plex) with a volume, setting either of these fields can be dangerous, as it can affect the operation of usage types that expect to manage these fields themselves during an operation.

The following attributes can only be set for volume records:

fstype
If a volume contains a file system, fstype can be used to indicate what type of file system it is. Under most circumstances, if a file system type is not specified for a volume, the Volume Manager will determine the usage type by running the fstyp program (see fstyp(ADM)). However, it is preferable to set fstype, to avoid problems when the fstyp program returns ambiguous results.

writecopy
Set (on) or clear (off) a volume policy that affects consistency of data written to a volume when dirty region logging is in effect on the volume. When the operating system hands off a write request to the volume driver, the operating system may continue to change the memory that is being written to disk. The Volume Manager cannot detect that the memory is changing, so it can inadvertently leave plexes with inconsistent contents. This is not normally a problem, because the operating system ensures that any such modified memory is rewritten to the volume before the volume is closed, such as by a clean system shutdown. However, if the system crashes, plexes may be inconsistent. Since the dirty region logging feature prevents recovery of the entire volume, it may not ensure that plexes are entirely consistent.

Setting the writecopy flag often causes the Volume Manager to copy the data for a write request to a new section of memory before writing it to disk. Because the write is done from the copied memory, it can't change, so the data written to each plex is guaranteed to be the same.

writeback
Set (on) or clear (off) a volume policy that affects recovery after read failures on a mirrored volume. If the writeback flag is set (which is normally the default), then a read failure for a plex will cause data to be read from an alternate plex and then written back to the plex that got the read failure. This will usually fix the error. Only if the writeback fails will the plex be detached for having an unrecoverable I/O failure.

If this flag is clear, then data from an alternate plex will be read to satisfy the volume read operation, but the failing plex will be detached with no action taken to try to fix the problem.

There is seldom (if ever) a reason to turn off this feature.

user
Set the user that owns a volume record to the user specified as the attribute value. The attribute value can be either a login name from the /etc/passwd database, or a numeric user ID.

group
Set the group that owns a volume record to the group specified as the attribute value. The attribute value can be either a group name from the group database, or a numeric group ID.

mode
Set the access permissions for the volume to the permission mode specified in the attribute value. The attribute value can be a symbolic permission mode or an octal mode. The format is compatible with permission modes as used by the chmod utility (see chmod(C)).

The following special attributes can be set for subdisk records:

len
Set the length of the subdisk to the given length. The attribute value is a standard Volume Manager length number (see vxintro(ADM)). The length of a subdisk can be changed only if the subdisk is dissociated. The length of a subdisk cannot be increased to the point where it would extend past the end of the disk, or to where it would overlap a reserved disk region or another subdisk.

The following special attribute can be set for disk media records:

reserve
Set (on) or clear (off) the disk reservation flag. If the reserve flag is set for a disk, then vxassist will not allocate a subdisk on that disk unless the disk is specified on the vxassist command line.

spare
Set (on) or clear (off) the disk spare flag. If the spare flag is set for a disk, then that disk is designated for use by the hot-relocation facility. A DM record with the spare flag set will be used only for hot-relocation. vxassist will not allocate a subdisk on that disk unless forced to by command line arguments.

failing
Set (on) or clear (off) the disk failing flag. If the failing flag is set for a disk, then the disk space is not used as free space or used by the hot relocation facility.

cc
Change a comment using a search-replacement specification similar to that used by sed(C) in volume, plex, subdisk, disk media, or disk group records within the selected disk group. The records to be changed are those that match the pattern specified with -e pattern option and those specified by the name operands. See vxintro(ADM) for a description of Volume Manager search patterns. If no search pattern is specified with -e, and no name operands are given, then the change is made to all records whose comment field matches the search regular expression.

The search string is a regular expression, in the form accepted by the function regcmp(S). This regular expression is used to determine which substring of the comment field is to be changed. The replace string represents the new string to use as a replacement for the matched part of the comment.

An occurrence of & in the replace string will be replaced by the substring of the comment matched by the regular expression. An occurrence of \n in the replace string, where n is a single digit between 1 and 9, will be replaced by the substring matched by a parenthetical section of the regular expression; the regular expression is followed by $n.

The / character following the replace string is optional. If the / is given, then it can be followed by the letters g or p, or both. If a g is given, then all matches in a comment are replaced, rather than just the first match. If the letter p is given, then the resulting comment strings are written to the standard output, immediately preceded (on the same line) by the name of the record.

If the -r option is given, the operation is applied recursively to records associated with the selected records (to plexes and subdisks for selected volume records, and to subdisks for selected plex records). Recursion (when selected) applies regardless of the -p, and -s options.

Each record to be changed is changed only once, even if the record could be matched several times through combinations of name arguments, search patterns, and the -r option.

For example, the following command changes all subdisk comments that begin with ``Henry'' and a second word beginning with an uppercase letter to begin with ``Frank'' and the same second word:

	vxedit -s cc '/^Henry ([A-Z])$1/Frank \1/p' 
This command also lists the resulting comment fields.

rm
Remove volume, plex, or subdisk records from the selected disk group. Disk media records can be removed with vxdg rmdisk. Disk access records can be removed with vxdisk rm.

Removing a subdisk requires that the subdisk be dissociated. Removing a plex requires that the plex be dissociated and that it have no associated subdisks. Removing a volume requires that it have no associated plexes. The -r option can be specified to recursively remove a volume and all plex and subdisk records associated with it, or to remove a plex and all subdisk records associated with it. Even when removing with -r, a named plex or subdisk cannot be associated with a volume or plex, respectively.

The -f option is required to remove an enabled volume. A volume cannot be removed, even with -f, if the corresponding volume block or raw device, or if any of the volume's plex devices, is open or mounted. Likewise, a plex cannot be removed if the corresponding plex device is open.

rename
Change the name of a volume, plex, subdisk, or disk media record from oldname to newname. A record cannot be renamed if the tutil0 field is set, which indicates that an operation is in progress that involves the record.

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 and oldname operands.

-f
Force an operation that the Volume Manager considers potentially dangerous or is not a normal operation for the command. This enables a limited set of operations that would otherwise be disallowed. Some operations may be disallowed even with this flag. The vxedit operations that are allowed with this flag are changing a non-empty tutil0 or putil0 field, and removing enabled volumes.

-v, -p, -s, -d, -G
Select only volume, plex, subdisk, disk media, or disk group records, respectively. If more than one of these options are specified, then records of any of the indicated types may be selected.

-r
Operate recursively on records associated with the selected records. For selected volume records, this affects associated plex and subdisk records. For selected plex records, this affects associated subdisk records.

-e pattern
Use a Volume Manager configuration search expression to select records from the selected disk group configuration. Search patterns are currently limited to a selection of volume, plex, and subdisk records.

Exit codes

The vxedit 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.

References

chmod(C), sed(C), fstyp(ADM), vxassist(ADM), vxedit(ADM), vxintro(ADM), vxmake(ADM), vxmend(ADM), vxvol(ADM), regcmp(S)



Copyright © 2005 The SCO Group, Inc. All rights reserved.