Você está na página 1de 93

The vxrecover utility performs plex attach, RAID-5 subdisk recovery, and resynchronize operations for the

named volumes, or for volumes residing on the specified disks medianame. If no medianame or volume is
specified, the operation applies to all volumes, or to all volumes in the specified disk group. If -s is
specified, disabled volumes are started. With -s and -n, volumes are started, but no other recovery takes
place. Recovery operations are started in an order that prevents two concurrent operations on the same
disk. Operations that involve unrelated disks run in parallel.
-b : Performs recovery operations in the background. With this option, vxrecover runs in the background to
attach stale plexes and subdisks, and to resynchronize mirrored volumes and RAID-5 parity. If this is used
with -s, volumes are started before recovery begins in the background.
-c : Operates on cluster-shareable disk groups. This option is used by the cluster reconfiguration utility to
effect recovery on volumes in shared disk groups after the failure of a node in the cluster. Do not use -c as
a command-line option. Available only if the VxVM cluster feature is enabled and a license is installed.
-E Starts disabled volumes or plexes even when they are in the EMPTY state. This is useful for starting up
volumes restored by the vxmake utility when specified along with the -s option.
-g diskgroup : Limits operation of the command to the given disk group, as specified by disk group ID or
disk group name. If no volume or medianame is specified, all disks in this disk group are recovered,
otherwise, the volume and medianame are evaluated relative to the given disk group. Without the -g option,
if no volume and medianame is specified, all volumes in all imported disk groups are recovered; otherwise,
the disk group for each medianame specified is determined based on name uniqueness within all disk
groups.
-m : Recognizes and enables volumes that were moved as a result of a disk group move, split or join
operation.
-n Does not perform any recovery operations. If used with -s, volumes are started, but no other actions
are taken. If used with -p, vxrecover only prints a list of startable volumes.
-o options : Passes the given option arguments to the -o options for the vxplex att and vxvol start
operations generated by vxrecover. You can specify an option argument in the form prefix:options to restrict
the set of commands that the -o option is applied to. Defined prefixes are:
vol applies to all invocations of the vxvol utility (volume starts, mirror resynchroniza- tions, RAID-5
partity rebuilds, and RAID-5 subdisk recoveries)
plex, applies to all invocations of the vxplex utility (used only for attaching plexes)
attach applies specifically to plex attach operations
start applies specifically to volume start operations
recover applies to subdisk recoveries
resync applies to mirror resynchronization and RAID-5 parity recovery.
-p Prints the list of selected volumes that are startable. For each startable volume, a line is printed
containing the volume name, the disk group ID of the volume, the volume's usage type, and a list of state
flags pertaining to mirrors of the volume. State flags include:
kdetach indicates that one of the mirrors was detached by an I/O failure
stale means that one of the mirrors needs recovery, but that the recovery is related to an
administrative operation, not an I/O failure
stopped prints if neither kdetach nor stale is appropriate for the volume.
-s : Starts disabled volumes that are selected by the operation. Volumes are started before any other
recovery actions are taken. Volumes are started with the -o delayrecover start option. This requests that
any operations that can be delayed in starting a volume are delayed. That is, only those operations
necessary to make a volume available for use occur. Other operations, such as mirror resynchronization,
attaching of stale plexes and subdisks, and recovery of stale RAID-5 parity, are typically delayed.
-t tasktag : If any tasks are registered to track the progress of the operation, marks them with the tag
tasktag. This option is also passed to any utilities called to perform recoveries, so all tasks registered by
any utility to perform the recoveries are also tagged with tasktag.
-v : Displays information about each task started by vxrecover. For recovery operations (as opposed to
start operations), prints a completion status when each task completes.
-V : Displays each command executed by vxrecover. The ouput generated is more verbose than the job
descriptions printed with the -v option.
EXAMPLES : To recover, in the background, any detached subdisks or plexes that resulted from
replacement of a specified disk, use the command:
vxrecover -b medianame

Veritas Commands

Page 1 of 93

To monitor the operations, use the command:


vxrecover -v medianame
---------------------------------------------------------------------------------------------------------------------------------------Vxedit :
-r : to recursively remove a volume and all plex and subdisk records associated with it
-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 is open or mounted.
Attribute Values for RLINK Records
Synchronous : A field that indicates whether the RLINK should operate in synchronous or asynchronous
mode. In synchronous mode, a write request to a replicated volume does not complete until the data has
been recorded on the SRL and reached the secondary node. In asynchronous mode, a write request
completes as soon as the data is recorded on the SRL. The field may have one of three values:
off mode is asynchronous
override mode is synchronous, but will automatically switch to asynchronous if the RLINK becomes
inactive due to a disconnection or administrative action
fail mode is synchronous. If synchronous=fail is set and an administrator detaches the Primary RLINK,
writes to the RVG are not failed. However, if an RLINK becomes inactive for any other reason, including an
administrative detach of the Secondary RLINK, subsequent write requests are failed with an EIO error.
----------------------------------------------------------------------------------------------------------------------------------------a : Display all information about each selected record, separated by spaces ( on the same line )
-c : Display only DCO and snap object records.
-d : Display only disk media records.
-f : Display information about each record as one-line output records containing the following fields,
1. Record type, name, Usage-type, volume association, or plex association (or - for unassociated plexes
and subdisks)
2. Enabled state (or - for subdisks, disks, or disk groups), Length, in units of system sectors
3. Plex association offset (or - for volumes, plexes, disks, or disk groups). This field will appear as LOG
for log subdisks.
4. Usage-dependent state (or - for subdisks). If an exception condition is recognized (a plex I/O failure,
removed or inaccessible disk, or an unrecovered stale data condi- tion), then that condition is listed
instead of any usage-type-dependent state.
5. The tutil[0] field. This field is set by usage-types as a lockout mechanism.
6. The putil[0] field. This field can be set to prevent associations of plex or subdisk records.
-g diskgroup : Display records from the specified disk group.
-G : Display only disk group records.
-h : List hierarchies below selected records.
-l : Display all information from each selected record.
-n : Display only the names of selected records.
-p : Display only plexes. If a name operand refers to a volume or subdisk, then a diagnostic is written to the
standard error.
-r : Display related records of a volume containing subvolumes. Grouping is done under the highest level
volume
-s : Display only subdisks/subvolumes.
-S : Display configuration summary information. The output consists of a header line followed by a line
containing the total number of subdisks/subvolumes, plexes, volumes, RVGs, and RLINKs; the number of
unassociated subdisks/subvolumes; and the number of unassociated plexes.
-t : Print single-line output records that depend upon the configuration record type. For disk groups, the
output consists of the record type (dg) the disk group name, and the disk group ID.
For subdisks, the output consists of the following fields, from left to right.
1. Record type (sd), name, Associated plex, or dash (-) if the subdisk is dissociated
2. Name of the disk media record used by the subdisk, Device offset in sectors

Veritas Commands

Page 2 of 93

3. Subdisk length in sectors


4. Plex association offset, optionally preceded by subdisk column number for subdisks associ ated to
striped plexes, LOG for log subdisks, or the putil[0] field if the subdisk is dissociated. The putil[0] field can
be non-empty to reserve the subdisk's space for non-volume uses. If the putil[0] field is empty, - is
displayed for dissociated subdisks.
5. Name of the disk access record used by the subdisk, A string representing the state of the subdisk:
DET The subdisk has been detached.
DIS The subdisk is disabled.
dS The subdisk in a RAID-5 plex has failed and the RAID-5 volume is in degraded mode (d indicates that
the subdisk is detached, and S indicates that its contents are stale).
ENA The subdisk is usable.
FAIL The subdisk has been detached in the kernel due to an error.
NDEV The media record on which the sub- disk is defined has no associated access record.
RCOV The subdisk is part of a RAID-5 plex and has stale content.
RLOC The subdisk has failed and is waiting to be relocated.
RMOV The media record on which the sub disk is defined has been removed from its disk access record
by a utility.
For subvolumes, the output consists of the following fields, from left to right.
1. Record type (sv), Record name Associated plex, or dash (-) if the subvolume is dissociated.
2. Name of the underlying (layered) volume record used by the subvolume.
3. Number of layers used in the subvolume, Subvolume length in sectors
4. Plex association offset, optionally preceded by subvolume column number for subvolumes associated to
striped plexes.
5. Number of active plexes, followed by the number of plexes in the underlying (layered) volume.
6. A string representing the state of the subvolume: ENA if the subvolume is usable; DIS if the subvolume is
disabled; IOFAIL if the sub-volume has been detached in the kernel due to an error
For plexes, the output consists of the following fields, from left to right:
1. Record type (pl), Record name, Associated volume, or - if the plex is disso- ciated, Plex kernel state
2. Plex utility state. If an exception condition is recognized on the plex (an I/O failure, a removed or
inaccessible disk, or an unrecovered stale data condition), then that condition is listed instead of the value
of the plex record's state field.
3. Plex length in sectors, Plex layout type, Number of columns and plex stripe width, or - if the plex is not
striped
4. Plex I/O mode, either RW (read-write), WO (write-only), or RO (read-only)
For volumes, the output consists of the following fields, from left to right:
1. Record type (v), Record name, Replicated volume group (RVG), if applicable, Volume kernel state
2. Volume utility state, Volume length in sectors, Volume read policy, Referred plex, if used by the readpolicy, Associated usage type
For DCOs, the output consists of the following fields, from left to right.
1. Record type (dc), Record name, Associated volume, or dash (-) if the DCO is dissociated
4. Name of the DCO volume , or dash (-) if no DCO volume is associated with the DCO object
For snap objects, the output consists of the following fields, from left to right.
1. Record type (sp), Record name, Name of the volume whose snapshot information this snaps record
describes, Name of the DCO with which this snap record is associated
For RVGs, the output consists of the following fields, in order from left to right:
1. Record type (rv), Record name, Associated RLINK count, RVG kernel state (derived from various flags)
2. RVG utility state, RVG primary flag (primary or secondary),. Associated data volume count., The srl
volume.
For RLINKs, the output consists of the following fields, in order from left to right:

Veritas Commands

Page 3 of 93

1. Record type (rl), Record name, Associated RVG, or - if the RLINK is dissociated, RLINK kernel state
(derived from various flags), RLINK utility state, The remote host
7. The remote disk group, The remote RLINK
A header line is printed before any record information, for each type of record that could be selected based
on the -V, -P, -v, -p, -s, and -h options. These header lines are followed by a single blank line.
-v : Display only volumes. If a name operand refers to a plex or subdisk/subvolume, a diagnostic is written
to the standard error.
-V : Display only RVGs.
To display the names of all unassociated plexes, use the command
vxprint -n -p -e !assoc
To print all subdisks, including the subdisk name and either the subdisk plex association offset or the putil0
field for dissociated subdisks, enter:
vxprint -s -F "%{name:-14} %{pl_offset|putil0}"
The vxprint command can be used to back up objects from one disk group configuration with the use of the
combined options -mvpsch or -mvpschr. The output should be saved into a file that is maintained outside of
the system being backed up. Use the following command with the saved file to restore the configuration
---------------------------------------------------------------------------------------------------------------------------------------vxresize - change the length of a volume containing a file system
/etc/vx/bin/vxresize [-bfsx] [-F fstype] [-g diskgroup] [-t tasktag] volume
new_length [medianame...]
The vxresize command either grows or shrinks both the file system and its underlying volume to match the
specified new volume length. The ability to grow or shrink is file system dependent. Some file system types
may require that the file system be unmounted for the operation to succeed, as shown in the following
table:
Vxfs

UFS

Mounted FS

Grow & shrimk

Grow only

Unmounted FS

Not allowed

Grow only

Note : vxresize works with VERITAS File System (VxFS) and UFS file systems only.
In some situations, when resizing large volumes, vxresize may take a long time to complete. Resizing a
volume with a usage type other than FSGEN or RAID5 can result in loss of data. Use the -f option to force
resizing of such a volume.
You cannot resize volumes comprised of different layout types. The new_length operand can begin with a +
/ - to indicate that the new length is added to or subtracted from from the current volume length.
The medianame operands name disks to use for allocating new space for a volume. These arguments can
be a simple name for a disk media record, or they can be of the form medianame, offset to specify an
offset within the named disk. If an offset is specified, then regions from that offset to the end of the disk are
considered candidates for allocation.
-o override : Resizes the specified volume and ignores any storage-specific guidelines. Overriding the
guidelines is not recommended as it can result in incompatible objects, or objects that cannot be
administered by VxVM and any associated software that exploit storage-specific features.
-o verify : Verifies that the specified volume can be resized without violating any storage-specific
guidelines, but does not resize the volume. If any guidelines are violated, vxresize exits with an error
message.
Note: These options need a specific license. Without the license, vxresize ignores the specified option.
OPTIONS
-b : Performs the resize operation in the background. Use the vxprint command to determine when the
operation completes.
Note : This option is only honored for grow operations on non-RAID5 volumes. Otherwise, it is ignored.
-f : Forces a operation that is usually disallowed by vxresize.
-F fstype : Supplies the type of the file system to be resized.
Veritas Commands

Page 4 of 93

-g diskgroup : Limits operation of the command to the given disk group.


-s : Requires that the operation represent a decrease in the volume length.
-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.
-x : Requires that the operation represent an increase in the volume length. Fail the operation otherwise.
---------------------------------------------------------------------------------------------------------------------------------------vxrelocd - monitor VxVM for failure events and relocate failed subdisks
SYNOPSIS
/etc/vx/bin/vxrelocd [-o vxrecover_argument] [-O old_version] [-s save_max] [mail_address...]
DESCRIPTION : The vxrelocd command monitors VxVM by analyzing the output of the vxnotify command,
and waits for a failure. When a failure occurs, vxrelocd sends mail via mailx to root (by default) or to other
specified users and relocates failed subdisks. After completing the relocation, vxrelocd sends more mail
indicating the status of each subdisk replacement. The vxrecover utility is then run on volumes with
relocated subdisks to restore data. Mail is sent after vxrecover executes.
OPTIONS
-o : The -o option and its argument are passed directly to vxrecover if vxrecover is called. This allows
specifying -o slow[=iodelay] to keep vxrecover from overloading a busy system during recovery. The default
value for the delay is 250 milliseconds.
-O Reverts back to an older version. Specifying -O VxVM_version directs vxrelocd to use the relocation
scheme in that version.
-s Before vxrelocd attempts a relocation, a snapshot of the current configuration is saved in
/etc/vx/saveconfig.d. This option specifies the maximum number of configurations to keep for each
diskgroup. The default is 32.
Mail Notification : By default, vxrelocd sends mail to root with information about a detected failure and the
status of any relocation and recovery attempts. To send mail to other users, add the user login name to the
vxrelocd startup line in the startup script /etc/rc2.d/S095vxvm-recover and reboot the system. For example,
if the line appears as:
nohup vxrelocd root &
and you want mail also to be sent to user1 and user2, change the line to read:
nohup vxrelocd root user1 user2 &
Alternatively, you can kill the vxrelocd process and restart it as vxrelocd root mail_address, where
mail_address is a user's login name. Do not kill the vxrelocd process while a relocation attempt is in
progress. The mail notification that is sent when a failure is detected follows this format:
Failures have been detected by the VERITAS Volume Manager:
failed disks:
medianame
failed plexes:
plexname
failed log plexes:
plexname
failing disks:
medianame
failed subdisks:
subdiskname
The Volume Manager will attempt to find spare disks, relocate failed subdisks and then recover the data in
the failed plexes. The medianame list under failed disks specifies disks that appear to have completely
failed; the medianame list under failing disks indicates a partial disk failure or a disk that is in the process of
failing. When a disk has failed completely, the same medianame list appears under both failed disks and
failing disks. The plexname list under failed plexes shows plexes that were detached due to I/O failures that
occurred while attempting to do I/O to subdisks they contain. The plexname list under failed log plexes
indicates RAID-5 or DRL (dirty region logging) log plexes that have failed. The subdiskname list specifies
subdisks in RAID-5 volumes that were detached due to I/O errors.
Spare Space : A disk can be marked as ``spare.'' This makes the disk available as a site for relocating
failed subdisks. Disks that are marked as spares are not used for normal allocations unless you explicitly
specify them. This ensures that there is a pool of spare space available for relocating failed subdisks and
that this space does not get consumed by normal operations. Spare space is the first space used to

Veritas Commands

Page 5 of 93

relocate failed subdisks. However, if no spare space is available, or the available spare space is not
suitable or sufficient, free space is also used except for those marked with the nohotuse flag.
Nohotuse Space : A disk can be marked as ``nohotuse.'' This excludes the disk from being used by
vxrelocd, but it is still available as free space.
Replacement Procedure : After mail is sent, vxrelocd relocates failed subdisks (those listed in the
subdisks list). This requires finding appropriate spare or free space in the same disk group as the failed
subdisk. A disk is eligible as replacement space if it is a valid VxVM disk (VM disk) and contains enough
space to hold the data contained in the failed subdisk. If no space is available on spare disks, the relocation
uses free space that is not marked nohotuse.
To determine which of the eligible disks to use, vxrelocd first tries the disk that is closest to the failed disk.
The value of ``closeness'' depends on the controller, target, and disk number of the failed disk. A disk on
the same controller as the failed disk is closer than a disk on a different controller; a disk under the same
target as the failed disk is closer than one under a different target.
vxrelocd moves all subdisks from a failing drive to the same destination disk if possible.
If the failing disk is a root disk, vxrelocd works only if it can relocate all of the file systems onto the same
disk. If none is found, mail sends the message:
Rootdisk medianame of disk group dg_name experienced a failure, but there is no suitable disk found to
relocate all associated subdisks.
If no spare or free space is found, mail is sent explaining the disposition of volumes that had storage on the
failed disk:
Hot-relocation was not successful for subdisks on disk dm_name in volume v_name in disk group
dg_name. No replacement was made and the disk is still unusable.
The following volumes have storage on medianame:
volumename
These volumes are still usable, but the redundancy of those volumes is reduced. Any RAID-5 volumes with
storage on the failed disk may become unusable in the face of further failures.
If any non-RAID-5 volumes were made unusable due to the disk failure, the following message is included:
The following volumes:
volumename
have data on medianame but have no other usable mirrors on other disks. These volumes are now
unusable and the data on them is unavailable. These volumes must have their data restored.
If any RAID-5 volumes were made unavailable due to the disk failure, the following message is included:
The following RAID-5 volumes:
volumename
had storage on medianame and have experienced other failures. These RAID-5 volumes are now unusable
and data on them is unavailable. These RAID-5 volumes must have their data restored.
If there is spare space available, a snapshot of the current configuration is saved in
/etc/vx/saveconfig.d/dg_name.yymmdd_hhmmss.mpvsh before attempting a subdisk relocation. Relocation
requires setting up a subdisk on the spare or free space not marked with nohotuse and using it to replace
the failed subdisk. If this is successful, the vxrecover command runs in the background to recover the data
in volumes that had storage on the disk.
If the relocation fails, the following message is sent:
Hot-relocation was not successful for subdisks on disk dm_name in volume v_name in disk group
dg_name. No replacement was made and the disk is still unusable.If any volumes (RAID-5 or otherwise)
become unusable due to the failure, the following message is included:
The following volumes:
volumename
have data on dm_name but have no other usable mirrors on other disks. These volumes are now unusable
and the data on them is unavailable. These volumes must have their data restored.
If the relocation procedure was successful and recovery has begun, the following mail message is sent:
Volume v_name Subdisk sd_name relocated to newsd_name, but not yet recovered.
After recovery completes, a mail message is sent relaying the result of the recovery procedure. If the
recovery is successful, the following message is included in the mail:

Veritas Commands

Page 6 of 93

Recovery complete for volume v_name in disk group dg_name.


If the recovery was not successful, the following message is included in the mail:
Failure recovering v_name in disk group dg_name.
If the failed disk is a root disk, the following mail message is sent after attempting to relocate:
Rootdisk medianame of disk group dg_name experienced a failure, hot-relocation attempted to
move/remirror all the associated subdisks to medianame.
Subdisks from the following volumes got moved/remirrored:
volumename
If there were errors during root disk relocation, the following message is added:
Error: Subdisks from the following volumes failed to move/remirror:
volumename
Disabling vxrelocd : If you do not want automatic subdisk relocation, you can disable the hot-relocation
feature by killing the relocation daemon, vxrelocd, and preventing it from restarting. How- ever, do not kill
the daemon while it is doing the relocation. To kill the daemon, run the command:
ps -ef
from the command line and find the two entries for vxrelocd. Execute the command:
kill -9 PID1 PID2
(substituting PID1 and PID2 with the process IDs for the two vxrelocd processes). To prevent vxrelocd from
being started again, you must comment out the line that starts up vxrelocd in the startup script
/etc/rc2.d/S095vxvm-recover.
FILES
/etc/rc2.d/S095vxvm-recover The startup file for vxrelocd.
/etc/vx/saveconfig.d/dg_name.yymmdd_hhmmss.mpvsh
File where vxrelocd saves a snapshot of the current configuration before performing a relocation.
--------------------------------------------------------------------------------------------------------------------------------------vxdmpadm [-f] disable [ attribute...]
vxdmpadm enable [ attribute...]
vxdmpadm getdmpnode [ attribute...]
vxdmpadm getsubpaths [ attribute...]
vxdmpadm help [ attribute...]
vxdmpadm listctlr [ attribute...]
vxdmpadm listenclosure [ attribute...]
vxdmpadm setattr enclosure [attribute...]
vxdmpadm start restore [ attribute...]
vxdmpadm stat errord
vxdmpadm stat restored
vxdmpadm stop restore
DESCRIPTION : vxdmpadm lists the paths under a DMP device, gets the DMP device corresponding to a
path, lists all the disk controllers on the system, lists all the paths through a host disk controller, lists all the
DMP nodes through a disk array, and enables or disables a host disk controller on the system. vxdmpadm
keywords select the action to perform, and attributes specify the objects on which the action is performed.
KEYWORDS
disable Disables I/O to a host disk controller. The command is blocked until all pending I/Os issued
through the specified disk controller are completed. The disable operation fails if it is issued to a controller
connected to the root disk through a single path. Use the -f option to force the above operation. disable
supports the attributes ctlr, enclosure, and type.
enable Enables a previously disabled host disk controller to accept I/Os. This operation succeeds only if
the controller is accessible to the host and I/O can be performed on it. When connecting Active/Passive
disk arrays in a non-clustered environment, using enable results in a failback of I/Os to the primary path.
enable can be executed to allow I/Os to the controllers on the system board that was detached earlier.
Attributes that can be specified with enable are enclosure, type, and ctlr.
getdmpnode : Displays the DMP device that controls a particular physical path. The physical path is
specified as the nodename attribute. nodename must be a valid path listed in the /dev/[r]dsk directory. Use
the enclosure attribute with getdmpnode to obtain a list of all DMP nodes for the specified enclosure.

Veritas Commands

Page 7 of 93

getsubpaths : Displays the paths controlled by the specified DMP node. The dmpnodename specified
must be a valid node in the /dev/vx/[r]dmp directory. getsubpaths can also obtain all paths through a
particular host disk controller. The attributes supported by getsubpaths are ctlr and dmpnodename. help
Displays a detailed information about attributes used with a particular keyword.
vxdmpadm help listctlr
listctlr Lists the disk controllers connected to the host. listctlr all lists all controllers on the host.
listenclosure Displays all attributes of the specified enclosure. For example:
vxdmpadm listenclosure ENC01
displays all attributes associated with the disk array ENC01. The attribute all displays the attributes
associated with all the enclosures connected to the host.
setattr enclosure : Assigns a meaningful name to the specified enclosure. An existing enclosure name
must be specified. vxdmpadm setattr supports the attribute name. For example:
vxdmpadm setattr enclosure ENC01 name=lab1_enc
The disk array will be referred to by this new name for all subsequent operations.
start restore Starts the DMP restore daemon. The restore daemon analyzes the condition of paths every
interval seconds. The type of analysis depends on the specified policy:
check_all The restore daemon analyzes all paths in the system and revives the paths that are back online
as well as disables the paths that are inaccessible.
check_alternate The restore daemon checks that at least one alternate path is healthy. It generates a
notification on the first occasion that this condition is not met. If there are less than two active (and enabled)
paths under a DMP node, vxnotify displays the message "dmpnode name has N alternate paths."
Note : This policy avoids inquiry commands on all healthy paths, and is less costly than check_all in cases
where a large number of paths are available. This policy reduces to check_all if there are only two paths
per DMP node.
check_disabled The restore daemon checks the condition of paths that were previously disabled due to
hardware failures and revives them if they are back online.
check_periodic The restore daemon performs check_all once in a given number of cycles, and
check_disabled in the remainder of the cycles.
Note : This policy may lead to periodic slowing down (due to check_all) if there are large numbers of paths
available.
The default policy is check_disabled. To change the interval or policy, you
must stop the restore daemon and restart it with new attributes. To set the
policy to check_all, enter:
vxdmpadm start restore policy=check_all
If a controller is disabled using the following command, the restore daemon does not change the disabled
state of the path through it.
vxdmpadm disable ctlr=ctlr
To set the polling interval to 400 seconds, enter:
vxdmpadm start restore interval=400
Caution : The default polling interval is 300 seconds. Decreasing this interval can adversely affect system
performance.
The check_periodic policy can be invoked as follows:
vxdmpadm start restore policy=check_periodic interval=t [period=n]
Note: The polling interval must be specified.
Here the period n is the number of times that check_disabled is invoked before check_all is invoked. This
sequence is then repeated. The integer value n of period can either be specified on the command line, or
set as a tunable dmp_restore_daemon_cycles in the vxdmp.conf file. (This requires a system shutdown
and reboot to take effect.) The value of period specified on the command line takes precedence. If not
specified in either of these ways, the default period is 10. The check_alternate policy can be invoked as
follows:
vxdmpadm start restore policy=check_alternate interval=t
stat errord Displays the number of error daemons running.

Veritas Commands

Page 8 of 93

stat restored Displays the status of the automatic path restoration daemon, the interval of polling, and the
policy used to check the condition of paths.
stop restore Stops the VxVM restore daemon. Automatic path failback stops if the restore daemon stops.
ATTRIBUTES Attribute values can be specified with keywords in the form attribute=value.
all Specified with the listctlr & listenclosure
ctlr Specifies the host I/O controller to print information about.
dmpnodename Specifies the DMP metanode name that must be listed in the /dev/vx/[r]dmp directory.
enclosure Used with the keywords getsubpaths, getdmpnode, and listctlr.
interval The restore daemon checks the status of disabled paths after every interval seconds.
name When used with the setattr keyword, name assigns a new name to the specified enclosure. The new
name cannot be more than 25 characters else setattr fails with an error message.
nodename Specifies the name of a physical path to a disk that must be entered in the /dev/[r]dsk directory.
policy Value can be set to check_all or check_disabled.
type The enclosure type must be one of the enclosure categories supported by DMP.
EXAMPLES : To list all attributes of all host I/O controllers on the system, enter:
vxdmpadm listctlr all
To list all attributes of the disk array enc0, enter:
vxdmpadm listenclosure enc0
To disable I/O through the host disk controller c2, enter:
vxdmpadm disable ctlr=c2
If you then run the listctlr all command, the state of the controller c2 is shown as disabled. To enable the
host disk controller c2, which was disabled by vxdmpadm disable ctlr=c2, enter:
vxdmpadm enable ctlr=c2
Executing listctlr all after this command shows the state of the controller c2 as enabled. The following
examples outline the attributes supported by vxdmpadm listctlr.
vxdmpadm listctlr all
vxdmpadm listctlr enclosure=enc0 type=ENC
vxdmpadm listctlr type=ENC
vxdmpadm listctlr enclosure=enc0
vxdmpadm listctlr ctlr=c2
The following command lists all paths controlled by the DMP node c2t1d0s2.
vxdmpadm getsubpaths dmpnodename=c2t1d0s2
The following command obtains all paths through the host disk controller c2.
vxdmpadm getsubpaths ctlr=c2
The following command displays the DMP node that controls the node c3t2d1s2.
vxdmpadm getdmpnode nodename=c3t2d1s2
The following command displays the DMP nodes connected to the enclosure enc0.
vxdmpadm getdmpnode enclosure=enc0
The following command assigns a new name, VMGRP_1, to the enclosure enc0.
vxdmpadm setattr enclosure enc0 name=VMGRP_1
To start the restore daemon with the default interval (300 seconds) and default policy (check_disabled) :
vxdmpadm start restore
To specify the interval of polling as 400 seconds, enter:
vxdmpadm start restore interval=400
The daemon checks the condition of the paths as specified by the policy attribute. To set the policy as
check_all, enter:
vxdmpadm start restore policy=check_all

Veritas Commands

Page 9 of 93

The following command stops the DMP restore daemon; the restore daemon is automatically started at
system startup time with default attributes.
vxdmpadm stop restore
To list the intervals of restore daemons running and the number of error daemons, enter :
vxdmpadm stat restored
vxdmpadm stat errord
If only a Base VxVM license is installed, the vxdctl license command displays "DMP (single path enabled)".
If either the Full VxVM license or an automatically generated license (such as that for the PHOTON array)
is installed, the command displays "DMP (multipath enabled)".
---------------------------------------------------------------------------------------------------------------------------------------vxconfigd - VxVM configuration daemon
SYNOPSIS
vxconfigd [-dfk] [-D diag_portal]
reset] [-R request_portal] [-x arg]

[-I

inquiry_portal]

[-m

mode]

[-r

DESCRIPTION : The VxVM configuration daemon, vxconfigd, maintains disk configurations and disk
groups in VxVM. vxconfigd takes requests from other utilities for configuration changes, and communicates
those changes to the kernel and modifies configuration information stored on disk. vxconfigd also initializes
VxVM when the system is booted.
OPTIONS
-d : Equivalent to -m disable, which starts vxconfigd in disabled mode.
-D diag_portal : Specifies a rendezvous file path name for diagnostic operation connections to
vxconfigd. /etc/vx/vold_diag is the default path name. The diagnostic portal exists in both the enabled and
disabled operating modes.
-f : Starts vxconfigd in the foreground. This is often useful when debugging vxconfigd, or when tracing
configuration changes. If -f is not specified, vxconfigd forks a background daemon process. The foreground
process exits when the vxconfigd startup processing completes.
-I inquiry_portal : Specifies a rendezvous file path name for inquiry operation connections to vxconfigd.
/etc/vx/vold_inquiry is the default path name. The inquiry portal accepts only opcodes for connection
requests and query requests submitted by vxprint. All other requests are rejected. The inquiry portal exists
only when vxconfigd is operating in enabled mode.
-k : If a vxconfigd process is already running, -k kills it before any other startup processing. This is useful
for recovering from a hung vxconfigd process. Killing the old vxconfigd and starting a new one usually does
not cause problems for volume devices that are being used by applications, or that contain mounted file
systems.
-m mode Sets the initial operating mode for vxconfigd. Possible modes are:
boot Handles boot-time startup of VxVM. This starts the rootdg disk group and any required volumes on
the root disk. Boot mode is capable of operating before the root file system is remounted to read-write.
vxdctl enable is called later in the boot sequence to trigger vxconfigd to rebuild the /dev/vx/dsk and
/dev/vx/rdsk directories.
disable Starts vxconfigd in disabled mode. disable creates a rendezvous file for utilities that perform
various diagnostic or initialization operations. disable can be used with the -r reset option as part of a
command sequence to completely reinitialize VxVM config. Use the vxdctl enable operation to enable
vxconfigd.
enable Starts vxconfigd fully enabled (default). enable uses the volboot file to bootstrap and load in the
rootdg disk group. It then scans all known disks for disk groups to import and imports those disk groups.
enable also sets up entries in the /dev/vx/dsk and /dev/vx/rdsk directories to define all of the accessible
VxVM devices. If the volboot file cannot be read, or if the rootdg disk group cannot be imported, vxconfigd
starts in disabled mode.
-r reset Resets all VxVM configuration information stored in the kernel as part of startup processing. The
reset fails if any volume devices are in use. This option is primarily useful for testing or debugging.
-R request_portal : Specifies a rendezvous file path name for regular configuration and query requests.
/etc/vx/vold_request is the default. The regular request portal exists only when vxconfigd is operating in
enabled mode.

Veritas Commands

Page 10 of 93

-x arg Turns on various parameters used for debugging or other aspects of vxconfigd operation. The
argument, arg, is a decimal number, 1 through 9, or a string. A number value sets the debug information
output level and is required to obtain any debug messages.
String arguments include:
boot=volboot_path : Specifies the path name to use for the volboot file. This is primarily useful with the
stub debug option. The volboot file contains an initial list of disks that are used to locate the root disk group.
It also contains a host ID that is stored on disks in imported disk groups to define ownership of disks as a
sanity check for disks that might be accessible from more than one host.
Cleartempdir : Removes and recreates the /var/vxvm/tempdb directory. This directory stores configuration
information that is cleared after system reboots (or cleared for specific disk groups on import and deport
operations). If the contents of this directory are corrupted, due to a disk I/O failure for example, vxconfigd
will not start up if it is killed and restarted. Such a situation can be cleared by starting vxconfigd with -x
cleartempdir. This option has no effect if vxconfigd is not started in enabled mode.
Note : It is advisable to kill any running operational commands (vxvol, vxsd, or vxmend) before using the -x
cleartempdir option. Failure to do so may cause these commands to fail, or may cause disastrous but
unchecked interactions between those commands and the issuance of new commands. It is safe to use
this option while running the graphical user interface, or while VxVM background daemons are running
(vxsparecheck, vxnotify, or vxrelocd).
devprefix=prefixdir : Specifies a directory path name to prefix for any disk device accessed by vxconfigd.
For example, with devprefix=/tmp, any access to a raw disk device named c2t1d0s2 would actually be
directed to the file /tmp/dev/rdsk/c2t1d0s2. In stubbed mode, vxconfigd can operate with such files being
regular files. vxconfigd only requires entries in the prefixdir /dev/rdsk directory in stubbed mode. See stub
below for more information.
log | nolog : Logs all vxconfigd console output directly to a file. This method of logging is very reliable in
that any messages output before a system crash are available in the log file (if the crash did not corrupt the
file system). You can enable direct vxconfigd logging with the -x log argument, and turn it off with the -x
nolog argument. Logging is disabled by default.
If direct logging is enabled, the default log file is /var/vxvm/vxconfigd.log. This option can be used in
conjunction with syslog | nosyslog. The following command logs all debug and error messages to the
specified log file:
vxconfigd -x9 -x log
logfile=logfilename : Specifies an alternate vxconfigd direct log file. This option requires using the -x log
argument.
noautoconfig : vxconfigd usually configures disk devices that can be found by inspecting kernel disk
drivers automatically. These auto_configured disk devices are not stored in persistent configurations, but
are regenerated from kernel tables after every reboot. Invoking vxconfigd with -x noautoconfig prevents the
automatic configuration of disk devices, forcing VxVM to use only those disk devices configured explicitly
using vxdisk define or vxdisk init.
nothreads : Runs vxconfigd single-threaded.
stub Specifies not to communicate configuration changes to the kernel. stub is typically used as a
demonstration mode of operation for vxconfigd. In most aspects, a stubbed vxconfigd behaves like a
regular vxconfigd, except that disk devices can be regular files and volume nodes are not created. A
stubbed vxconfigd can run concurrently with a regular vxconfigd, or concurrently with any other stubbed
vxconfigd processes, as long as different rendezvous, volboot, and disk files are used for each concurrent
process.
Other VxVM utilities can detect when they are connected to a vxconfigd that is running in stubbed mode.
When a VM utility detects a stubbed-mode vxconfigd, the utility typically stubs out any direct use of
volumes or plexes itself. This allows utilities to make configuration changes in a testing environment that
runs without any communication with the kernel or creation of real volumes or plexes.
syslog | nosyslog : vxconfigd supports using the syslog() library call to log all of its console messages
(this includes error, warning, and notice messages, but not debug messages). You can enable syslog()
logging using the -x syslog argument, and turn it off with the -x nosyslog argument. You can also enable
syslog() logging at boot-time by editing the VxVM startup scripts.
syslog can be specified along with log (described above) to obtain more reliable logging. For example, the
following command logs all debug messages to the specified log file, and logs all error messages to both
the direct log file and the syslog.log file:
vxconfigd -x9 -x log -x syslog

Veritas Commands

Page 11 of 93

Note : syslog() logging works only on systems where vxconfigd is compiled with support for the syslog()
library calls.
Synctrace : Flushes tracefile data to disk, invoking fsync, to ensure that the last entry is included in the file
even if the system crashes.
timestamp | mstimestamp : Attaches a date and time-of-day timestamp to all messages written by
vxconfigd to the console. If mstimestamp is used, a millisecond value is also displayed, allowing detailed
timing of vxconfigd's operation.
tracefile=file : Logs all possible tracing information to the specified file.
EXIT CODES : If errors are encountered, vxconfigd writes diagnostic messages to the standard error
output. vxconfigd exits if it encounters some serious errors. If an error is encountered when importing the
rootdg disk group during a normal startup, vxconfigd enters disabled mode.
Defined exit codes for vxconfigd are:
0 The requested startup mode completed successfully. This is returned if -f is not used to startup vxconfigd
as a foreground process. If vxconfigd is started as a foreground process, it exits with a zero status if vxdctl
stop is used to exit vxconfigd.
1 The command line usage is incorrect.
2 Enabled-mode operation was requested, but an error caused vxconfigd to enter disabled mode instead.
This is also returned for boot-mode operation if startup failed. However, with boot-mode operation, the
background vxconfigd process exits as well.
3 The -k option was specified, but the existing vxconfigd could not be killed.
4 A system error was encountered that vxconfigd cannot recover from. The specific operation that failed is
printed on the standard error output.
5 The background vxconfigd process was killed by a signal before startup completed. The specific signal is
printed on the standard error output.
6 A serious inconsistency was found in the kernel, preventing sane operation. This can also happen
because of version mismatch between the kernel and vxconfigd.
7 The -r reset option was specified, but the VxVM kernel cannot be reset. Usually this means that a volume
is open or mounted.
8 An interprocess communications failure (usually a STREAMS failure). Has made it impossible for
vxconfigd to take requests from other utilities.
9 Volumes that must be started early by vxconfigd could not be started. The reasons, and possible
recovery solutions, are printed to the standard error output. The early-started volumes are the root and /usr
file systems, if either or both of those file systems are defined on volumes.
FILES
/dev/vx/dsk Directory containing block device nodes for volumes.
/dev/vx/rdsk Directory containing raw device nodes for volumes.
/etc/vx/volboot File containing miscellaneous boot information.
/var/vxvm/tempdb Directory containing miscellaneous temporary files. Files in this directory are recreated
after reboot.
/var/vxvm/vxconfigd.log Default log file.
---------------------------------------------------------------------------------------------------------------------------------------vxdg - manage VxVM disk groups
SYNOPSIS
vxdg [ -g diskgroup ] [ -kp ] [ -o verify | override] adddisk [ medianame=]accessname...
vxdg [ -n newname ] [ -h newhostid ] deport diskgroup...
vxdg [ -o verify | override] destroy diskgroup...
vxdg flush [diskgroup...]
vxdg [ -g diskgroup ] [ -qa ] free [ medianame...]
vxdg [ -Cfst ] [ -n newname ] import diskgroup
vxdg [ -T version ] [ -s ] [ -o verify | override] init groupname [ nconfig=config-copies ] [ nlog=log-copies ]
[ minor=base-minor ] [ medianame =] accessname...
vxdg [ -o override | verify] join sourcedg targetdg
Veritas Commands

Page 12 of 93

vxdg [ -q ] list [diskgroup...]


vxdg [ -o expand] listmove sourcedg targetdg object...
vxdg [ -o expand] [ -o override | verify] move sourcedg targetdg object...
vxdg [ -g diskgroup ] [ -q ] nohotuse [ medianame...]
vxdg [ -o clean | remove] recover diskgroup
vxdg [ -g diskgroup ] [ -f ] reminor [diskgroup ] new-base-minor
vxdg [-g diskgroup ] [-k ] repldisk unassoc-medianame=spare-medianame...
vxdg [ -g diskgroup ] [ -k ] [ -o verify | override] rmdisk medianame...
vxdg -g diskgroup set attribute=value...
vxdg [ -g diskgroup ] [ -q ] spare [ medianame...]
vxdg [ -Cft ] [ -o expand] [ -o override | verify] split sourcedg targetdg object...
vxdg [ -T version ] upgrade diskgroup
DESCRIPTION : The vxdg utility performs basic administrative operations on disk groups. Operations
include the creation of disk groups, the addition of disks to a disk group, disk group split/join, and disk
group imports and deports.
Note : A license is necessary to use the Disk Group Split/Join feature.
The behavior of the vxdg utility depends upon the keyword specified as the first operand. A diskgroup
argument can be either a disk group name or a disk group ID. A groupname argument is a disk group
name, not a disk group ID. An accessname argument refers to a system-dependent disk access name
(also referred to as a disk device name), as stored in the root configuration by the vxdisk utility. If the slice
number extension in the disk access record name is not included in the accessname, s2 is assumed by
default. If any other slice is required then it should be included in the accessname (as in c2t1d0s2). A
medianame argument is an administrative name used to define a disk within a disk group.
KEYWORDS
adddisk Adds the specified disk or disks to a disk group (rootdg by default). The disk must not already be
part of a disk group. The accessname component to a disk specification argument names a disk access
record (essentially a device address specifica- tion) used to access the disk. If a medianame component is
specified, then it names the disk media record used to define the disk within the disk group. If no
medianame component is speci- fied, then the disk media record is given the same name as the disk
access record.
Adding a disk to a disk group causes the disk group's configuration to be copied onto the disk (if the disk
has regions for configuration copies). Also, the disk is stamped with the system's host ID, as defined in the
volboot file. If the -k flag is specified, then the disk media name must represent a disk media record that
was previously dissociated from its disk access record with -k rmdisk; otherwise, a new disk media record
is created to represent the disk. With the -k option, plexes requiring recovery are flagged as stale.
Specifying the -p flag with -k packs contiguous subdisks into one subdisk and aligns them consecutively on
their respective disks. Use the -p option when adding a root encapsulated disk or it may not boot correctly.
In a cluster environment, adding a disk to a cluster-shared disk group fails if the disk is not physically
accessible from all joined nodes in the cluster. If the addition is successful, the disk is stamped with the
cluster ID and marked with the shared flag.
deport Disables access to the specified disk group. A disk group cannot be deported if any volumes in the
disk group are currently open. When a disk group is deported, the host ID stored on all disks in the disk
group are cleared (unless a new host ID is specified with -h), so the disk group is not reimported
automatically when the system is rebooted.
A disk group can be renamed on deport by specifying a new disk group name with -n newname. A lock can
be assigned to an alternate host by specifying the host ID (see vxdctl(1M)) of the alternate host. This allows
the disk group to be autoimported when the alternate host reboots. For example, the -n and -h options can
be combined to export a disk group to be used as the rootdg disk group for a new machine.
In a cluster environment, when a cluster-shared disk group is deported, the cluster ID and shared flag
stored on all disks in the disk group are cleared, so the disk group is not imported automatically when the
cluster is next started. Trying to deport a shared disk group during a cluster reconfiguration fails.
destroy Removes a disk group from the system. Use this option when a disk group and the information on
the disks is no longer needed. This frees up space for use by other disk groups. A disk group cannot be
destroyed if any volumes in the disk group are open (for example, they are mounted as files systems or in
use by an application such as a database). vxdg destroy can be used only on imported disk groups.

Veritas Commands

Page 13 of 93

flush Rewrites all disk on-disk structures managed by VxVM for the named disk groups. This rewrites all
disk headers, configuration copies, and kernel log copies. Also, if any configuration copies were disabled
(for example as a result of I/O failures), this command rewrites those configuration copies, and attempts to
enable them.
free : Lists free space that can be used for allocating subdisks. If a disk group is specified, limit the output
to the indicated disk group, otherwise list space from all disk groups. If disks are specified, by disk media
name, then restrict the output to the indicated disks. A region of free space is identified by disk media
name, a physical device tag, an offset relative to the beginning of the public region for the media, and a
length.
The physical device tag is a reference that indicates which physical device the disk media is defined on. It
appears as a truncated disk access name. If a particular physical device is split into several VxVM disk
objects, then the device tags for each disk object are the same. Device tags can be compared to identify
space that is on the same or on different physical disks. If the -q option is specified, then no header is
printed describing output fields. If the -a option is specified, then space on spare disks (which is not really
allocatable) is listed in addition to regular free space; otherwise, space on spare disks is not listed.
import Imports a disk group to make the specified disk group available on the local machine. This makes
accessible any configuration information stored with the disk group, including any disk and volume
configurations. The disk group to import is indicated by the diskgroup argument, which can be either an
administrative disk group name or a disk group unique ID.
Typically, a disk group is not imported if some disks in the disk group cannot be found by the local host. The
-f option can be used to force an import if, for example, one of the disks is currently unusable or
inaccessible.
Note : Be careful when using the -f flag because it can import the same disk group twice from disjointed
sets of disks. This can make the disk group inconsistent.
When a disk group is imported, all disks in the disk group are stamped with the host's host ID. Typically, a
disk group cannot be imported if any of its disks are stamped with a non-matching host ID. This provides a
sanity check in cases where disks can be accessed from more than one host.
If it is certain that a disk is not in use by another host (such as because a disk group was not cleanly
deported), then the -C option can be used to clear the existing host ID on all disks in the disk group as part
of the import. A host ID can also be cleared using vxdisk clearimport. A new name can be given to the disk
group on import using -n newname. If -n is used with the -t option, the stored name of the disk group
remains unchanged, but the importing host knows the disk group under the new name; otherwise, the
name change is permanent.
Typically, an imported disk group is reimported automatically when the system is rebooted, if at least some
of the disks in the disk group remain accessible and usable. This can be disabled using the -t option, which
causes the import to be persistent only until the system is rebooted.
As an example of the use of -n and -t, a rootdg disk group from one host can be imported on a second
host, operations (such as making repairs to the root volume) can be performed on the second host and the
disk group can be given back to the originating host, which can then be rebooted on the repaired disk
group. To do this, identify the disk group ID for the rootdg disk group with
vxdisk -s list, and use that disk group to import that rootdg using -C to clear import locks, -t for a temporary
name, and -n to specify an alternate name (to avoid collision with the rootdg disk group on the second
host). After repair, deport the disk group using -h to restore the import lock from the first host. In a cluster
environment, use the -s option to import a disk group as cluster-sharable. This is only valid if the cluster is
active on the host where the import takes place. Ensure that all the disks in a shared disk group are
physically accessible by all hosts. A host which cannot access all the disks in a shared disk group cannot
join the cluster.
The disks in a shared disk group are stamped with the ID of the cluster to which the hosts belong and are
marked with the shared flag. When a host joins a cluster, it automatically imports disk groups whose disks
are stamped with the cluster ID. Trying to import a shared disk group during a cluster reconfiguration fails.
init Defines a new disk group composed of the indicated disks, identified by disk access names. This
involves assigning an internal unique ID to the group, storing a pointer to that group in the root
configuration, storing a reference to the group on all of the named disks that have a disk header, and
storing a disk group record in the disk group's configuration database. At least one of the disks specified
must have space allocated for a configuration copy.
An existing deported disk group is destroyed if it has the same name as that specified for the new disk
group. The init cannot complete if a disk is being used by a disk group, deported or otherwise. If vxdg finds

Veritas Commands

Page 14 of 93

an unneeded disk group on the disk, it can be cleaned with the vxdisk -f init command. vxdg init can then
be run again.
If a medianame is specified for use with a particular disk, then that medianame names the disk media
record used to reference the disk within the disk group (for operations such as rmdisk and subdisk
creations). If no medianame is specified, then the disk media name defaults to accessname. See
vxdisk(1M) for a discussion of definition and initialization of disk access records.
The init operation can be used to initialize a root disk group configuration, which is identified by the special
name rootdg. If any database locations are listed in the volboot file, then as a special case for initializing
rootdg, no disk specifications are allowed. Disks should be initialized and added to the disk group as the
first operations after creating rootdg. Some or all disks added to the rootdg disk group should also be
added to the volboot bootstrap file. The nconfig and nlog operands can be used to configure the number of
configuration database copies and kernel log copies that are maintained for a
disk group. The config-copies and log-copies values are either a decimal number (including 0 or -1) or set
to all or default. A value of all or -1 signifies that all configuration or log copies on all disks in the disk group
are to be maintained. A value of default or 0 (this is also the default value) signifies that VxVM is to manage
copies that are distributed in a reasonable pat- tern throughout the disks, controllers and enclosures on the
system. Any other number signifies that a particular number of copies should be maintained (or all copies, if
that number is larger than the number of available configuration or log copies on all disks).
When a specific number (or default) is requested, configuration copies are distributed across the
enclosures on the system. The number of copies in each enclosure is proportional to the number of disks in
that enclosure. With the default policy, at least one configuration and log copy is maintained for each
enclosure. It is ensured that at least one configuration and log copy is maintained for each host controller
connected to an enclosure. If this does not result in allocating at least 4 copies, then additional copies are
spread uniformly across enclosures.
Note: If a policy other than all is used, then some disks do not have up-to-date, online configuration and log
copies. As a result, it is possible that some number of disk failures can leave a disk group unusable, even if
some disks in the disk group remain usable. The default policy allocates a sufficient number of copies, in a
sufficient spread of locations, that such a scenario is very unlikely to occur.
Since disk groups can be moved between systems, it is desirable that device numbers used for volumes be
allocated in separate ranges for each disk group. That way, an administrator can choose ranges such that
all disk groups in a group of machines can be moved around without causing dev ice number collisions.
Collisions may occur because VxVM stores device numbers in disk group configurations, so that the same
numbers can be used after a reboot (which is necessary for use with NFS, which requires persistency of
device numbers). If two systems use the same device numbers for a set of volumes, and if a disk group
from one machine is moved to the other, then VxVM may be forced to temporarily remap some devices.
A base volume device minor number can be set for a disk group with the minor operand. Volume device
numbers for a disk group are chosen to have minor numbers starting at this base minor number. Minor
numbers can range up to 131071, so if it is presumed that no more than 1000 volumes would ever be
created in any one disk group, 131 different ranges of minor numbers are available for different disk
groups. A reasonably sized range should be left at the end for temporary device number remappings (in the
event that two device numbers still conflict).
If no minor operand is specified on the init command line, then VxVM chooses a random number of at least
1000 that is a multiple of 1000, and yields a usable range of 1000 device numbers. This default number is
chosen such that it does not overlap within a range of 1000 of any currently imported disk groups, and does
not overlap any currently allocated volume device numbers.
Note : The default policy is likely to ensure that a small number of disk groups can be merged successfully
between a set of machines. However, in cases where disk groups are merged automatically using fail-over
mechanisms, the administrator should select ranges that are known to avoid overlap.
In a cluster environment, the -s option defines a new disk group which is cluster-sharable while the cluster
is active. It is the responsibility of the user to ensure that disks specified as members of a cluster-sharable
disk group are physically accessible from the hosts that make up the cluster. The disks in a shared disk
group are stamped with the ID of the cluster to which the hosts belong and are marked with the shared flag.
When a host joins a cluster, it automatically imports disk groups whose disks are stamped with the cluster
ID.
Trying to create a shared disk group during a cluster reconfiguration fails.
Note : Volumes in shared disk groups must have the same minor number on all nodes in the cluster. If
there is a conflict when a node attempts to join the cluster, the join fails. In that case, the administrator
should use the reminor operation on the joined node(s) to resolve the conflict. In a cluster where more than
one node is joined, the administrator should use a base minor number which does not conflict on any node.

Veritas Commands

Page 15 of 93

If a version is specified with the -T option, the disk group is initialized with that disk group version. This
limits the operations that can be performed and features that can be used to those supported by the
specified disk group version. This makes the disk group compatible with releases of VxVM that support that
version. If no version is specified, the disk group is initialized with the highest versions supported by the
release of VxVM currently running on the system. See the vxdg upgrade operation for more information.
join Moves all objects from the imported source disk group, sourcedg, to the imported target diskgroup,
targetdg. At the conclusion of the move, sourcedg is removed.
The source disk group and target disk group to be joined must both be either private or shared. If one disk
group is private and the other is shared, deport and reimport the private disk group as shared before
performing the join.
The -o verify and -o override options modify the default behavior of a move, split or join operation that
includes disks from an EMC array. Usually, if the EMC license is present, the EMC disk compatibility check
is performed for each disk that is involved in a move. If the compatibility check succeeds, the normal
operation takes place. An internal check is made to ensure the configuration has not changed since the
compatibility check was performed. If it was changed, the entire process is retried.
If -o verify is specified, the access names of the disks to be moved are returned but the operation does not
take place.
If -o override is specified, the operation is performed without any EMC checking.
list Lists the contents of disk groups. If no diskgroup arguments are specified, then all disk groups are listed
in an abbreviated one-line format. If diskgroup arguments are specified, then a longer format is used to
indicate the status of the disk group, and of the specified disk group configuration.
If the -q option is specified, then no header is printed describing output fields. This option has no effect with
the long formats generated with diskgroup arguments.
In a cluster environment, if the -s option is specified, all cluster-shared disk groups are listed in a one-line
format. If diskgroup arguments are specified, -s has no effect.
listmove Displays a list of all objects, including all objects in hierarchies, that would move from the
imported source disk group, sourcedg, to the imported target disk group, targetdg, as implied by the
specified list of objects. The items in the specified object list must be top-level objects, disk media objects
or disk access objects. This command is used to confirm the validity and object content of a proposed
move operation without actually moving any objects.
move Moves the specified objects together with their hierarchies from the imported source disk group,
sourcedg, to the imported target disk group, targetdg.
The items in the object list must be top-level objects, disk media objects or disk access objects. The list
must define a set of self-contained objects, unless the -o expand option is specified. (Self-contained means
that the disks used by the selected objects should not contain any objects that are not selected for the
move.) If the -o expand option is specified, the object set is expanded to be self-contained.
The source disk group and target disk group must both be either private or shared. If one disk group is
private and the other is shared, deport and reimport the private disk group as shared before performing the
move.
See vxdg join for a description of the usage of the -o override and -o verify options.
nohotuse Lists free space that cannot be used by hot-relocation to replace failed subdisks. If a disk- group
is specified, the output is limited to the indicated diskgroup, otherwise nohotuse space from all disk groups
is listed. If disks are specified, by disk medianame, then the output is restricted to the indicated disks. A
region of nohotuse space is identified by disk medianame, a physical device tag, an offset relative to the
beginning of the public region for the media, and a length. The physical device tag is a reference that
indicates which physical device the disk media is defined on. It appears as a truncated disk access name. If
the -q option is specified, then no header is printed describing output fields.
recover Attempts to manually recover an incomplete move, split or join operation using either of the disk
groups that was involved in the operation.
In the event that the recovery cannot complete the operation, the -o clean option clears the MOVE flags
from the tutil0 fields of the objects in the disk group.
The -o remove option removes all objects marked with the MOVE flag from the disk group.
reminor Changes the base minor number for a disk group, and renumbers all devices in the disk group to
a range starting at that number. If the device for a volume is open, then the old device number remains in
effect until the system is rebooted or until the disk group is deported and re-imported. Also, if you close an

Veritas Commands

Page 16 of 93

open volume, then the user can execute vxdg reminor again to cause the renumbering to take effect
without rebooting or reimporting. A new device number may also overlap with a temporary renumbering for
a volume device. This also requires a reboot or reimport for the new device numbering to take effect. A
temporary renumbering can happen in the following situations: when two volumes (for example, volumes in
two different disk groups) share the same permanently assigned device number, in which case one of the
volumes is renumbered temporarily to use an alternate device number; or when the persistent device
number for a volume was changed, but the active device number could not be changed to match. The
active number may be left unchanged after a persistent device number change either because the volume
device was open, or because the new number was in use as the active device number for another volume.
vxdg fails if you try to use a range of numbers that is currently in use as a persistent (not a temporary)
device number. You can force use of the number range with use of the -f option. With -f, some device
renumberings may not take effect until a reboot or a re-import (just as with open volumes). Also, if you force
volumes in two disk groups to use the same device number, then one of the volumes is temporarily
renumbered on the next reboot. Which volume device is renumbered should be considered random, except
that device numberings in the rootdg disk group take precedence over all others.
The -f option should be used only when swapping the device number ranges used by two or more disk
groups. To swap the number ranges for two disk groups, you would use -f when renumbering the first disk
group to use the range of the second disk group. Renumbering the second disk group to the first range
does not require the use of -f.
repldisk Dissociates the DA record from the DM record named by spare-medianame, and reassociates it
with the unassociated DM record named by unassoc medianame. Both unassoc-medianame and sparemedianame must be members of the disk group named by the diskgroup argument (rootdg by default).
However, if the -k flag is specified, then the disk media records for the spare-medianame are retained,
although in a removed state.
rmdisk Removes the specified disk or disks from a disk group (rootdg by default). The last disk cannot be
removed from its disk group. It is not possible to remove the last disk containing a valid disk group
configuration or log copy from its disk group. Typically, the rmdisk operation fails if subdisk records point to
the named disk media records. However, if the -k flag is specified, then the disk media records are kept,
although in a removed state, and the subdisk records still point to them. The subdisks, and any plexes that
refer to them, remain unusable until the disk is re-added using the -k option to the adddisk operation. Any
volumes are disabled that become unusable because all plexes become unusable.
set Changes disk group characteristics. Specify changes by entering arguments after the set key- word in
the form attribute=value. The only settable attribute is the activation mode of the disk group:
activation=mode. The activation mode of a disk group allows applications to read and write to volumes in
the disk group. The following are the valid activation modes and corresponding read/write capability for
non-shared disk groups:
readwrite | rw Volumes in the disk group are available for read and write access.
readonly | ro Volumes in the disk group are available for read access only.
off Volumes in the disk group are not available for read or write access.
For a shared disk group, the activation mode is on a per node basis. The following are the valid activation
modes and corresponding read/write capability for shared disk groups:
exclusivewrite | ew The node has exclusive write access to volumes in the disk group. No other node in
the cluster can activate the disk group for write access.
sharedwrite | sw The node has write access to volumes in the disk group. Other nodes can activate the
disk group for shared write access.
readonly | ro The node has read access to volumes in the disk group. It has no write access and denies
write access to all other nodes in the cluster.
sharedread | sr The node has read access to volumes in the disk group, but no write access, However,
other nodes can activate the disk group for write access.
spare Lists spare space that can be used for relocating subdisks during recovery. If a disk group is
specified, the output is limited to the indicated disk group, otherwise spare space is listed from all disk
groups. If disks are specified, by disk media name, the output is restricted to the indicated disks. A region of
spare space is identified by disk media name, a physical device tag, an offset relative to the beginning of
the public region for the media, and a length. The physical device tag is a reference that indicates which
physical device the disk media is defined on. It appears as a truncated disk access name. If the -q option is
specified, then no header is printed describing output fields.
split Moves the specified objects together with their hierarchies from the imported source disk group,
sourcedg, to a newly created target disk group, targetdg.

Veritas Commands

Page 17 of 93

This operation fails if it would remove all the disks from the source disk group, or if an imported disk group
exists with the same name as the target disk group. An existing deported disk group is destroyed if it has
the same name as the target disk group (as is the case for the vxdg init command).
The items in the object list must be top-level objects, disk media objects or disk access objects. The list
must define a set of selfcontained objects, unless the -o expand option is specified. (Self-contained means
that the disks used by the selected objects should not contain any objects that are not selected for the
move.) If the -o expand option is specified, the object set is expanded to be self-contained. The newly
created target disk group is imported as shared if the source disk group is shared; otherwise, it is imported
as private. The -C, -f, and -t options are import options for the new disk group. See the description of vxdg
import for details of their use.
See vxdg join for a description of the usage of the -o override and -o verify options.
upgrade Upgrades the disk group to the latest VxVM version. By default, the disk group version is updated
to the running version of VxVM. The -T option upgrades the disk group to a specified version. The following
section lists each disk group version, the features it supports, and the VxVM release that introduced it.
Note: Some VxVM versions are not available on all supported OS platforms.
10 Supports only the most basic volume management features of mirroring and simple striping. This format
was introduced in VxVM Release 1.2. Starting with VxVM Release 3.0, disk groups of version 10 can be
imported, but no operations can be performed on the objects it contains (for example, starting volumes or
adding mirrors). The only operation supported is to upgrade the disk group to a later release.
20 Introduced support for RAID-5 Volumes, new style stripes, recovery checkpointing, disk group
configuration/klog copy limiting, and Dirty Region Logging. This version was introduced in VxVM Release
2.0 and is supported by all subsequent releases of VxVM.
30 Enabled support for the Oracle Resilvering Interface. This version was introduced in VxVM Release 2.2
and is supported by all subsequent releases of VxVM.
40 Support for Hot Relocation. Introduced in VxVM Release 2.3 and is supported by all subsequent
releases of VxVM.
60 Support for Online Relayout, safe RAID-5 subdisk moves, Striped Mirrors, and RAID-5 Snapshots.
Introduced in Release 3.0.
70 Non-Persistent FastResync, VERITAS Volume Replicator (VVR) enhancements, and Unrelocate.
Introduced in Release 3.1.
80 VERITAS Volume Replicator (VVR) Enhancements. Introduced in Release 3.1.1.
90 Cluster support for Oracle Resilvering, disk group move, split and join, Device Discovery Layer (DDL),
layered volume support in clusters, ordered allocation, OS independent Naming support, and Persistent
FastResync. Introduced in Release 3.2. To determine the version of a disk group, use the vxdg list
diskgroup command.
Hardware-Specific Options Some environments provide guidelines to optimize VxVM's interaction with
intelligent storage systems. If these guidelines are present, VxVM follows the guidelines when creating disk
groups and adding disks to disk groups. By default, vxdg only allows disk groups to contain disks that
conform with these guidelines. The following options change the behavior of vxdg:
-o override Performs the disk group task and ignores any storage-specific guidelines. Overriding the
guidelines is not recommended as it can result in incompatible objects, or objects that cannot be
administered by VxVM.
-o verify Verifies that the specified disk group task can be performed without violating any storage-specific
guidelines, but does not perform the task. If any guidelines are violated, vxdg exits with an error message.
Note : These options need a specific license. Without the license, vxdg ignores the specified option.
---------------------------------------------------------------------------------------------------------------------------------------vxddladm - Device Discovery Layer subsystem administration
SYNOPSIS
/etc/vx/bin/vxddladm keyword [attribute[=value] ...]
vxddladm [-a | -f | -n] addforeign {dirname=directory | pathname=device}
vxddladm addjbod vid=vendor-id [pid=product-id] [opcode=scsi_opcode]
[pagecode=page_code] [offset=page_offset] [length=sno_length]
vxddladm excludearray libname=libname
vxddladm excludearray arrayname=arrayname
vxddladm excludearray vid=vendor-id pid=product-id
Veritas Commands

Page 18 of 93

vxddladm excludearray vid=vendor-id


vxddladm excludearray pid=product-id
vxddladm excludearray all
vxddladm includearray libname=libname
vxddladm includearray arrayname=arrayname
vxddladm includearray vid=vendor-id pid=product-id
vxddladm includearray vid=vendor-id
vxddladm includearray pid=product-id
vxddladm includearray all
vxddladm listexclude [all]
vxddladm listforeign
vxddladm listjbod [vid=vendor-id [pid=product-id]]
vxddladm listsupport [all]
vxddladm rmforeign {dirname=directory | pathname=device}
vxddladm rmjbod vid=vendor-id [pid=product-id]
DESCRIPTION The vxddladm utility is an administrative interface to the dynamic array support facility of
the Device Discovery Layer (DDL). This utility lists the types of arrays supported, adds or removes array
support from DDL, and allows dynamic addition of JBOD support for disks from different vendors. It
additionally lists supported JBODs, and allows addition or removal of JBOD support. The vxddladm utility is
also used to customize the set of array libraries that can parti- cipate in device discovery.
KEYWORDS
addforeign Adds an entry to the list of foreign devices that are not autoconfigurable by VxVM. The dirpath
attribute defines a directory that contains device entries that are all to be regarded as foreign devices. The
devicepath attribute defines the absolute path of a single foreign device. All directory and device entries
must be specified as absolute pathnames. Device paths may include the * wildcard. Block and character
devices must be defined separately. One of the following options may also be specified to define how
alternate device entries that are discovered by VxVM are to be treated:
-a : Suppresses any entries for matching devices in the OS-maintained device tree that are found by the
VxVM autodiscovery mechanism. This is the default action if no option is specified to addforeign.
-f : Retains any entries for matching devices found by the VxVM autodiscovery mechanism, and
suppresses any foreign device entries that are defined.
-n : Does not suppress any entries. Duplicate entries for foreign devices are allowed.
addjbod Adds disks having the specified VID and PID in the JBOD category (DISKS).
excludearray Excludes the specified array libraries from participating in device discovery. This does not
remove the specified libraries from the system. As a result, vxddladm listsupport displays the corresponding
disk arrays.
includearray Includes the array libraries previously excluded by excludearray. These can be used for
device discovery operations.
listexclude Lists information about the disk array libraries excluded from device discovery functionality.
listforeign Lists information about foreign devices that are not autoconfigurable by VxVM.
listjbod Lists information about the types of disks supported in JBOD category (DISKS).
listsupport Lists information about supported disk arrays.
rmforeign Removes a matching entry from the list of foreign directories and devices.
rmjbod Removes disk with the specified VID and PID from the JBOD category (DISKS). These disks are
categorized as OTHER_DISKS and are not multipathed.
ATTRIBUTES The attribute all selects all objects for an operation. Other attributes are specified using the
format attribute=value.
arrayname Name of the array on which the operation is performed.
length Size of the field containing unique disk serial number.
libname Name of the array library on which the operation has to be performed.
offset Offset on the page code.

Veritas Commands

Page 19 of 93

opcode SCSI opcode.


pagecode Page code for SCSI command.
pid Product ID of the disk array.
vid Vendor ID of the disk array.
NOTES The value for vid and pid should be taken from the output of the vxddladm listsupport command.
These values may be different from the actual vid and pid values of the disks within an array.
Some devices that are controlled by third-party drivers (for example, EMC PowerPath, RAM disks) may not
be discoverable using DDL. Such foreign devices can be made available as simple disks to VxVM by using
the addforeign command. DMP is also bypassed for such devices. If a foreign device has alias devices in
the OS-maintained device tree, DDL/DMP creates additional disk access records that point to the same
physical device. As such additional records are usually not required, creation of these entries can be
avoided by specifying the -a option. After adding or removing foreign device entries, use either of the
commands vxdisk scandisks or vxdctl enable to discover the foreign devices as simple disks. These disks
behave in the same way as autoconfigured disks.
If you specify a vid and pid combination to the excludearray or includearray operations, this excludes or
includes all arrays that are supported by the corresponding array library.
---------------------------------------------------------------------------------------------------------------------------------------vxdiskadm - menu-driven VxVM disk administrator
The vxdiskadm script is interactive and prompts you for responses, supplying defaults where appropriate.
Help is available at every prompt by entering a question mark (?) to display a context-sensitive help
message.
To add or encapsulate disks, specify one or more disks with a disk-address-pattern-list. The basic format
for disk addresses is c#t#d# or enclosure-based names such as enc1_0. You can specify just the controller
and target to add or encapsulate all the disks at that SCSI address. For exam- ple, use c2t0 to specify all
disks on controller two, target zero. You can specify more than one disk address or address pattern on the
command line. The word all specifies all disks on the system. Disk address names relate directly to device
node names in the /dev/dsk and /dev/rdsk directories.
You can use the files /etc/vx/disks.exclude, /etc/vx/cntrls.exclude and /etc/vx/enclr.exclude to exclude disks,
controllers and enclosures from use by vxdiskadm. Each line of disks.exclude specifies a disk to exclude,
for example, c0t3d0. Each line of cntrls.exclude specifies the address of a controller to exclude, for
example, c2. Each line of enclr.exclude specifies an enclosure to be excluded, for example, enc1.
OPERATIONS Add or initialize one or more disks Prompts for one or more disk device addresses. Prompts
for a disk group (which defaults to rootdg). You are also given the alternative of initializing the disk but
leaving it unallocated to a disk group. If a disk group is specified, you must name the disk. A default disk
name in the form disk## is chosen for the root disk group. If you add a disk to a disk group other than
rootdg, the name is in the form diskgroup##, such that the names are unique within all imported disk
groups. If a disk group is specified for the disks, you are prompted to specify whether to designate the disks
as spares for the disk group. The disks are then checked to ensure that there is no information already on
them. If there is, you are given the option of encapsulating them.
Encapsulate one or more disks Prompts for one or more disk addresses. It then calls vxencap to
encapsulate partitions on the named disk.
Remove a disk Prompts for a disk, by disk media name. The disk is checked to ensure that no subdisks
reside on the disk. If the disk is in use, the operation fails with a recommendation to first move all volumes
off the disk. If this disk is the last disk in a group, you are also prompted whether to remove the disk group
from the system. The operation then calls vxdg rmdisk to remove the disk from its disk group. If this is the
last disk in its disk group, vxdg deport is used instead.
Remove a disk for replacement Prompts for a disk by disk media name. The disk is checked for volumes
that would lose all mirrors as a result of the operation. If such volumes exist, those volumes are listed and
you are prompted whether to continue the operation. The operation calls vxdg -k rmdisk to dissociate the
media record from the physical disk. If there are formatted disks available that have disk headers but no
disk group, you are prompted whether to use one of these disks as a replacement.
Replace a failed or removed disk Prompts for a disk media name. The named media record must be
dissociated from a disk. If the media record is not in the removed state, unused disks are scanned for
matching disk IDs. If a disk with a matching disk ID is found, you are prompted whether to reattach that
disk. If a matching disk is not used, you are prompted for a new disk, by device address. If the named
replacement disk has a valid disk header, but is not allocated to a disk group, you are prompted whether to
reinitialize the disk. If the named replacement disk is listed as allocated to a disk group or to another host,

Veritas Commands

Page 20 of 93

you are prompted whether to continue the operation. If the device is initialized, vxdisksetup is called to set
up public and private regions and to create the disk header. Given an initialized disk, the operation replaces
the disk in a disk group with vxdg -k adddisk.
Mirror volumes on a disk Prompts for a disk, by media name. It then prompts for a destination disk within
the same disk group, also by media name. Specifying no destination disks indicates that any disk can be
the destination. The operation calls vxmirror to mirror the volumes.
Move volumes from a disk Prompts for a disk, by media name. It then prompts for a possible list of
destination disks, also by disk media name. Specifying no destina- tion disks indicates that any disk is
suitable. The operation calls vxevac to move subdisks off the disk.
Enable access to (import) a disk group Prompts for a disk group name. The operation calls vxdg import
to import the disk group stored on that disk.
Remove access to (deport) a disk group Prompts for a disk group name. The prompt lists alternate disk
groups and the disks (media name and access name) that they contain. The operation calls vxdg deport.
Enable (online) a disk device Prompts for a disk device. The prompt lets you display the disks on the
system. The operation functions only for disks currently offline. It then makes the disk accessible.
Disable (offline) a disk device Prompts for a disk device. The prompt lets you display the disks on the
system. The operation functions only for disks currently online, but not part of any disk group. It then marks
the disk as offline such that VxVM no longer tries to access the disk.
Mark a disk as a spare for a disk group Sets up a disk as a spare device for its disk group. A spare disk
can be used to automatically replace a disk that has failed. No space can be used on a disk that is marked
as a spare.
Turn off the spare flag for a disk Removes a disk from the list of spare disks, and returns its space to the
general pool of available space.
Unrelocate subdisks back to a disk Moves subdisks which were hot-relocated following a disk failure
back to the original disk, or to a disk with a different name, possibly with a different offset.
Exclude a disk from hot-relocation use Sets up a disk to be excluded from use by hot- relocation. The
disk is marked as nohotuse and it cannot be used by hot-relocation to replace a disk that has failed.
However, it remains available to be used as free space for its disk group.
Make a disk available for hot-relocation use Turns off the nohotuse flag on a disk. Use this option to make a
disk available for hot-relocation use. This only applies to disks that were previously excluded from hotrelocation use.
Prevent multipathing/Suppress devices from VxVM's view Excludes devices from VxVM's view, or prevents
them from being multipathed by the dynamic multipathing (DMP) driver, vxdmp. There are three ways of
specifying the devices on which these operations are to be performed:
o As a controller for all devices connected through the controller.
o As a physical pathname for all devices under that path.
o As a combination of the Vendor ID and Product ID (VID:PID) for all devices of that type.
This option also provides a method to define path-groups in case of disks which are not multipathed by
VxVM. Only one path from a pathgroup will be made visible to VxVM. This is useful to avoid duplicate
entries for devices that are not multipathed by vxdmp. Allow multipathing/Unsuppress devices from VxVM's
view Makes devices visible to VxVM again or makes vxdmp multipath these devices again. This can be
performed only on devices that have already been specified using the "Prevent multipathing/Suppress
devices from VxVM's view" option.
List currently suppressed/non-multipathed devices Lists all devices suppressed from VxVM's view and all
devices prevented from being multipathed by vxdmp.
Change the disk naming scheme Changes the disk naming scheme from the c#t#d# format to enclosurebased. Alternatively, if the existing naming scheme is enclosure-based, it is changed to c#t#d# format.
Get the newly connected/zoned disks in VxVM view Scans and configures any new disk devices that are
attached to the host, disk devices that became online, or fibre channel devices that were zoned to host bus
adapters connected to this host.
List disk information Displays a list of disks. You can also choose to list detailed information about the disk
at a specific disk device address.
Hardware-Specific Note Some environments provide guidelines to optimize VxVM's interaction with
intelligent storage systems. If these guidelines are present, VxVM follows the guidelines when adding disks
to disk groups and when mirroring the volumes on a disk. If the operation fails due to these guideline(s),
you are prompted to use the force option. The force option ignores any such storage-specific guidelines.
Veritas Commands

Page 21 of 93

FILES
/etc/vx/cntrls.exclude Specifies the address of controllers to exclude from vxdiskadm operations.
/etc/vx/disks.exclude Specifies the address of disks to exclude from vxdiskadm operations.
/etc/vx/enclr.exclude Specifies the names of enclosures to exclude from vxdiskadm operations.
---------------------------------------------------------------------------------------------------------------------------------------vxmake - create VxVM configuration records
SYNOPSIS
vxmake [-pV ] [-g diskgroup] [-o useopt] [-U usetype] [-T a|o] [-d
descfile]
vxmake [-pV ] [-g diskgroup] [-o useopt] dco name [attribute=value...]
vxmake [-pV ] [-g diskgroup] [-o useopt] plex name [attribute=value...]
vxmake [-pV ] [-g diskgroup] rlink name [attribute=value...]
vxmake [-pV ] [-g diskgroup] rvg name [attribute=value...]
vxmake [-pV ] [-g diskgroup] [-o useopt] sd name [attribute=value...]
vxmake [-pV ] [-g
[attribute=value...]

diskgroup]

[-o

useopt]

[-U

usetype]

vol

name

DESCRIPTION The vxmake utility creates subdisk, plex, and volume records for VxVM (VxVM). Records
can be created entirely from parameters specified on the command line, or they can be created using a
description file.
vxmake can also create a data change object (DCO) that is used to implement Persistent FastResync on a
volume. When the VERITAS Volume Replicator (VVR) option is avail- able, vxmake can also create RVG
and RLINK records. RVG and RLINK records only support gen usage.
Note : The vxprint utility can be used with vxmake to perform the functions of a rudimentary configuration
backup and restore. This should be the primary use of vxmake. Use of vxmake other than through a
description file containing content mostly gathered from either the vxprint utility is discouraged in VxVM
releases starting with 3.0. The vxassist utility and the graphical user interface are the recommended means
of creating new or modified volume hierarchies.
If no operands are specified, then a description file is used to specify what records to create. By default,
this description file is read from the standard input. If operands are specified, then the first operand is a
keyword that determines the object to build, the second operand is the name of the object to be created,
and additional operands specify attributes for the object to be built. An attribute given on the command line
is specified in the same manner used with the description file (with multiple attributes given, one attribute
per operand), except that the double-quote convention is not needed. For convenience, a special attribute
form can be used for subdisks specified directly from the command line. This special attribute form is:
devicepath,offset[,len] or medianame,offset[,len]

The first form specifies a subdisk location by device path, offset within that device, and length. The second
form specifies the subdisk location by a disk media record name, offset within the disk's public region, and
length. Optionally, the length can be specified with a len=length attribute instead. If a device path is
specified, then it must match the device path for the public region of a known disk in the indicated disk
group. More than one record, including more than one volume or plex hierarchy, can be specified in a
single description file. vxmake attempts to create all records within a single transaction, so that either all
records are created or no records are created. This is the default behavior. The -T option allows users to
select transaction control that differs from the default behavior when restoring records within a volume
hierarchy from a description file. This is particularly helpful with layered volume hierarchies that include
subvolumes.
Descriptions of records within a volume hierarchy are filtered through a usage-type-specific utility, as
appropriate for the usage type, before the records are actually created. Subdisks and plexes that are not
specified within a volume hierarchy are filtered by the gen usage type. The usage- type utilities may change
the descriptions so that certain fields are ignored or set up with initial values. Plex or subdisk records to be
associated with a volume or plex may also be changed if the association is indicated in the description,
even if the plex or subdisk record is not explicitly specified. A usage type must be specified for every
volume record, either through setting the usetype field in the volume record description, or through the -U
option to vxmake.
OPTIONS

Veritas Commands

Page 22 of 93

-d descfile Specify the name of a description file to use for building subdisks, plexes, volumes, RVGs and
RLINKs. If the descfile option argument is -d, then the description file is read from the standard input. If no
operands are specified, and no descfile is specified, then a description file is read from the standard input.
This option is ignored for records that are specified directly on the command line.
-g diskgroup Specify the disk group for the operation. The disk group can be specified either by name or
by disk group ID.
-o useopt Give usage-type-specific options to the usage type utility.
-p Print a list of all changes that would be made to the standard output, but do not make those changes.
The output is in the vxmake description file format. All computable and potentially useful attributes are
printed for new records. For records that would be modified, only those attributes that would change are
printed, along with an extra attribute declaration, CHANGED=yes. In this way the -p option performs a
preview run of the utilities.
This option is intended for use with higher-level tools that preview record creations, particularly with respect
to usage-type-dependent attribute modifications.
-T This option controls the unit of work that vxmake uses to make records within a single transaction when
restoring records from a description file. If the option argument is a or the -T option is absent altogether,
then vxmake attempts to create all records within a single transaction, so that either all records are created
or no records are created. This behavior is considered the default behavior and it is backward- compatible
with previous releases of VxVM. If the option argument is o, then one complete top-level object (Volume
hierarchy, dissociated plex hierarchy, or dissociated subdisk hierarchy) is created at a time, and if multiple
top-level objects are to be created from the same description file, then vxmake attempts to create each one
a top-level object at a time in its own transaction. Note that should some objects be creatable and some
not, the configuration results in those objects that vxmake was actually able to create. This option can be
used for any record hierarchy. Because record hierarchies with layered volumes may contain many
subordinate records (such as subvolumes), the -T o option is particularly useful for safely creating these
kinds of objects.
-U usetype Use usetype as the default usage type for volumes. This option has no effect if only subdisks
and plexes are created, or if the usage type for a volume is specified directly with the description file
variable usetype.
-V Display a list of utilities that would be called from vxmake, along with the arguments that would be
passed. The -V option performs a preview run of the utilities; the utilities are not actually called, and no
changes are made to the volume configuration database.
Attribute Specification Rules The only attributes that must be specified are the path and len attributes for
subdisk records, and a usage type for volume records. In addition, if the layout attribute for a plex record is
set to STRIPE, then a positive value must be specified for the stwidth attribute. Also, if no subdisks are
specified for a plex of the STRIPE layout, the ncolumn attribute must be specified.
Attempts to specify certain attributes are ignored by vxmake. Some attributes are ignored by the switchout
(usage-type independent) vxmake itself. The usage-type dependent vxmake may cause additional
attributes to be ignored.
The sections that follow provide information on the attributes that can be specified for subdisk, plex, and
volume creation.
Subdisks Fields that can be specified for subdisks are: tutil0, tutil1, tutil2, putil0, putil1, putil2, daname,
dmname (or disk), path, comment, devoffset, dmoffset, len and dmrid. The disk specification for subdisks
uses one of following fields, in order of precedence: dmrid, dmname, daname, or path. The dmrid field is
used, if non-zero. One of the other fields is used if defined to a non-empty string. If the path field is the only
field used, it must define the block device path for a partition containing the public region of a disk in the
requested disk group.
With path, the devoffset field is used as an offset into the partition; otherwise dmoffset is used as an offset
into the private region. This distinction is important if the public region does not begin at the beginning of its
partition. Specification of a disk in some form (including possibly the special forms devicepath,offset,length
or medianame,offset,length) is required. Specification of the len field is also required. All other fields default
to zero (for numbers) or empty strings (for strings).
Plexes Fields that can be specified for plexes are: tutil0, tutil1, tutil2, putil0, putil1, putil2, comment, layout,
ncolumn, stwidth, sd, and logsd.
There are no required fields for plex records. All fields default to zero (for numbers) or empty strings (for
strings). The layout field defaults to concat.
If the layout field is set to stripe or raid5, then the stwidth attribute must be specified. If the layout field is set
to concat, the ncolumn field cannot be specified.

Veritas Commands

Page 23 of 93

An sd specification names the subdisks to associate with the


plex. The specification optionally names the offsets of the
subdisks within the plex. If no offsets are specified, then
the subdisks are directly concatenated in the order indicated. If the sd attribute is specified for a striped plex
and ncolumn is not specified, ncolumn will default to the
column of the subdisk with the highest column specification.
As a special case, if ncolumn is not specified and the sd
does not specify columns or offsets for the subdisks, then
each subdisk will be placed in its own column at an offset
of zero in the order they are specified and the plex's
ncolumn attribute is set to the number of subdisks specified.
A logsd specification names a subdisk to associate as a special log subdisk for recording volume activity as part of
the DRL or DCM logging features.
VxVM 3.5 Last change: 1 Oct 2002 5
Maintenance Commands vxmake(1M)
Volumes
Fields that can be specified for volumes are: tutil0,
tutil1, tutil2, putil0, putil1, putil2, comment, usetype,
startopts, readpol, prefname, minor, user, group, mode, len,
writeback, writecopy, exclusive, primary_datavol, logtype,
plex, and dco_name.
Specification of a usage type is required, either using the
-U option on the command line, or using the usetype attribute. Specification of a usetype attribute overrides a
value specified with -U. All other fields have default
values: readpol defaults to round; user and group both
default to 0 (root); mode defaults to u=rw (mode 600);
writeback and writecopy default to on; exclusive defaults to
off; len defaults to the length of the shortest associated
plex (or zero, if no plex associations are requested); all
other numeric fields default to zero, and all other string
fields default to empty strings.
A plex specification names the plexes to associate with the
volume. The order of plexes in this list is not important.
The value of the prefname field is relevant only if the
readpol attribute is set to prefer.

Veritas Commands

Page 24 of 93

A dco_name specification names the data change object (DCO)


to associate with the volume.
DCOs
Fields that can be specified for data change objects (DCOs)
are: tutil0, tutil1, tutil2, putil0, putil1, putil2, comment, log, and dco_sp_num,
A log specification defines the volume that is to be associated as a DCO volume. A DCO volume tracks changes for the
DCO. The following example uses this field to associate
myvol_dcl with the DCO myvol_dco_obj:
vxmake dco myvol_dco_obj log=myvol_dcl
dco_sp_num stores the number of snap records that are associated with the DCO.
RVG Records
Fields that can be specified for RVGs are: tutil0, tutil1,
tutil2, putil0, putil1, putil2, comment, datavol, srl,
rlink, primary, user, group, mode.
There are no required fields for rvg records. All fields
default to zero (for numbers) or empty strings (for
strings). The datavol attribute is a list of the name or
VxVM 3.5 Last change: 1 Oct 2002 6
Maintenance Commands vxmake(1M)
names (separated by a comma) of the data volumes to be associated with the rvg. The srl attribute is the name of the
VERITAS Volume Replicator log volume to be associated with
the rvg. The rlink attribute is a list of name or names
(separated by a comma) of the RLINK to be associated with
the rvg. The order of RLINKs in the list is not important.
Secondary RVGs can have at most one RLINK. The primary
attribute should be set to true for the primary rvg and
false for all secondary RVGs.
RLINK Records
Fields that can be specified for RLINKs are: tutil0,
tutil1, tutil2, putil0, putil1, putil2, comment, synchronous, local_host, remote_host, remote_dg, remote_rlink,

Veritas Commands

Page 25 of 93

timeout, packet_size, protocol, latency_high_mark,


latency_low_mark, latencyprot, srlprot
There are no required fields for RLINK records. All fields
default to zero (for numbers), empty strings (for strings),
or off (for synchronous, latencyprot and srlprot) with the
exception of timeout, packet_size, latency_high_mark, and
latency_low_mark, which default to some reasonable non-zero
values. The timeout (milliseconds to wait for connection
timeouts) and packet_size (bytes per packet) attributes
should be tailored to the system on which VVR is running.
The remote_host attribute is the name of the remote primary
or secondary node. The remote_dg attribute is the name of
the remote diskgroup. The remote_rlink attribute is the name
of the remote RLINK. The protocol argument displays the
transport protocol used by VVR, and is set to the value of
the system tunable parameter vol_vvr_transport (1 for UDP,
or 2 for TCP).
FSGEN and GEN Usage Types
The fsgen and gen usage-type-specific utilities that support
vxmake are used by the switchout vxmake utility as filters
that set defaults for plex and volume states.
Subdisk fields are set, checked, or modified as follows:
len Subdisk lengths are required to be set to a nonzero value.
tutil0 This field is cleared.
Plex fields are set, checked, or modified as follows:
tutil0 This field is cleared.
state If the plex is to be associated with a volume, the
state field is set to EMPTY; otherwise it is
cleared.
VxVM 3.5 Last change: 1 Oct 2002 7
Maintenance Commands vxmake(1M)
Volume fields are set, checked, or modified as follows:
tutil0 This field is cleared.

Veritas Commands

Page 26 of 93

state This field is set to EMPTY.


Attempts to associate an existing subdisk or plex with a new
plex or volume will be refused, unless the putil0 field for
the existing record is empty.
The putil0 fields are not set, and their contents are
preserved.
RAID-5 Description
The raid5 usage-type-specific utilities that support vxmake
are used by the switchout vxmake utility as filters that set
defaults for plex and volume states.
Subdisk fields are set, checked or modified as follows:
len Subdisk lengths are required to be set to a nonzero value.
tutil0 This field is cleared.
Plex fields are set, checked, or modified as follows:
tutil0 This field is cleared.
state If the plex is to be associated with a volume, the
state field is set to EMPTY; otherwise it is
cleared.
Volume fields are set, checked, or modified as follows:
tutil0 This field is cleared.
state This field is set to EMPTY.
Attempts to associate an existing subdisk or plex with a new
plex or volume will be refused, unless the putil0 field for
the existing record is empty.
The putil0 fields are not set, and their contents are
preserved.
The raid5 specific vxmake utility will only allow one plex
with a layout of raid5 to be associated with a volume.
Plexes not of the raid5 layout are associated as RAID-5 log

Veritas Commands

Page 27 of 93

plexes.
VxVM 3.5 Last change: 1 Oct 2002 8
Maintenance Commands vxmake(1M)
EXAMPLES
The following is an example of a vxmake description file:
#rectyp #name #options
sd disk3-01 disk=disk3 offset=0 len=10000
sd disk3-02 disk=disk3 offset=25000 len=10480
sd disk4-01 disk=disk4 offset=0 len=8000
sd disk4-02 disk=disk4 offset=15000 len=8000
sd disk4-03 disk=disk4 offset=30000 len=4480
plex db-01 layout=STRIPE ncolumn=2 stwidth=16k
sd=disk3-01:0/0,disk3-02:0/10000,disk4-01:1/0,disk4-02:1/8000,disk4
-03:1/16000
sd ramd1-01 disk=ramd1 len=640
comment="Hot spot for dbvol"
plex db-02 sd=ramd1-01:40320
vol db usetype=gen plex=db-01,db-02
readpol=prefer prefname=db-02
comment="Uses mem1 for hot spot in last 5m"
This description specifies a gen type volume that contains
two plexes: a volatile memory disk plex (db-02), which is
preferred, and a physical disk plex (db-01). The memory disk
plex is sparse and covers only the last 640 sectors of the
40960-sector length of the volume. The physical disk plex
is striped across two 20480-sector columns. Column zero contains two subdisks and column one contains three subdisks.
The plex offset specified for each subdisk concatenates the
subdisks contiguously in their respective columns.
Note: More than one attribute may be declared on a single
line if separated by one or more tabs or spaces. An attribute and its specified values must be defined on the same
line. Attributes that are specified on lines subsequent to
the first line for an object definition must be preceded by
one or more tabs or spaces.
For striped or RAID-5 plex subdisk associations, if one
number is specified for the column and column offset field,
the number is interpreted as a column number and the subdisk

Veritas Commands

Page 28 of 93

is associated at the end of the column in the order it


appears in the subdisk list. The same subdisk association
list for plex db-01 could be re-written as follows:
sd=disk3-01:0,disk3-02:0,disk4-01:1,disk4-02:1,disk4-03:1
The following is an example of a vxmake description file
which specifies an RVG that contains two RLINKs, two data
volumes and an srl volume:
VxVM 3.5 Last change: 1 Oct 2002 9
Maintenance Commands vxmake(1M)
#rectyp #name #options
rlink rl01 remote_host=egbert remote_dg=rootdg
remote_rlink=rl0A
rlink rl02 remote_host=robert remote_dg=rootdg
remote_rlink=rl0B
rvg rvg01 rlink=rl01,rl02 primary=true
datavol=vol02,vol03 srl=srl01
The following is a simple sequence of commands to create a
hierarchy with one subdisk, one plex, and one volume:
vxmake sd disk07-01 disk=disk07 len=10000 \
comment="disk07 subdisk 1"
vxmake plex demo-1 sd=disk07-01 \
comment="Demo volume, plex 1"
vxmake -U gen vol demo plex=demo-1 \
comment="Demo gen volume"
The next example shows how to use vxmake to create a volume
with an associated DCO object and DCO volume:
# First make the DCO volume
vxmake sd disk08-01 disk=disk08 len=264 \
comment="dco vol subdisk"
vxmake plex dco_plex-1 sd=disk07-01 \
comment="dco vol plex 1"
vxmake -U gen vol dcovol plex=dco_plex-1 \
comment="dco vol"
# Next make the DCO itself
vxmake dco Demo_dco log=dcovol \
comment="dco for Demo vol"

Veritas Commands

Page 29 of 93

# Finally make the volume and associate the DCO with it


vxmake sd disk07-01 disk=disk07 len=10000 \
comment="disk07 subdisk 1"
vxmake plex demo-1 sd=disk07-01 \
comment="Demo volume, plex 1"
vxmake -U gen vol demo plex=demo-1 dco_name=Demo_dco \
comment="Demo gen volume"
EXIT CODES
The vxmake 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.
---------------------------------------------------------------------------------------------------------------------------------------vxassist - create, relayout, convert, mirror, backup, grow,
shrink, delete, and move volumes
SYNOPSIS
vxassist [ options ] [ -b ] addlog volume [ attribute...]
vxassist [ options ] [ -b ] convert volume [ attribute...]
vxassist [ options ] [ -b ] growby volume lengthchange [
attribute...]
vxassist [ options ] [ -b ] growto volume newlength [ attribute...]
vxassist help { alloc | attrs | layout | mirror | options |
showattrs | space | usage }
vxassist [ options ] [ -b ] make volume length [ attribute...]
vxassist [ options ] [ -b ] maxgrow volume [ attribute...]
vxassist [ options ] [ -b ] maxsize [ attribute...]
vxassist [ options ] [ -b ] mirror volume [ attribute...]
vxassist [ options ] [ -b ] move volume storage-spec... [
attribute...]
vxassist [ options ] [ -b ] relayout { volume| plex} [

Veritas Commands

Page 30 of 93

attribute...]
vxassist [ options ] remove { volume | mirror | log } volume
[storage-spec...] [ attribute...]
vxassist [ options ] shrinkby volume lengthchange [ attribute...]
vxassist [ options ] shrinkto volume newlength [ attribute...]
vxassist [ options ] snapabort volume
vxassist [ options ] snapback snapvolume
vxassist [ options ] snapclear volume [snap_object]
vxassist [ options ] snapprint [volume]
vxassist [ options ] snapshot volume snapvolume [ attribute...]
VxVM 3.5 Last change: 1 Jun 2002 1
Maintenance Commands vxassist(1M)
vxassist [ options ] [ -b ] snapstart volume [ attribute...]
vxassist [ options ] snapwait volume
DESCRIPTION
The vxassist utility is a command-line interface to the VERITAS Volume Manager (VxVM) that:
o Finds space for and creates volumes
o Performs volume conversion
o Adds mirrors and logs to existing volumes
o Extends and shrinks existing volumes
o Migrates data from a specified set of disks
o Provides facilities for the online backup of existing volumes

Veritas Commands

Page 31 of 93

Specify the appropriate keyword to vxassist to select an


action to perform.
Each operation can be applied to only one disk group at a
time. For most keywords, the volume operand specifies the
volume on which to operate. For the make operation, attributes that name specific disks can 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 specified with -g diskgroup. If no disk attributes are specified, the make operation defaults to using
the rootdg disk group. You can specify an alternate default
disk group in a defaults file (usually
/etc/default/vxassist).
Many vxassist operations can take a set of attributes that
specify such things as how to lay out volumes, or on which
sets of disks to build them. There are two basic types of
attributes:
o storage specifications
o attribute settings
Storage specification attributes are either simple disk
names (for example, disk01), or groups of disks selected by
controller or target. For example, ctlr:c1 specifies all
disks on controller 1.
You can exclude (negate) storage specification by specifying
the exclamation character (!) prefix. (Note: You may also
VxVM 3.5 Last change: 1 Jun 2002 2
Maintenance Commands vxassist(1M)
need to escape the ! character to prevent it being interpreted by the shell.) For example, you can combine the
arguments ctlr:c1 and !target:c1t5 to indicate that storage
be allocated from controller 1, but not from SCSI target 5
on that controller.
In SAN environments, where there may be tens of thousands of
disk devices, you can control how vxassist should allocate
space by specifying the required set of storage attributes.

Veritas Commands

Page 32 of 93

See the section Using SAN Storage Attributes with vxassist


for details.
Other attributes are of the form attrname=value; these additional attributes can specify the type of a volume (mirrored, RAID-5, striped, logged), layout policies (contiguous, spanning), mirroring requirements (mirror across controllers), and constraint parameters (constrain allocations
to a single controller). See the ATTRIBUTES section below
for a complete list of attribute specifications.
If no non-excluded storage specification attributes are
given, any non-reserved, non-volatile, non-spare, nonexcluded disk can be used to allocate storage. Attributes
may constrain the selection, particularly with respect to
the selection of multiple disks. For example, the command:
vxassist make mirvol 500m layout=mirror,log mirror=ctlr !ctlr:c2
requests that vxassist create a new mirrored volume on any
disks that are not on controller 2. The mirror=ctlr attribute constrains the selection of disks so that the mirrors
are created on different controllers.
KEYWORDS
addlog Adds a log or DCO to a volume.
DCO is a data change object, used for Persistent
FastResync.
DRL is a dirty region log, used for speedy
recovery of mirrors after a system crash.
Sequential DRL is a form of DRL that is optimized
for volumes that are written to sequentially, such
as database log volumes.
DCM is a data change map, used for fast resynchronization of a secondary RVG with its primary.
Mirrored volumes are associated with DRL or
sequential DRL logs.
VxVM 3.5 Last change: 1 Jun 2002 3
Maintenance Commands vxassist(1M)

Veritas Commands

Page 33 of 93

RAID-5 volumes are associated with RAID-5 logs.


Replicated volumes are associated with DCM logs.
By default, when adding a log, vxassist attempts
to determine the correct type of log to add, even
if no logtype attribute is specified. For example,
if the volume is part of an RVG, vxassist attempts
to create a DCM log.
When adding a DRL, RAID-5 or DCM log to a volume
for the first time, the loglen attribute can be
used to specify the length of the log; on adding
additional logs, the loglen attribute is ignored
and the existing log length is used. If a loglen
which is too large or small to be practical is
specified, vxassist may adjust the length to a
reasonable size. If no loglen attribute is supplied, vxassist picks an appropriate log size.
Other attributes can be specified to indicate
desired properties for the new allocations. Mirroring constraints do not apply to logs, though
storage constraints can be specified that limit
the logs to disk sets already used by the volume.
Adding a DCO to a volume creates a DCO object that
is associated with the volume, and a DCO volume
that is associated with the DCO object. When
created for a non-layered volume with at least 2
data plexes or for any layered volume, the default
DCO volume has 2 DCO plexes (mirrors for redundancy), each of length 132 blocks. When created
for a non-layered volume with a single data plex,
the default DCO volume has a single unmirrored DCO
plex of length 132 blocks.
Note: To allow operation of the dynamic disk group
split/join feature (see vxdg(1M) for more information), vxassist attempts to place DCO plexes on
the same disks as the plexes of the corresponding
data volume. This allocation policy may not
succeed if there is insufficient disk space.
vxassist then uses available space in the remaining disks of the disk group. This may prevent certain disk group split or move operations if the

Veritas Commands

Page 34 of 93

DCO plexes cannot accompany their parent data


volume. To overcome this, you can use storage
specifications to specify explicitly the disks on
which the DCO plexes are to be configured.
Note: Adding a DCO does not enable Persistent FastResync on the parent volume unless fastresync=yes
VxVM 3.5 Last change: 1 Jun 2002 4
Maintenance Commands vxassist(1M)
is also specified.
Adding a DRL log to a mirrored volume creates a
single log subdisk and a new plex to contain that
subdisk. The new plex is then be attached to the
volume. DRL logging can co-exist with DCO.
Adding a RAID-5 log to a RAID-5 volume involves
creating a new plex that is attached to the volume
as a log plex.
Adding a DCM log to a replicated volume adds two
logs (by default), each consisting of a log plex
and associated subdisk. DCM logging can co-exist
with DCO.
convert Converts a volume layout to a mirror-stripe from a
stripe-mirror, or from a mirror-stripe to a
stripe-mirror. Also converts to mirror-concat from
a concat-mirror, or from a mirror-concat to a
concat-mirror.
growby | growto
Increases the length of the named volume to the
length specified by newlength (growto), or by the
length specified by lengthchange (growby).
Specify the new length, or change in length, in
VxVM standard lengths (see
vxintro(1M)). The growto operation fails if the
new length is not greater than the current volume
length. The length of the volume is increased by
extending existing subdisks in the volume, or by
adding and associating new subdisks. Plexes that
are not already fully populated (that is, sparse)

Veritas Commands

Page 35 of 93

are left unchanged. Log-only plexes are also left


unchanged.
Note: Following a relayout, specify the attribute
layout=nodiskalign to the growby and growto commands if you want the subdisks to be grown using
contiguous disk space.
Note: When you grow a volume, it is recommended
that you also grow any file system that is configured on that volume (see vxresize(1M)). vxassist
does not resize file systems (or other uses of the
volume, such as databases) that reside on the
volume. If necessary, use the appropriate application command to adjust the layout of data in the
volume after the grow operation has finished.
When a volume is grown, the volume may be
VxVM 3.5 Last change: 1 Jun 2002 5
Maintenance Commands vxassist(1M)
converted from one layout to another as a side
effect. For example, a volume that has the
mirror-stripe layout may be converted to stripemirror when it is grown. This kind of conversion
is done if vxassist determines that the new volume
is too small or large for the original layout. If
the new volume layout is inappropriate, use the
convert operation between layered and non-layered
forms. See Layout Specifications for a description of the methods used to determine disk layouts.
Note: You cannot resize volumes comprised of different plex layouts. If you try to do so, an
error message displays stating that the volume
contains differing layouts.
You can specify attributes to indicate properties
for the new allocations. Any mirroring constraints still apply between all extensions to the
existing mirrors and the other mirrors. Growing
of a volume requires that the volume be enabled.

Veritas Commands

Page 36 of 93

When the size of a replicated volume changes, you


can ensure that the size of the DCM is appropriate
by removing all the DCM logs and adding them back
without specifying the loglen attribute.
help Displays information on vxassist usage and VERITAS
Volume Manager attributes. For example, to
display information about using vxassist attributes, enter:
vxassist help attributes
make Creates a volume with the specified name and the
specified length. The length is specified as a
standard VxVM length (see
vxintro(1M)). You can specify attributes to indicate various properties and storage locations for
the created volume. See Layout Specifications for
a description of the methods used to determine
disk layouts.
maxgrow Reports the maximum size a volume can grow given
its attributes and given the free storage available.
maxsize Reports the maximum size a volume could be created
VxVM 3.5 Last change: 1 Jun 2002 6
Maintenance Commands vxassist(1M)
with given the attributes specified and given the
free storage available.
mirror Creates a new mirror (or plex) and attaches it to
the volume. This operation is allowed only if the
volume is enabled. Attributes can be specified to
indicate various desired properties and storage
locations for the created volume. Attributes that
constrain mirroring (such as requiring that mirrors be on separate groups of disks) apply between
the existing mirrors of the volume and the new
mirror.
Caution: Do not use vxassist to mirror an encapsulated root disk. Instead use menu item 6 (Mirror

Veritas Commands

Page 37 of 93

Volumes on a Disk) in the vxdiskadm command.


move Moves subdisks within the named volume off the
excluded storage specified on the command line.
Excluded storage is specified with a prefix of !.
The move operation requires that at least one
excluded storage specification be given.
If the volume is enabled, subdisks within detached
or disabled plexes (or detached log or RAID-5 subdisks) are moved without recovery of data. If the
volume is not enabled, stale log or RAID-5 subdisks, or subdisks within STALE or OFFLINE plexes,
are moved without recovery; if there are other
subdisks within a non-enabled volume that require
moving, the move operation fails.
For enabled subdisks in enabled plexes within an
enabled volume, the data within subdisks are moved
to the new location, without loss of availability
(or redundancy) of the volume.
relayout Changes a volume layout or properties. This
operation changes the number of columns in a
stripe or the stripe width of a volume. It also
converts a volume to or from RAID-5,
concatenated-mirror, striped, striped-mirror or
any similar layout.
Note: The relayout operation internally generates
unique data object names (for example, v2-Dp02)
when it converts a volume to a specified destination layout.
Note: Following a relayout, specify the attribute
layout=nodiskalign to the growby and growto commands if you want the subdisks to be grown using
VxVM 3.5 Last change: 1 Jun 2002 7
Maintenance Commands vxassist(1M)
contiguous disk space.
After relayout to a layered form, a volume may be
converted to a non-layered form. For example, to

Veritas Commands

Page 38 of 93

convert from a 4-column mirror-stripe to a 5column mirror-stripe, first relayout the volume as
a stripe-mirror:
vxassist relayout vol1 nstripe=5
If you view the volume with vxprint during relayout, the volume shows several subvolumes that are
used during the change, and a more complex configuration than usual.
After the new column is added, the volume is in
stripe-mirror layout. Use vxassist convert to convert back to a mirror-stripe layout:
vxassist convert vol1 layout=mirror-stripe
Note: If the system crashes during relayout or
conversion, the process continues when the system
is rebooted. However, if the crash occurred during the first stage of a two-stage relayout and
convert operation, only the first stage is subsequently completed after rebooting. You must run
vxassist convert manually to complete the second
stage.
remove volume | mirror | log
Deletes the entire volume, one or more mirrors, or
one or more logs, according to the argument. When
deleting a mirror or a log, specify the storage to
be removed using the attribute form !diskname (see
Storage Specifications below). For example, to
remove a mirror on disk01, enter:
vxassist remove mirror vol01 !disk01
See vxplex(1M) for an example of an alternative
method of removing a mirror from a volume.
Use the logtype= attribute to specify the type of
log to be removed. For example, specify
logtype=drl to remove a DRL log.
VxVM 3.5 Last change: 1 Jun 2002 8
Maintenance Commands vxassist(1M)

Veritas Commands

Page 39 of 93

Note: Specifying logtype=dco completely removes


the DCO object, DCO volume and any snap objects
that are associated with the specified volume, and
also disables FastResync on the volume.
The alloc=, nmirror=, and nlog= attributes also
determine the number of mirrors or logs remaining
after the remove operation completes. When the
number of mirrors drops to 1, logs are also
removed.
By default, vxassist removes 1 mirror or 1 log.
shrinkby | shrinkto
Decreases the length of the named volume to the
length specified by newlength (shrinkto), or by
the length specified by lengthchange (shrinkby).
Specify the new length, or change in length, in
VxVM standard lengths (see
vxintro(1M)). The shrinkto operation fails if the
new length is not less than the current volume
length.
The length of a volume is decreased by removing
and shortening subdisks to leave each plex with
the requested volume length. The freed space can
then be allocated for use by other volumes. Logonly plexes are left unchanged.
When a volume is shrunk, the volume may be converted from one layout to another as a side
effect. For example, a volume that has the
mirror-stripe layout may be converted to stripemirror when it is shrunk. This kind of conversion
is done if vxassist determines that the new volume
is too small or large for the original layout. If
the new volume layout is inappropriate, use the
convert operation between layered and non-layered
forms. See Layout Specifications for a description of the methods used to determine disk layouts.
Note: You cannot resize volumes comprised of different plex layouts. If you try to do so, an
error message displays stating that the volume

Veritas Commands

Page 40 of 93

contains differing layouts.


Caution: Data can be lost or corrupted if file
systems or other organized data residing on a
volume are not shrunk before shrinking the volume.
vxassist does not resize file systems (or other
uses of the volume, such as databases) that reside
VxVM 3.5 Last change: 1 Jun 2002 9
Maintenance Commands vxassist(1M)
on the volume. You can use the vxresize command
to shrink file systems on the volume (see
vxresize(1M)). Otherwise, use the appropriate
application command to adjust the layout of data
in the volume before initiating the shrink operation.
snapabort Removes the mirror snapshot when a snapstart mirror has been started (and eventually completed).
snapback By default, finds one plex in the snapshot volume
that has the snap_rid field set, and attaches it
to the original volume. If the plex is the last
in a volume, that volume is removed from the disk
group.
Note: The snapshot volume and the original volume
must be in the same disk group.
If the -o allplexes option is specified, all
snapshot plexes in the same disk group are reattached. Alternatively, if the nmirror=number
attribute is specified, only number plexes are
reattached.
The direction of the resynchronization can be
determined by specifying either resyncfromoriginal
or resyncfromreplica as the useopt argument to the
-o option. To choose the original volume as the
preferred copy of the data, use -o resyncfromoriginal. To choose the replica as the preferred
copy of the data, use -o resyncfromreplica.
Note: You must unmount the original volume (if

Veritas Commands

Page 41 of 93

mounted) before using the -o resyncfromreplica


option. Similarly, you must unmount the snapshot
volume (if mounted) before using the -o resyncfromoriginal option.
snapclear Clears the FastResync map, removes any snap
objects, and clears the snap_rid field of the
volume.
Note: snapback cannot be invoked after snapclear
is used.
If Persistent FastResync is enabled and the original volume and the snapshot volume are in different disk groups, snapclear removes the snap
object and clears the FastResync map for the
snapshot volume that corresponds to the snapshot
object. To stop tracking on the original volume
VxVM 3.5 Last change: 1 Jun 2002 10
Maintenance Commands vxassist(1M)
for the snapshot volume, specify the snap object,
snap_object, in the original volume that refers to
the snapshot volume. You must also run vxassist
snapclear separately on the snapshot volume. For
example, if myvol1 and SNAP-myvol1 are in separate
disk groups mydg1 and mydg2 respectively, the following command stops tracking on myvol1 with
respect to SNAP-myvol1:
vxassist -g mydg1 snapclear myvol1 SNAP-myvol1_snp
However, tracking is still enabled on SNAP-myvol1
with respect to myvol1. The following command
turns this tracking off by specifying the snap
object, myvol1_snp, in SNAP-myvol1 that points to
myvol1:
vxassist -g mydg2 snapclear SNAP-myvol1 myvol1_snp
If Persistent FastResync is enabled and the original volume and the snapshot volume are in the same
disk group, snapclear removes the snap records for
both the original volume and the snapshot volume

Veritas Commands

Page 42 of 93

in addition to clearing their FastResync maps.


Note: Either of the two previous examples stops
Persistent FastResync tracking for both the
snapshot volume (SNAP-myvol1) and the original
volume (myvol1) if they are in the same disk
group.
To support Non-Persistent FastResync and to be
compatible with previous versions of VxVM, a single snapshot volume can be specified as the argument to snapclear, for example:
vxassist -g myolddg snapclear SNAP-myoldvol
snapprint Displays the associations between the original
volumes and their respective replicas. If a
volume is specified, output is displayed only for
that volume. An error message is displayed if
FastResync is not enabled on the volume.
The following information is displayed:
o Name of the original volume.
VxVM 3.5 Last change: 1 Jun 2002 11
Maintenance Commands vxassist(1M)
o Names of all snapshot volumes.
o Length in blocks of the volume, detached plex,
or snapshot plex.
o Percentage of the snapshot plex or detached
plex that is considered to have been changed
(dirty). For Non-Persistent FastResync, which
keeps information about changed regions in a
single map for the original volume and its
snapshot volumes, the %DIRTY value is the same
for the original volume as for a snapshot
volume even if writes are only made to the
snapshot volume. For Persistent FastResync,
which maintains separate tracking maps for the
original volume and each of its snapshot
volumes, the %DIRTY value is based only on what

Veritas Commands

Page 43 of 93

has been written to an individual volume.


In the following example, Persistent FastResync is
enabled on volume v1, and Non-Persistent FastResync on volume v2. V and v indicate the
volume, DP and dp indicate detached plexes, and SS
and ss indicate snapshot plexes.
# vxassist -g mydg snapprint v1
V NAME USETYPE LENGTH
SS SNAPOBJ NAME LENGTH %DIRTY
DP NAME VOLUME LENGTH %DIRTY
v v1 fsgen 20480
ss SNAP-v1_snp SNAP-v1 20480 4
dp v1-01 v1 20480 0
dp v1-02 v1 20480 0
v SNAP-v1 fsgen 20480
ss v1_snp v1 20480 0
# vxassist -g mydg snapprint v2
V NAME USETYPE LENGTH
SS SNAPOBJ NAME LENGTH %DIRTY
DP NAME VOLUME LENGTH %DIRTY
v v2 fsgen 20480
ss -- SNAP-v2 20480 0
dp v2-01 v2 20480 0
v SNAP-v2 fsgen 20480
ss -- v2 20480 0
VxVM 3.5 Last change: 1 Jun 2002 12
Maintenance Commands vxassist(1M)
snapshot Creates a new volume by taking one or more
attached temporary mirrors (with state SNAPDONE)
to use as its plexes. The nmirror=number attribute can be used to specify the number of mirrors
in a snapshot volume. At least number SNAPDONE
plexes must be available in the original volume.
By default, one plex is used if nmirrors is not

Veritas Commands

Page 44 of 93

specified.
The comment attribute may also be used to set the
comment field for the snapshot volume.
The following are examples of the use of the nmirror and comment attributes:
vxassist snapshot nmirror=2 \
comment="mirrored snapvol for myvol" myvol snapvol
Some usage types attempt to synchronize any inmemory data associated with the volume (such as
unwritten file system modifications) when the
snapshot operation is done. In particular, if the
fsgen usage type is used with a volume containing
a VERITAS File System (VxFS), then cooperating
procedures ensure that all file system data is
consistently flushed to the volume. For ufs and
s5, the synchronization operation calls sync.
This makes the snapshot a better image, but it may
leave some inconsistencies between in-memory file
system data and the data residing on the backup
image.
The snapshot command accepts more than one volume.
All the given volumes are split atomically (in a
single transaction). That is, all the given
volumes are relatively consistent as a result of
taking the snapshot. If you specify the -o allvols
option without giving any volume names, vxassist
attempts to create a sufficiently long vxplex command to take a snapshot of all the volumes in the
disk group. You can use the -o name=pattern option
to specify a name for the new volume. Otherwise,
the default name assigned to the new volume has
the form SNAP%d-%v.
snapstart Creates a plex and attaches it to the named volume
as a snapshot mirror. When the attach completes,
the plex has state SNAPDONE and is a candidate for
selection by the snapshot operation. Attributes
can be specified to indicate the desired properties of the snapshot mirror.
VxVM 3.5 Last change: 1 Jun 2002 13

Veritas Commands

Page 45 of 93

Maintenance Commands vxassist(1M)


The nmirror=number attribute can be used to
specify the number of snapshot plexes to be
attached to a volume. By default, number is 1.
Note: To allow operation of the dynamic disk group
split/join feature (see vxdg(1M) for more information), vxassist attempts to avoid placing snapshot
plexes on the same disks as the plexes of the original volume or the plexes of its associated DCO
volume. This allocation policy may not succeed if
there is insufficient disk space. vxassist then
uses any other available space in the disk group.
This may prevent certain disk group split or move
operations if the snapshot plexes and their associated DCO plexes cannot be physically separated
from the plexes of the original volume or the
plexes of its DCO volume. To overcome this, you
can use storage specifications to specify explicitly the disks on which the snapshot plexes are
to be configured.
snapwait Waits for an attached mirror to become available
on a volume if a snapstart mirror attach is done
as a background task (such as using the -b
option). The operation exits when the snapshot is
complete. Available snapshot plexes are flagged
with state SNAPDONE.
OPTIONS
-b Performs extended operations in the background.
This option applies to plex consistency recovery
operations for make, growto and growby, to plex
attach operations started by mirror and snapstart,
to relayout operations started by relayout, and to
the addlog, convert, maxgrow, maxsize, move and
remove operations.
-d defaults
Specifies a file containing defaults for various
attributes related to volume creation and space
allocation. If not specified, this defaults to
/etc/default/vxassist.

Veritas Commands

Page 46 of 93

-E template_file
Specifies the path name of a template file that
contains SAN storage set specifications. See the
section Using SAN Storage Attributes with vxassist
for more information.
-f Forces operations not usually allowed by vxassist.
-g diskgroup
VxVM 3.5 Last change: 1 Jun 2002 14
Maintenance Commands vxassist(1M)
Specifies 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
medianame operands (if any) for the vxassist make
operation, or based on the volume operands for all
other operations.
-n Prevents the system defaults file being read.
-o useopt Passes in options specific to a usage type to the
operation. A certain set of operations are
expected to be implemented by all usage types:
allplexes Specifies that all available snapshot
plexes in a disk group are to be reattached to their original volume during a
snapback operation.
allvols Takes a snapshot of all the volumes in
the disk group. An error results if one
or more volumes do not have a plex that
is usable for the snapshot.
iosize=size
Performs copy and 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 greater impact on other
processes using the volume. The default

Veritas Commands

Page 47 of 93

I/O size is typically between 4 and 128


kilobytes.
name=pattern
Specifies the template for naming new
snapshot volumes. The pattern consists
of characters and one or more of the
following specifiers:
%% Single percent character.
%d Unique serialization number
expressed as a decimal
integer.
%g Disk group name.
%m Mirror's original name.
%s Serialization string expressed
VxVM 3.5 Last change: 1 Jun 2002 15
Maintenance Commands vxassist(1M)
as a sequence of one or more
lower case letters.
%S Serialization string expressed
as a sequence of one or more
upper case letters.
%v Volume name.
%x Unique serialization number
expressed as a lower-case hexadecimal integer.
%X Unique serialization number
expressed as an upper case
hexadecimal integer.
The default template name for a new snapshot
volume is SNAP%d-%v.
numchild=number
Specifies the number of child processes

Veritas Commands

Page 48 of 93

that are used to perform resynchronization during a snapback operation. The


default value of number is 1 (no child
processes), which is the same as specifying a number of 0. Specifying a larger
value for number potentially speeds up
resynchronization, although the effectiveness of this depends to some extent
on the underlying characteristics of the
disk array. No further benefit in performance may be noticeable for a value
for number greater than 3.
By default, the child processes divide
the volume into equally sized chunks,
which they then resynchronize independently with the volume. This behavior
may be modified using the useopt sequential.
Note: A large iosize of 1m or 2m is
recommended for use with this option.
ordered Specifies that ordered allocation should
be used to create a new volume. For
more information, see the Ordered Allocation section below.
readonly Specifies that a read-only replica
volume is created during a snapshot.
VxVM 3.5 Last change: 1 Jun 2002 16
Maintenance Commands vxassist(1M)
renamesnapplex
Specifies that a snapshot plex is
renamed when the snapshot operation is
used to create a snapshot volume. If
this option is not specified, the plex
retains the same name that it had in the
original volume.
resyncfromoriginal
Performs a resync using the data in the
original volume during a snapback.

Veritas Commands

Page 49 of 93

resyncfromreplica
Performs a resync using the data in the
snap plex during a snapback.
sequential
When specified with the useopt numchild
for values of number greater than 1, the
child processes co-operate in resynchronizing regions of the volume that
are close together, starting at the
beginning of the volume and moving to
the end. This creates more overhead for
the resynchronization, but it potentially makes better use of the sequential read-ahead buffer of the physical
disks.
slow[=iodelay]
Reduces the impact on system performance
of copy operations. Copy and plex consistency recovery operations are usually
a set of short 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).
-p Prints only the maximum size with no text wrappers
(used with maxsize and maxgrow).
-r Includes spare disks (reserved for hot-relocation)
in the calculation.
-t tasktag
Marks any tasks that are registered to track the
progress of an operation with the tag tasktag.
This option is passed to utilities called by
VxVM 3.5 Last change: 1 Jun 2002 17
Maintenance Commands vxassist(1M)

Veritas Commands

Page 50 of 93

vxassist, so any child tasks are also tagged with


tasktag. The tag specified by tasktag is a
sequence of up to 16 alphanumeric characters.
-U usetype
Limits the operation to volumes that have this
usage type. Any attempt to operate on volumes
that have a different usage type fails.
For a make operation, this option specifies the
usage type of the volume to be created. Otherwise,
the default usage type set in the
/etc/default/vxassist file is used, or if such an
entry does not exist, the usage type is set to
fsgen.
-v Traces calls to other utilities to determine which
VxVM commands vxassist is executing.
Hardware-Specific Options
Some environments provide guidelines to optimize VxVM's
interaction with intelligent storage systems. If these
guidelines are present, VxVM follows the guidelines when
creating volumes or allocating space for volumes. By
default, vxassist only creates volumes that conform with
these guidelines. The following options change the behavior
of vxassist operations make, mirror, grow and shrink :
-o override
Performs the specified vxassist task for the
specified volume and ignores any storage-specific
guidelines. Overriding the guidelines is not
recommended as it can result in incompatible
objects, or objects that cannot be administered by
VxVM and any associated software that exploit
storage-specific features.
-o verify Verifies that the vxassist task for the specified
volume can be performed without violating any
storage-specific guidelines, but does not commit
or perform any task. If any guidelines are
violated, vxassist exits with an error message.
Note: These options need a separate license.
Without the license, vxassist ignores the speci-

Veritas Commands

Page 51 of 93

fied option.
Refer to the vendor-specific documentation for more information on how intelligent storage systems can interact with
VxVM.
VxVM 3.5 Last change: 1 Jun 2002 18
Maintenance Commands vxassist(1M)
ATTRIBUTES
Attribute values for various purposes can be specified with
arguments of the form attribute=value. Attributes can also
be passed in through a defaults file. Default attribute
values can be stored in the file /etc/default/vxassist.
Attributes are selected according to the order in which they
are scanned. In general they are taken in decreasing priority of being specified on:
1. The command line.
2. The specified defaults file (as supplied with the -d command line argument).
3. The system defaults file (as specified in
/etc/default/vxassist).
Attributes from all sources have the same form. However, in
some cases, command-line attributes change default behaviors
in ways that attributes in the defaults file do not. In particular, references to mirroring (such as specifying a mirror count) or logging (such as specifying a log count or
length) on the command line cause mirroring or logging to
happen by default. If such attributes are specified in a
defaults file, they indicate the attributes that would be
used if mirroring or logging were enabled.
Attributes are either storage specifications (possibly
negated), or are in the form attribute=value. In a defaults
file, attributes are separated by a space or are on separate
lines. Blank lines in a defaults file are ignored, and comments can be included with the standard # convention.
Storage Specifications
Note: You cannot use storage specification attributes in

Veritas Commands

Page 52 of 93

combination with SAN storage set specifications. See the


section Using SAN Storage Attributes with vxassist for more
information.
Storage specification attributes have one of the following
forms:
[!]diskname
Specifies (or excludes) a disk. diskname refers to
a disk media record name in a VERITAS Volume
Manager disk group.
[!]diskclass:instance
Specifies (or excludes) a set of disks. diskclass
names a particular type of disk grouping (for
example, ctlr to indicate groups of disks on a
VxVM 3.5 Last change: 1 Jun 2002 19
Maintenance Commands vxassist(1M)
single controller), and instance specifies which
grouping of that type (for example c1). Each type
of disk class has a particular format for specifying instances of the class.
diskclass:same
Specifies that the allocation must be constrained
to include disks from the same instance of the
given class. For example, a storage specification
of diskparam:same indicates that all disks
selected must have the same basic parameters
(tracksize, cylinder size, size, and revolutionsper-minute), but does not specify which specific
parameters to use.
The defined disk classes (and alternate names, or aliases,
for those classes) are as follows:
ctlr (alias: c, ctrl, cntrl, controller)
Specifies disks accessible through a controller
group. All disks accessible through the specified
controller name(c#) are selected for the operation.
For example, consider a configuration where two

Veritas Commands

Page 53 of 93

enclosures are connected to a host. The first


through controllers c1, c2 and the second through
controllers c3, c4. The command:
vxassist make vol1 1024 !ctlr:c1
results in disks from the first enclosure being
excluded from the operation because all disks in
the first enclosure are accessible through c1(and
c2). The command:
vxassist make vol1 1024 !ctlr:c2
has the same effect (of excluding disks in the
first enclosure) in the above configuration. The
command:
vxassist make vol1 1024 layout=mirror nmirror=2 mirror=ctl
r
results in the mirrors being placed across the
controller groups c1, c2 and c3, c4.
VxVM 3.5 Last change: 1 Jun 2002 20
Maintenance Commands vxassist(1M)
ctype (alias: ctlrtype, ctrltype, controllertype)
Specifies disks from a particular type of controller. The controller type is usually a driver
name. For example, on Sun machines, the regular
SCSI controller type can be identified as
ctype:esp. As a special case, the SPARCstorage
Array controller type is specified as ctype:ssa.
da Specifies a VxVM disk (VM disk)
by device name (disk access record name). For
example, c2t1d0s2 indicates a VM disk defined on
slice 2 of disk c2t1d0s2.
device (alias: d)
Specifies all VM disks on a physical disk. The
physical disk is specified in the form c#t#d#,
which indicates the controller, target ID, and
disk number. Typically, only one VM disk device
is created for each physical disk. However, the

Veritas Commands

Page 54 of 93

vxdisk define operation (see vxdisk(1M)) can be


used to create additional VM disk devices on
selected partitions.
diskgeom (alias: geom)
Specifies disks with a particular geometry. The
geometry is specified in the form
cyls.heads.sectors, to indicate the number of
cylinders, heads, and sectors per track, of the
disk. Many modern drives have variable geometries
(or geometries that do not fit the standard conventions). For such drives, the geometry parameters used are whatever the drive reports.
diskparam Specifies disks with particular parameters. The
parameters are specified in the form
cyls.heads.sectors.rpm, to indicate cylinders,
heads, sectors per track, and the number of revolutions per minute of the drive. As with the diskgeom parameter, the instances of the diskparam
disk class depend upon the values reported by the
drive, and may not be accurate.
diskrpm (alias: rpm)
Specifies disks with a given rotation speed in
revolutions per minute (for example, 7200).
dm (alias: disk)
Specifies a VM disk by disk name (disk media
record name) in the disk group of the volume.
Specifying a disk class type of dm or disk is
equivalent to giving a storage specification with
no disk class name.
VxVM 3.5 Last change: 1 Jun 2002 21
Maintenance Commands vxassist(1M)
enclr (alias: e, enclr, enclosure)
Specifies disks belonging to a particular enclosure. The enclosure name is obtained using the
command:
vxdmpadm listenclosure all
For example, the following command excludes disks

Veritas Commands

Page 55 of 93

in the enclosure enc1 from the operation.


vxassist make vol1 1024 layout=mirror nmirror=2 \
!enclr:enc1
target (alias: t)
Specifies disks with the same SCSI target address
on the same controller. The target is specified
in the form c#t#. For example, t:c2t4 selects
disks on target 4 of controller 2.
tray Specifies disks in the same removable tray (for
SPARCstorage Array controllers). Trays in the
SPARCstorage Array are grouped as two SCSI targets
per tray (for example, targets 0 and 1 are in the
same tray). Trays are specified in the form
c#tray#, where c# identifies a particular
SPARCstorage Array controller and tray# is the
number of a tray (0 for SCSI targets 0 and 1, 1
for targets 2 and 3, or 2 for targets 4 and 5).
For example, c2tray2 selects disks in tray 2 (targets 4 and 5) of controller 2.
The diskgeom and diskparam attributes are most often used in
the form diskgeom:same and diskparam:same, to indicate that
all disks used for creating a volume should have similar
characteristics.
Other Attributes
Other attributes are of the form attribute=value. The attribute name in an attribute value pair never contains a colon,
so it is possible to specify a disk that has an equal sign
in its name using the storage specification dm:disk01=a.
Without the dm: prefix, disk01=a would cause an error indicating an unrecognized attribute.
Defined attributes (and common aliases) are:
alloc=storage-spec[,storage-spec,...]
VxVM 3.5 Last change: 1 Jun 2002 22
Maintenance Commands vxassist(1M)
Specifies storage as single attributes. This is
useful in a defaults file, so that all attributes

Veritas Commands

Page 56 of 93

(including storage specifications) are in the


attribute=value format. Any number of storage
specifications can be specified, separated by commas. More than one alloc attribute can be specified, in which case they are logically concatenated to form one longer list.
Note: You cannot use alloc in combination with SAN
storage set specifications. See the section Using
SAN Storage Attributes with vxassist for more
information.
col_switch=size1,size2[,...]
When creating a volume using ordered allocation
(-o ordered), specifies how much space to allocate
from each listed disk to a concatenated column
before switching to the next disk. The number of
size arguments (switch points) determines how many
disks are concatenated to form a column. size1
space is allocated from the first disk, size2
space is then allocated from the second disk, and
so on. The switch points are applied identically
to all columns in the volume being created.
For more information, see the Ordered Allocation
section below.
comment=comment
Specifies a comment to give to a volume when it is
created. This comment can be displayed with
vxprint -l, and can be changed, at a later time,
with vxedit set. This attribute can be used with
the make and snapshot operations.
dcolen=number (alias: dcologlen)
Specifies the length of each plex in a DCO volume.
By default, specifying a length on the command
line creates a DCO volume. The default length is
132 blocks, and any specified value should be an
integral multiple of 33 blocks between 33 and 2112
blocks.
diskgroup=disk-group (alias: dg)
Specifies the disk group for an operation. If a
disk group is specified in a defaults file, then

Veritas Commands

Page 57 of 93

it just specifies the default disk group to use


for the make operation, if no other means of
determining the disk group can be used. If specified as a command line attribute, it has the same
VxVM 3.5 Last change: 1 Jun 2002 23
Maintenance Commands vxassist(1M)
effect as specifying a disk group with the -g
option (the operation is forced to apply to the
given disk group).
excl=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.
Note: Only available if the VERITAS Volume Manager
cluster feature is enabled.
fastresync=yes|y|on|true|no|n|off|false (alias: fmr)
Enables or disables both Persistent and
Non_Persistent FastResync. If enabled, FastResync
is non-persistent if a DCO object and a DCO volume
are not associated with a volume, and it is persistent if a DCO object and DCO volume are associated with a volume.
Note: A license is necessary to use the FastResync
feature.
fstype=file-system-type
Specifies the file system type for a new volume
(this is used only with the make operation). The
file system type for a volume is usually determined when needed by running the fstyp utility
(see fstyp(1M)), but can be specified explicitly.
The file system type parameter is used with the

Veritas Commands

Page 58 of 93

VxVM vxresize utility, as well


as with volume snapshots, copies, and dissociates
(to select features that are used with VERITAS
File System (VxFS)).
The file system type can be changed at any later
time with the vxedit set operation.
group=owning-group
Sets the group ID for a new volume. The group ID
can be specified numerically or with a system
group name. This attribute is used only with the
make operation. By default, volumes are created
with group 0.
VxVM 3.5 Last change: 1 Jun 2002 24
Maintenance Commands vxassist(1M)
init=initialization-type
Specifies how to initialize a new volume. The
default method (which can be selected explicitly
with init=default) is to call vxvol start to perform a default initialization that is specific to
a usage type. A new volume can be left uninitialized with init=none. The most useful non-default
initialization that can be specified is init=zero,
to clear the volume before enabling it for general
use.
layout=layout-spec[,layout-spec,...]
Specifies a plex layout type (RAID-5, mirrored,
unmirrored, striped, cylinder alignment), and turn
some features on and off (such as logging). The
list of layout specifications is given in the Layout Specifications section. By default, unmirrored, non-striped volumes are created without a
log.
logdisk=disk[,disk,...]
When creating volumes using ordered allocation (-o
ordered), specifies on which disks logs should be
created. This attribute must be specified for
RAID-5 volumes unless nolog or noraid5log is
specified. For other types of volume layout, this
attribute is optional, and if not specified any

Veritas Commands

Page 59 of 93

required logs are co-located with the data.


For more information, see the Ordered Allocation
section below.
loglen=length
Specifies a log length to use for dirty-region log
(DRL) subdisks for mirrored volumes, for RAID-5
log plexes, or for DCM log plexes for replicated
volumes. By default, specifying a log length on
the command line creates a log. Associating a log
with a mirrored or RAID-5 volume is sufficient to
enable its use.
A DCM log must be enabled using the vxrlink command. This is because it is used for failure
recovery and synchronization of replicated
volumes.
logtype=type
Specifies the type of log to use with a mirrored
or replicated volume:
dcm Select DCM (data change map). This is the
default log type for replicated volumes.
VxVM 3.5 Last change: 1 Jun 2002 25
Maintenance Commands vxassist(1M)
dco Select DCO (data change object). (This is
used to implement Persistent FastResync,
which is enabled by additionally specifying
fastresync=on.) This creates a DCO object
and a DCO volume with a plex size specified
by the dcologlen attribute, and number of
plexes specified using the ndcomirror attribute. The default names for the DCO object
and DCO volume are vol_dco and vol_dcl
respectively for a volume, vol.
If additional logging is required, it can be
added to a volume by using the vxassist addlog command. DCO can co-exist with DCM logging for replicated volumes, or with DRL logging for mirrored volumes.

Veritas Commands

Page 60 of 93

drl Select DRL (dirty region logging). This is


the default log type for mirrored volumes.
drlseq
Select sequential dirty region logging. This
is 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 Do not create a log.
region
Select dirty region logging; identical to
drl.
RAID-5 logging is automatically selected when a
log plex is added to a RAID-5 volume; it has no
specific logtype.
If logtype is not specified for a volume, vxassist
attempts to create the optimal type of log.
max_nraid5column=number
(alias: maxraid5columns, max_nraidcolumn,
max_nraid5stripe, max_nraidstripe, maxraidcolumns,
VxVM 3.5 Last change: 1 Jun 2002 26
Maintenance Commands vxassist(1M)
maxraid5stripes, maxraidstripes)
Specifies the default maximum number of stripe
columns for a RAID-5 volume (default value is 8).
The rules for selecting the default number of

Veritas Commands

Page 61 of 93

RAID-5 stripe columns are described in the nstripe


attribute.
max_ncolumn=number (alias: maxcolumns, max_nstripe, maxstripes)
Specifies the default maximum number of stripe
columns, either for a RAID-5 volume (if
max_nraid5stripe is not also specified) or for a
striped plex (default value is 8). The rules for
selecting the default number of stripe columns is
described in the nstripe attribute.
max_regionloglen=length (alias: maxregionloglen)
Specifies the maximum default dirty region logging
log subdisk length. If the user does not specify
the dirty region log length for a volume, when
creating the first log for a mirrored volume,
vxassist uses a simple formula based on the log
length. The default length is not be bounded by
max_regionloglen (default value is 32k (32 kilobytes)).
min_ncolumn=number (alias: mincolumns, min_nstripe, minstripes)
Specifies the default minimum number of stripe
columns for either a RAID-5 volume (if
min_nraid5stripe is not also specified) or for a
striped plex (default value is 2). The policy for
selecting a default number of stripe columns is
not allowed to select fewer than this number of
columns.
min_nraid5column=number
(alias: minraid5columns min_nraidcolumn,
min_nraid5stripe, min_nraidstripe, minraidcolumns,
minraid5stripes, minraidstripes)
Specifies the default minimum number of stripe
columns for a RAID-5 volume (default value is 3).
The policy for selecting a default number of
RAID-5 stripe columns is not allowed to create a
RAID-5 volume with fewer than min_nraid5stripe
stripe columns.
mirror=[+|-]number|yes|no|diskclass[,...]
Specifies various mirroring parameters. Multiple
mirroring parameters can be given, each separated
by a comma. A decimal number indicates a specific

Veritas Commands

Page 62 of 93

number of mirrors to create, when creating a


VxVM 3.5 Last change: 1 Jun 2002 27
Maintenance Commands vxassist(1M)
mirrored volume (equivalent to nmirror=number).
yes indicates that volumes should be mirrored by
default (equivalent to layout=mirror). no indicates that volumes should be unmirrored by default
(equivalent to layout=nomirror).
Any other mirroring parameters specify that
volumes should be mirrored across instances of a
particular disk class (such as enclr, ctlr or target). For example, mirror=target specifies that
volumes should be mirrored between SCSI target
addresses, and mirror=ctlr specifies that disks in
a mirror should not be on the same controller as
disks in other mirrors within the same volume.
Similarly, mirror=enclr specifies that disks in a
mirror should not be from the same enclosure as
disks in other mirrors within the same volume.
Each mirror can contain disks from any number of
instances of the disk class, but different mirrors
cannot use disks from the same instance of the
disk class.
mirrorconfine=diskclass[,diskclass,...]
Specifies a required list of disk classes for mirror confinement constraints. If this attribute is
specified, a single mirror is confined to (that
is, allocated from) a group of disks belonging to
a specific disk class. Multiple mirrors can be
allocated from a single disk class. Multiple disk
classes cannot be used to allocate a mirror. The
following example specifies that each mirror is
allocated from devices belonging to a single SCSI
target; and multiple mirrors can be allocated from
devices belonging to a single SCSI target:
mirrorconfine=scsi_target
mode=permissions
Specifies the permissions for the block and char-

Veritas Commands

Page 63 of 93

acter device nodes created for a new volume. The


mode can be specified either as an octal number or
symbolically. A symbolic mode is specified using
the syntax given in chmod(1). This attribute is
used only with the make operation. The default
mode for a volume gives read and write access only
to the owner.
ndcmlog=number (alias: ndcmlogs, ndcms, ndcm)
Specifies the number of DCM log plexes to create.
The default number is 2 which creates a mirrored
VxVM 3.5 Last change: 1 Jun 2002 28
Maintenance Commands vxassist(1M)
DCM log.
ndcomirrors)
ndcomirror=number (alias: ndco, ndcos, ndcolog, ndcologs,
Specifies the number of DCO plexes to create for a
DCO volume. A value for number of 2 or greater
creates a mirrored DCO volume. For non-layered
volumes, the default number is set to the lesser
of the number of data plexes in the parent volume
or 2. For layered volumes, the default number is
set to 2.
nlog=[+|-]number, (alias: nlogs, logs)
Specifies the number of logs to create, by
default, for a RAID-5, mirrored, or replicated
volume (assuming that logs are to be created). The
number of logs to create can be specified independently for RAID-5 or mirrored volumes using the
nraid5log and nregionlog attributes. For a relayout, this value can be preceded by a + or a - to
add or subtract logs.
nmirror=[+|-]number, (alias: nmirrors, mirrors)
Specifies the number of mirrors to create when
mirroring a volume (default value is 2).
For a relayout, this value can be preceded by a +
or a - to add or subtract mirrors. The value can
also be specified as src_nmirror to preserve the
number of mirrors.

Veritas Commands

Page 64 of 93

This attribute is also used to specify the number


of snapshot plexes to be attached to a volume by a
snapstart operation, and the number of plexes in a
snapshot volume for snapshot and snapback operations. For a snapshot, there must be number SNAPDONE plexes available in the original volume. For
a snapback, there must be number snapshot plexes
available in the snapshot volume (which must also
be in the same disk group as the original volume).
nraid5log=number
(alias: nraid5logs, raid5logs, nraidlog, nraidlogs, raidlogs)
Specifies the number of log plexes to create for a
new RAID-5 volume (default value is 1). This
attribute is used only with the make operation.
nraid5stripe=[+|-]number
(alias: raid5stripes, nraid5column, nraidstripe,
raidstripes, raidcolumns, nraidcolumn,
VxVM 3.5 Last change: 1 Jun 2002 29
Maintenance Commands vxassist(1M)
raid5columns)
Specifies the number of stripe columns to use when
creating a new RAID-5 volume (the default is to
adjust the number to available disks). This attribute is used only with make and relayout operations. For the relayout operation, the default is
the same number of stripe columns the volume has.
For a relayout, this value can be preceded by a +
or a - to add or subtract columns.
nregionlog=number (alias: nregionlogs, regionlogs, ndrl)
Specifies the number of log subdisks to create for
a new mirrored volume (default value 1). This
attribute is used only with the make operation,
and only if logging is requested for the volume.
nstripe=[+|-]number
(alias: stripes, ncolumn, ncolumns, ncol, ncols,

Veritas Commands

Page 65 of 93

columns, cols)
Specifies the number of stripe columns to use when
creating a new RAID-5 volume (with the make operation) or when creating a striped plex (with the
make, relayout, mirror, and snapstart operations).
The default is to adjust to the number of available disks. For the relayout operation, the
default is the same number of stripe columns the
volume has. For a relayout, this value can be preceded by a + or a - to add or subtract columns.
probe_granularity=size
Specifies the granularity for the maxsize request.
The default size value is 1m (1 megabyte).
raid5_stripeunit=width
(alias: raid5_stwid, raid5_st_width,
raid5_stwidth, raid_st_width, raid_stripeunitsize,
raid5_stripeunitsize, raid5_stripeunitwidth,
raid_stwid, raid_stwidth, raid_stripeunit,
raid_stripeunitwidth)
Specifies the stripe unit size to use when creating a new RAID-5 volume (default value is 16k (16
kilobytes)). This attribute is used only with the
make operation.
raid5loglen=length (alias: raidloglen)
Specifies the log length to use when adding the
first log to a RAID-5 volume. The default is four
times the full stripe width (the stripe unit size
times the number of stripe columns).
VxVM 3.5 Last change: 1 Jun 2002 30
Maintenance Commands vxassist(1M)
regionloglen=length (alias: drlloglen, drllen)
Specifies the log subdisk length to use when
adding the first log subdisk to a mirrored volume.
The default is chosen based on a formula involving
the volume length.
salcontact=no
If SAN Access Layer (SAL) is installed and running

Veritas Commands

Page 66 of 93

on a host, by default vxassist contacts the SAL


daemon (sald) to obtain storage group specific
information. To prevent vxassist contacting sald,
set the salcontact attribute to no.
sal_username=username
SAL authentication requires a user name and password to be passed to sald (see the vxspcshow(1M)
manual page for details of how to add details of a
SAL user to VxVM). The sal_username attribute is
used to define the user name (for example,
sal_username=admin) that is to be authenticated by
SAL. If no user name is specified to vxassist,
the user name (such as root) under which vxassist
is running is used.
spare=no|only|yes
Controls the use of spare disks when hotrelocation is performed.
If set to yes, spare disks are used. If necessary,
free space is also used on disks that have been
marked nohotuse=off. This is the default
behavior.
If set to only, relocation storage is allocated
using only spare disks.
If set to no, spare disks are not used. Alternatively, do not mark any of your disks as spares
and do not mark them as available for use by hot
relocation.
stripe=diskclass[,...]
Specifies that volumes should be striped across
instances of a particular disk class. For example,
stripe=target specifies that volumes should be
striped between SCSI target addresses. Each column
can contain disks from any number of instances of
the disk class, but different columns cannot use
disks from the same instance of the disk class.
stripe-mirror-col-trigger-pt=size
Specifies a size that triggers the creation of a
VxVM 3.5 Last change: 1 Jun 2002 31

Veritas Commands

Page 67 of 93

Maintenance Commands vxassist(1M)


stripe-mirror volume. If the size of the volume is
greater than the size specified in this attribute,
then a stripe-mirror volume is created.
stripe-mirror-col-split-trigger-pt=size
Specifies a size that triggers the creation of a
stripe-mirror-sd volume. If the size of each
column is greater than the size specified in this
attribute, then a stripe-mirror-sd volume is
created.
stripe_stripeunit=width
(alias: stripe_stwid, stripe_stwidth,
stripe_st_width, stripe_stripeunitsize,
stripe_stripeunitwidth)
Specifies the stripe unit size to use when creating striped plexes to attach to a volume. When
attaching a new plex, the default is to use the
same stripe unit size as any other striped plexes
in the volume. If the volume does not yet contain
striped plexes, the default value is 64k (64 kilobytes).
stripeunit=width
(alias: stwid, stripewidth, stwidth, st_width,
stripe_width, stripeunitsize, stripeunitwidth)
Specifies the stripe unit size to use for either a
RAID-5 volume or for striped plexes. stripeunit
can be used to set the values for both
raid5_stripeunit and stripe_stripeunit.
tmpsize=size
Specifies the size of the temporary storage used
to perform a relayout operation.
tmpalloc=storage-spec[,storage-spec,...]
Specifies a set of storage specifications for the
temporary storage required during a relayout
operation. The format is the same as for the alloc
attribute (a comma-separated list of storage
specifications).

Veritas Commands

Page 68 of 93

user=owning-user
Specifies the user ID for a new volume (default
value is root). The user ID can be specified
numerically or it can be a system login name.
This attribute is used only with the make operation.
usetype=volume-usage-type
VxVM 3.5 Last change: 1 Jun 2002 32
Maintenance Commands vxassist(1M)
Specifies the usage type to use when creating a
new volume (default value is raid5 for RAID-5
volumes; otherwise fsgens the default). This
attribute is only used with the make operation.
The usage type can also be specified using the -U
option.
wantalloc=storage-spec[,storage-spec,...]
Specifies a set of desired storage specifications.
This is useful in a defaults file to indicate
desired storage specifications that should be discarded if they fail to yield a reasonable set of
allocations. The format is the same as for the
alloc attribute (a comma-separated list of storage
specifications).
For example, a defaults file can name a specific
controller type to use for allocations, if possible. When all disks on that type of controller are
full, other controllers are used.
Note: You cannot use wantalloc in combination with
SAN storage set specifications. See the section
Using SAN Storage Attributes with vxassist for
more information.
wantmirror=diskclass[,diskclass,...]
Specifies a desired list of disk class mirroring
specifications. This is useful in a defaults file
to indicate a set of desired mirroring constraints
that can be dropped if they fail to yield a reasonable set of allocations.

Veritas Commands

Page 69 of 93

For example, a defaults file can specify that


volumes should be mirrored between disks on different controllers in the system. The constraint
is dropped if the set of volumes builds up in such
a way that a new volume cannot be mirrored across
controllers.
wantmirrorconfine=diskclass[,diskclass,...]
Specifies a list of disk classes for mirror confinement constraints. A single mirror is confined
to (that is, allocated entirely from) a group of
disks belonging to a single disk class.
This is useful in a defaults file to indicate a
set of mirror confinement constraints that can be
dropped if they fail to yield a reasonable set of
allocations. For example, a defaults file can
specify that a single mirror be confined to disks
of the same vendor:
VxVM 3.5 Last change: 1 Jun 2002 33
Maintenance Commands vxassist(1M)
wantmirrorconfine=vendor
If vxassist cannot allocate a mirror from disk
devices of one vendor, this constraint is dropped
and the mirror is allocated from disk devices of
other vendors.
wantstripe=diskclass[,diskclass,...]
Specifies a desired list of disk class stripping
specifications. This is useful in a defaults file
to indicate a set of desired stripping constraints
that can be dropped if they fail to yield a reasonable set of allocations.
For example, a defaults file can specify that
volumes should be striped between disks on different controllers in the system. The constraint
is dropped if the set of volumes builds up in such
a way that a new volume cannot be striped across
controllers.

Veritas Commands

Page 70 of 93

Layout Specifications
The layout attribute specifies a comma-separated list of
simple parameters (with no arguments) that apply to vxassist
operations.
Two new layouts were added in the 3.0 release of VxVM:
stripe-mirror and concat-mirror. In previous releases,
whenever mirroring was used, the mirroring had to happen
above striping or concatenation. Now there can be mirroring
both above and below striping and concatenation.
Putting mirroring below striping mirrors each column of the
stripe. If the stripe is large enough to have multiple subdisks per column, each subdisk can be individually mirrored.
A similar concatenated volume would also mirror each subdisk
individually. These new layouts enhance redundancy and
reduce recovery time in case of an error. In a mirrorstripe layout, if a disk fails, the entire plex is detached,
thereby losing redundancy on the entire volume. When the
disk is replaced, the entire plex must be brought up to
date. Recovering the entire plex can take a substantial
amount of time. If a disk fails in a stripe-mirror layout,
only the failing subdisk must be detached, and only that
portion of the volume loses redundancy. When the disk is
replaced, only a portion of the volume needs to be
recovered.
The new volume layouts are more complex than the older
volume layouts. Because the advantages of recovery time and
improved redundancy are more important for larger volumes,
VxVM 3.5 Last change: 1 Jun 2002 34
Maintenance Commands vxassist(1M)
it is best to continue using mirror-stripe and mirror-concat
for most volumes and only use stripe-mirror and concatmirror for very large volumes.
You can specify layout=mirror-stripe or layout=stripe-mirror
to implement the desired layout. If you specify
layout=stripe,mirror or layout=mirror,stripe, vxassist
automatically determines the best layout for the volume.
Unless there is a reason to implement a particular layout,
it is best to let vxassist create the layout for each
volume. Because the advantages of the new layouts are

Veritas Commands

Page 71 of 93

related to the size of the volume, vxassist creates the simplest configuration for smaller volumes and the more complex
stripe-mirror for larger volumes.
The attributes stripe-mirror-col-trigger-pt and stripemirror-col-split-trigger-pt control the selection. They can
be set in /etc/default/vxassist. Volumes that are smaller
than stripe-mirror-col-trigger-pt are created as mirrorstripe, and volumes that are larger are created as stripemirror. If vxassist creates the stripe-mirror and the
columns are larger than stripe-mirror-col-split-trigger-pt,
the individual subdisks are mirrored instead of mirroring
the columns of the stripe. By default, both of these attributes are set to one gigabyte.
The disk group must be created on a 3.0 or later release to
use the new layouts, but older disk groups can be updated.
See the vxdg upgrade command for more information on upgrading disk groups.
Defined layout specifications are:
concat-mirror
Specifies that new volumes should be concatenated
and mirrored. The mirroring is handled at each
subdisk level. The attribute stripe-mirror-colsplit-trigger-pt is applied.
contig, nocontig
Disallows or allows (default) plexes, regular
stripe columns, or RAID-5 stripe columns from
using multiple regions of disk. If contig is
specified, then plexes and columns must be allocated from a single contiguous region of disk. If
this is not possible, the allocation fails. By
default, vxassist tries to allocate space contiguously, but it can use multiple regions or multiple
disks if required.
diskalign, nodiskalign
Aligns (default for all volumes except layered
VxVM 3.5 Last change: 1 Jun 2002 35
Maintenance Commands vxassist(1M)

Veritas Commands

Page 72 of 93

volumes) or does not align subdisks on cylinder


boundaries. When alignment is not disabled, subdisks are created beginning on cylinder boundaries
and are extended to match the end of a cylinder.
Dirty region log subdisks, however, are not
cylinder aligned (they are usually only 2 or 3
blocks long). Instead, when creating log subdisks,
spaces are located from the available disks that
could not be turned into regular subdisks because
the spaces are not cylinder aligned. For example,
once one cylinder is used for a log subdisk, that
cylinder cannot be used to create an aligned data
(or RAID-5 log) subdisk, so other log subdisks are
created there until that cylinder fills up.
Note: The diskalign attribute is not supported for
layered volumes (concat-mirror and stripe-mirror).
grow, nogrow
Allows a volume to grow during a relayout operation.
log, nolog
Creates (or does not create) dirty region logs
(for mirrored volumes) or log plexes (for RAID-5
volumes) when creating a new volume. This attribute can be specified independently for mirrored
and RAID-5 volumes with the raid5log and regionlog
layout specifications. The current implementation
does not support the creation of DCM logs in the
layout specification.
mirror, nomirror
Specifies that new volumes should be mirrored or
unmirrored (default) respectively. For mirror,
the attributes stripe-mirror-col-trigger-pt and
stripe-mirror-col-split-trigger-pt are applied.
mirror-concat
Specifies that new volumes should be mirrored.
The mirroring is done at the volume level. The
attributes stripe-mirror-col-trigger-pt and
stripe-mirror-col-split-trigger-pt are ignored
with this layout.
mirror-stripe

Veritas Commands

Page 73 of 93

Specifies that new volumes should be mirrored and


striped. The mirroring is done at the volume
level. The attributes stripe-mirror-col-trigger-pt
and stripe-mirror-col-split-trigger-pt are ignored
with this layout.
VxVM 3.5 Last change: 1 Jun 2002 36
Maintenance Commands vxassist(1M)
raid5 Specifies that new volumes should be RAID-5.
raid5log, noraid5log
Creates (default) or does not create log plexes
for RAID-5 volumes.
regionlog, noregionlog
Creates or does not create (default) dirty-region
log subdisks for mirrored volumes.
shrink, noshrink
Allows or disallows shrinking of a volume during a
relayout operation.
span, nospan
Allows (default) or disallows plexes, regular
stripe columns, or RAID-5 stripe columns from
spanning multiple disks. If nospan is indicated,
then plexes or columns can be formed from multiple
regions of the same disk, but cannot be formed
from more than one disk.
stripe, nostripe
Specifies that new plexes should be striped or
unstriped, respectively. When creating a new
volume, the default is nostripe. When adding a new
plex to an existing volume, the default is stripe
if the volume already has one or more striped
plexes, and nostripe in other cases. For stripe
(when combined with mirror, the attributes
stripe-mirror-col-trigger-pt and stripe-mirrorcol-split-trigger-pt are applied.
stripe-mirror
Specifies that new volumes should be striped and
mirrored. The mirroring is handled at each column

Veritas Commands

Page 74 of 93

level or subdisk level depending on the attribute


stripe-mirror-col-split-trigger-pt.
stripe-mirror-col
Specifies that new volumes should be striped and
mirrored. The mirroring is handled at each column
level. The attributes stripe-mirror-col-trigger-pt
and stripe-mirror-col-split-trigger-pt are ignored
with this layout.
stripe-mirror-sd
Specifies that new volumes should be striped and
mirrored. The mirroring is handled at each subdisk
level.
VxVM 3.5 Last change: 1 Jun 2002 37
Maintenance Commands vxassist(1M)
Ordered Allocation
If the -o ordered option is specified when creating a
volume, vxassist uses the specified storage in the following
order:
1. Concatenate disks.
2. Form columns.
3. Form mirrors.
For example, the following command creates a mirrored-stripe
volume with 3 columns and 2 mirrors on 6 disks:
vxassist -o ordered make mirstrvol 10g layout=mirror-stripe \
nstripe=3 disk01 disk02 disk03 disk04 disk05 disk06
This command places columns 1, 2 and 3 of the first mirror
on disk01, disk02 and disk03 respectively, and columns 1, 2
and 3 of the second mirror on disk04, disk05 and disk06
respectively.
For layered volumes, the same rules are used to allocate
storage as for non-layered volumes. For example, the following command creates a striped-mirror volume with 2 mirrored
columns:

Veritas Commands

Page 75 of 93

vxassist -o ordered make strmirvol 10g layout=stripe-mirror \


nstripe=2 disk01 disk02 disk03 disk04
This command mirrors column 1 across disk01 and disk03, and
column 2 across disk02 and disk04.
The col_switch attribute can additionally be used to specify
how space on the disks is to be concatenated into columns.
For example, the following command creates a mirrored-stripe
volume with 2 columns:
vxassist -o ordered make strmir2vol 10g layout=mirror-stripe \
nstripe=2 col_switch=3g,2g disk01 disk02 disk03 disk04 \
disk05 disk06 disk07 disk08
This command allocates 3 gigabytes from disk01 and 2 gigabytes from disk02 to column 1, and 3 gigabytes from disk03
and 2 gigabytes from disk04 to column 2. The mirrors of
these columns are then similarly formed from disks disk05
through disk08.
VxVM 3.5 Last change: 1 Jun 2002 38
Maintenance Commands vxassist(1M)
Other storage specification classes for controllers, enclosures, targets and trays can be used with ordered allocation. For example, the following command creates a 3-column
mirrored-stripe volume between specified controllers:
vxassist -o ordered make mirstr2vol 10g layout=mirror-stripe \
nstripe=3 ctlr:c1 ctlr:c2 ctlr:c3 ctlr:c4 ctlr:c5 ctlr:c6
This command allocates space for column 1 from disks on controller c1, for column 2 from disks on controller c2, and so
on.
Using SAN Storage Attributes with vxassist
Note: This feature of vxassist is designed to work in conjunction with VERITAS SANPoint Control 2.0 and SAN Access
Layer (SAL).
The vxassist utility understands storage groups that you
have defined using VERITAS SANPoint Control. vxassist supports a simple language that you can use to specify how
disks are to be allocated from pre-defined storage groups.

Veritas Commands

Page 76 of 93

This specification language defines the confinement and


separation criteria that vxassist applies to the available
storage to choose disks for creating, resizing or moving a
volume.
The storage specification language consists of set definitions that are used to match a set of disks based on one or
more attribute values.
Note: You cannot use storage specification attributes or the
alloc and wantalloc attributes in combination with these SAN
storage set specifications.
The simplest form of set definition consists of an operator
and one or more attribute-value pairs, as shown here:
operator:attribute=value[,attribute=value]...
Note: Attribute-value pairs may be separated by commas or by
spaces. The syntax statements and examples shown here use
commas.
Set definitions may be combined into complex clauses where
an operator is used to combine two or more simple set definitions, as follows:
operator{
operator:attribute=value[,attribute=value]...
operator:attribute=value[,attribute=value]...
...
VxVM 3.5 Last change: 1 Jun 2002 39
Maintenance Commands vxassist(1M)
}
Note: Simple set definitions within complex clauses must be
separated by semi-colons if not entered on separate lines.
The operator defines how vxassist allocates storage from
disks that match the specified set definition. The following operators may be used:
confine Allocate storage only from disks that match all
the specified attribute values.

Veritas Commands

Page 77 of 93

select Allocate storage from disks that match any of the


specified attribute values.
noneof Exclude disks from being allocated that match any
of the specified attribute values.
The attributes that can be specified include vendor, location, storage account, and protection, type, or luntype.
If required, you can use the vxspcshow command to discover
the device names of disks that have a specified set of
attributes, or to list the attributes of specified disks.
See the vxspcshow(1M) manual page for more information.
Command Line Usage
A simple set definition consisting of a single operator may
be specified as a command line argument to vxassist. The
following example creates a volume using any combination of
EMC and HITACHI disks that are in disk group dg1:
vxassist -g dg1 make vol1 100m \
select:vendor=HITACHI,vendor=EMC
The next example creates a volume using HITACHI disks of
protection type Raid5 that are in disk group dg2:
vxassist -g dg2 make vol2 100m \
confine:protection=Raid5,vendor=HITACHI
The final example creates a volume on HITACHI disks, and
mirrors it across the locations building1 and building2:
vxassist -g dg1 make vol 100m mirror=location \
select:vendor=HITACHI,location=building1,location=building2
Set Definition Template File
If complex clauses are required to define set definitions,
VxVM 3.5 Last change: 1 Jun 2002 40
Maintenance Commands vxassist(1M)
these must be placed in a template file. This file contain a
single complex or simple set definition. Use the -E option
to specify the path name of this file to vxassist as shown

Veritas Commands

Page 78 of 93

in this example:
vxassist -g dg1 -E storage.def make vol3 100m
For example, the following complex set definition allows
storage to be allocated from any combination of disks at
locations loc1 and loc2:
confine {
select:location=loc1
select:location=loc2
}
This clause can also be written as follows:
confine {
select:location=loc1 ; select:location=loc2
}
Examples of Set Definitions
Allocate storage using only HITACHI disks:
confine:vendor=HITACHI
Allocate storage using only HITACHI disks of protection type
Raid5:
confine:vendor=HITACHI,protection=Raid5
Allocate storage using any combination of EMC and HITACHI
disks:
select:vendor=EMC,vendor=HITACHI
Do not allocate storage on EMC disks:
noneof:vendor=EMC
The following complex clause allocates storage using any
combination of EMC and HITACHI disks, and any combination of
Raid5 and Mirr2 protection:
VxVM 3.5 Last change: 1 Jun 2002 41
Maintenance Commands vxassist(1M)

Veritas Commands

Page 79 of 93

confine{
select:vendor=EMC,vendor=HITACHI
select:protection=Raid5,protection=Mirr2
}
Support for Remote Operation with SAL
If the host on which you are running vxassist is not the
primary SAL server, or the port used by the SAL daemon
(sald) is not the default (2802), specify the hostname of
the primary SAL server and the sald port in the file
/etc/default/vxassist_sal_info using the following format:
sal_primary = hostname
sal_port = port_number
The following is an example of such a file:
sal_primary = chives
sal_port = 1001
Note: If SAL cannot be contacted by vxassist for any reason
such as authentication failure, link failure and so on, it
issues a warning and completes execution normally. No LUN
attributes are retrieved from SAL in such a scenario.
Authentication with SAL
The user name to be authenticated by the SAL primary server
(if required) may be specified using the sal_username attribute. User names and passwords that VxVM is to use with SAL
may be specified using the vxspcshow command. See the
vxspcshow(1M) manual page for more information.
FILES
/etc/default/vxassist System default settings file
for vxassist attributes.
EXIT CODES
The vxassist 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.
---------------------------------------------------------------------------------------------------------------------------------------vxtunefs - tune a VxFS file system
SYNOPSIS

Veritas Commands

Page 80 of 93

vxtunefs [-ps] [-f tunefstab] [-o parameter=value]


[{mount_point | block_special}]...
AVAILABILITY
VRTSvxfs
DESCRIPTION
vxtunefs sets or prints tunable I/O parameters of mounted
file systems. vxtunefs can set parameters describing the
I/O properties of the underlying device, parameters to indicate when to treat an I/O as direct I/O, or parameters to
control the extent allocation policy for the specified file
system.
With no options specified, vxtunefs prints the existing VxFS
parameters for the specified file systems.
vxtunefs works on a list of mount points specified on the
command line, or all the mounted file systems listed in the
tunefstab file. The default tunefstab file is
/etc/vx/tunefstab. You can change the default by setting
the VXTUNEFSTAB environment variable.
vxtunefs can be run at any time on a mounted file system,
and all parameter changes take immediate effect. Parameters
specified on the command line override parameters listed in
the tunefstab file.
If /etc/vx/tunefstab exists, the VxFS-specific mount command
invokes vxtunefs to set device parameters from
/etc/vx/tunefstab. If the file system is built on a VERITAS
Volume Manager (VxVM) volume, the VxFS-specific mount command interacts with VxVM to obtain default values for the
tunables, so you need to specify tunables for VxVM devices
only to change the defaults.
Only a privileged user can run vxtunefs.
NOTES
vxtunefs works with Storage Checkpoints; however, VxFS tunables apply to an entire file system. Therefore tunables
affect not only the primary fileset, but also any Storage
Checkpoint filesets within that file system.
The tunables read_unit_io and write_unit_io are not supported.

Veritas Commands

Page 81 of 93

VxFS 3.5 Last change: 07 Jun 2002 1


Maintenance Commands vxtunefs(1M)
Cluster File System Issues
Because cluster members may be of different configurations,
tunable parameters apply only to the node that sets them.
CFS requires more memory to manage distributed operations,
so you may want to adjust related tunables for a cluster
mounted file system.
Cached Quick I/O does not function on CFS, so the
qio_cache_enable parameter is not supported.
The max_seqio_extent_size and initial_extent_size parameters
are in-memory values that take effect only when the invoking
node is the primary, or later becomes the primary, node in
the cluster.
OPTIONS
-f filename
Use filename instead of /etc/vx/tunefstab as the
file containing tuning parameters.
-o parameter=value
Specifies parameters for the file systems listed
on the command line.
-p Prints the tuning parameters for all the file systems specified on the command line.
-s Sets the new tuning parameters for the VxFS file
systems specified on the command line or in the
tunefstab file.
VxFS Tuning Parameters and Guidelines
The values for all the following parameters except
read_nstream, write_nstream, and qio_cache_enable can be
specified in bytes, kilobytes, megabytes, or sectors (512
bytes) by appending k, K, m, M, s, or S. There is no need
for a suffix for the value in bytes.
If the file system is being used with VxVM, it is advisable
to let the parameters use the default values based on the

Veritas Commands

Page 82 of 93

volume geometry.
If the file system is being used with a hardware disk array
or another volume manager, align the parameters to match the
geometry of the logical disk. For disk striping and RAID-5
configurations, set read_pref_io to the stripe unit size or
interleave factor and set read_nstream to be the number of
columns. For disk striping configurations, set
write_pref_io and write_nstream to the same values as
read_pref_io and read_nstream, but for RAID-5 configurations, set write_pref_io, to the full stripe size and set
VxFS 3.5 Last change: 07 Jun 2002 2
Maintenance Commands vxtunefs(1M)
write_nstream to 1.
For an application to do efficient direct I/O or discovered
direct I/O, it should issue read requests that are equal to
the product of read_nstream and read_pref_io. In general,
any multiple or factor of read_nstream multiplied by
read_pref_io is a good size for performance. For writing,
the same general rule applies to the write_pref_io and
write_nstream parameters. When tuning a file system, the
best thing to do is use the tuning parameters under a real
workload.
If an application is doing sequential I/O to large files,
the application should issue requests larger than the
discovered_direct_iosz. This performs the I/O requests as
discovered direct I/O requests which are unbuffered like
direct I/O, but which do not require synchronous inode
updates when extending the file. If the file is too large
to fit in the cache, using unbuffered I/O avoids losing useful data out of the cache and lowers CPU overhead.
default_indir_size
On VxFS, files can have up to 10 variable sized extents
stored in the inode. After these extents are used, the
file must use indirect extents which are a fixed size
that is set when the file first uses indirect extents.
These indirect extents are 8K by default. The file
system does not use larger indirect extents because it
must fail a write and return ENOSPC if there are no
extents available that are the indirect extent size.

Veritas Commands

Page 83 of 93

For file systems with many large files, the 8K indirect


extent size is too small. The files that get into
indirect extents use a lot of smaller extents instead
of a few larger ones. By using this parameter, the
default indirect extent size can be increased so that
large files in indirects use fewer larger extents.
Be careful using this tunable. If it is too large, then
writes fail when they are unable to allocate extents of
the indirect extent size to a file. In general, the
fewer and the larger the files on a file system, the
larger default_indir_size can be. The value of this
parameter is generally a multiple of the read_pref_io
parameter.
This tunable does not apply to disk layout Version 4.
discovered_direct_iosz
Any file I/O requests larger than the
discovered_direct_iosz are handled as discovered direct
I/O. A discovered direct I/O is unbuffered like direct
I/O, but it does not require a synchronous commit of
VxFS 3.5 Last change: 07 Jun 2002 3
Maintenance Commands vxtunefs(1M)
the inode when the file is extended or blocks are allocated. For larger I/O requests, the CPU time for copying the data into the page cache and the cost of using
memory to buffer the I/O becomes more expensive than
the cost of doing the disk I/O. For these I/O
requests, using discovered direct I/O is more efficient
than regular I/O. The default value of this parameter
is 256K.
hsm_write_prealloc
For a file managed by a hierarchical storage management
(HSM) application, hsm_write_prealloc preallocates disk
blocks before data is migrated back into the file system. An HSM application usually migrates the data back
through a series of writes to the file, each of which
allocates a few blocks. By setting hsm_write_prealloc
(hsm_write_prealloc=1), a sufficient number of disk
blocks will be allocated on the first write to the
empty file so that no disk block allocation is required

Veritas Commands

Page 84 of 93

for subsequent writes, which improves the write performance during migration.
The hsm_write_prealloc parameter is implemented outside
of the DMAPI specification, and its usage has limitations depending on how the space within an HSM controlled file is managed. It is advisable to use
hsm_write_prealloc only when recommended by the HSM
application controlling the file system.
initial_extent_size
Changes the default size of the initial extent.
VxFS determines, based on the first write to a new
file, the size of the first extent to allocate to the
file. Typically the first extent is the smallest power
of 2 that is larger than the size of the first write.
If that power of 2 is less than 8K, the first extent
allocated is 8K. After the initial extent, the file
system increases the size of subsequent extents (see
max_seqio_extent_size) with each allocation.
Because most applications write to files using a buffer
size of 8K or less, the increasing extents start doubling from a small initial extent. initial_extent_size
changes the default initial extent size to a larger
value, so the doubling policy starts from a much larger
initial size, and the file system won't allocate a set
of small extents at the start of file.
Use this parameter only on file systems that have a
very large average file size. On such file systems,
there are fewer extents per file and less
VxFS 3.5 Last change: 07 Jun 2002 4
Maintenance Commands vxtunefs(1M)
fragmentation.
initial_extent_size is measured in file system blocks.
max_buf_data_size
Not available.
max_direct_iosz

Veritas Commands

Page 85 of 93

Maximum size of a direct I/O request issued by the file


system. If there is a larger I/O request, it is broken
up into max_direct_iosz chunks. This parameter defines
how much memory an I/O request can lock at once; do not
set it to more than 20% of memory.
max_diskq
Specifies the maximum disk queue generated by a single
file. If the number of dirty pages in the disk queue
exceeds this limit, the file system prevents writing
more data to disk until the amount of data decreases.
The default value is 1 megabyte.
Although it does not limit the actual disk queue,
max_diskq prevents processes that flush data to disk,
such as fsync, from making the system unresponsive.
See the write_throttle description for more information
on pages and system memory.
max_seqio_extent_size
Increases or decreases the maximum size of an extent.
When the file system is following its default allocation policy for sequential writes to a file, it allocates an initial extent that is large enough for the
first write to the file. When additional extents are
allocated, they are progressively larger (the algorithm
tries to double the size of the file with each new
extent), so each extent can hold several writes worth
of data. This reduces the total number of extents in
anticipation of continued sequential writes. When there
are no more writes to the file, unused space is freed
for other files to use.
In general, this allocation stops increasing the size
of extents at 2048 blocks, which prevents one file from
holding too much unused space.
max_seqio_extent_size is measured in file system
blocks.
qio_cache_enable
Enables or disables caching on Quick I/O for Databases
files. The default behavior is to disable caching. To
VxFS 3.5 Last change: 07 Jun 2002 5

Veritas Commands

Page 86 of 93

Maintenance Commands vxtunefs(1M)


enable caching, set qio_cache_enable to 1.
On systems with large amounts of memory, the database
cannot always use all of the memory as a cache. By
enabling file system caching as a second level cache,
performance can improve.
If the database is performing sequential scans of
tables, the scans can run faster by enabling file system caching so the file system performs aggressive read
aheads on the files.
read_ahead
In the absence of a specific caching advisory, the
default for all VxFS read operations is to perform
sequential read ahead. The enhanced read ahead functionality implements an algorithm that allows read
aheads to detect more elaborate patterns (such as
increasing or decreasing read offsets, or multithreaded
file accesses) in addition to simple sequential reads.
You can specify the following values for read_ahead:
0 Disables read ahead functionality
1 Retains traditional sequential read ahead
behavior
2 Enables enhanced read ahead for all reads
By default, read_ahead is set to 1, that is, VxFS
detects only sequential patterns.
read_ahead detects patterns on a per-thread basis, up
to a maximum of vx_era_nthreads. The default number of
threads is 5, however, you can change the default value
by setting the vx_era_nthreads parameter in the system
configuration file, /etc/system.
read_nstream
The number of parallel read requests of size
read_pref_io to have outstanding at one time. The file
system uses the product of read_nstream and
read_pref_io to determine its read ahead size. The

Veritas Commands

Page 87 of 93

default value for read_nstream is 1.


read_pref_io
The preferred read request size. The file system uses
this in conjunction with the read_nstream value to
determine how much data to read ahead. The default
value is 64K.
write_nstream
VxFS 3.5 Last change: 07 Jun 2002 6
Maintenance Commands vxtunefs(1M)
The number of parallel write requests of size
write_pref_io to have outstanding at one time. The
file system uses the product of write_nstream and
write_pref_io to determine when to do flush behind on
writes. The default value for write_nstream is 1.
write_pref_io
The preferred write request size. The file system uses
this in conjunction with the write_nstream value to
determine how to do flush behind on writes. The
default value is 64K.
write_throttle
When data is written to a file through buffered writes,
the file system updates only the in-memory image of the
file, creating what are referred to as dirty pages.
Dirty pages are cleaned when the the file system later
writes the data in these pages to disk. (Note that
data can be lost if the system crashes before dirty
pages are written to disk.)
Newer model computer systems typically have more
memory. The more physical memory a system has, the
more dirty pages the file system can generate before
having to write the pages to disk to free up memory.
So more dirty pages can potentially lead to longer
return times for operations that write dirty pages to
disk such as sync and fsync. If your system has a combination of a slow storage device and a large amount of
memory, the sync operations may take long enough to
complete that it gives the appearance of a hung system.

Veritas Commands

Page 88 of 93

If your system is exhibiting this behavior, you can


change the value of write_throttle. write_throttle
lets you lower the number of dirty pages per file that
the file system will generate before writing them to
disk. After the number of dirty pages for a file
reaches the write_throttle threshold, the file system
starts flushing pages to disk even if free memory is
still available. Depending on the speed of the storage
device, user write performance may suffer, but the
number of dirty pages is limited, so sync operations
will complete much faster.
The default value of write_throttle is zero. The
default value places no limit on the number of dirty
pages per file. This typically generates a large
number of dirty pages, but maintains fast writes. If
write_throttle is non-zero, VxFS limits the number of
dirty pages per file to write_throttle pages In some
cases, write_throttle may delay write requests. For
example, lowering the value of write_throttle may
VxFS 3.5 Last change: 07 Jun 2002 7
Maintenance Commands vxtunefs(1M)
increase the file disk queue to the max_diskq value,
delaying user writes until the disk queue decreases.
So unless the system has a combination of large physical memory and slow storage devices, it is advisable
not to change the value of write_throttle.
VERITAS Volume Manager Maximum I/O Size
When using striping on VxVM volumes, to optimize performance, the file system issues I/O requests that are up to a
full stripe in size. If the volume stripe size is larger
than 256K, VxVM (by default) breaks up the I/O requests. To
avoid undesirable I/O breakup, you can increase the value of
the vol_maxio parameter.
The value of vol_maxio determines the largest amount of
memory that an I/O request can reserve. The recommended
maximum is 20% of the smaller of physical memory or kernel
virtual memory. It is not advisable to go over this limit.
Within this limit, you can generally obtain the best results
by setting vol_maxio to the size of the largest volume
stripe. This applies to both RAID-0 striping and RAID-5

Veritas Commands

Page 89 of 93

striping.
To change the value of vol_maxio, add an entry to
/etc/system and reboot for the change to take effect. The
following example sets the maximum I/O size to 16 MB. Note
that vol_maxio goes after the forceload entry.
forceload: drv/vxio
set vxio:vol_maxio=32768
The value of vol_maxio is in 512-byte sectors and is stored
as a 16-bit number, so it cannot be larger than 65535.
---------------------------------------------------------------------------------------------------------------------------------------The following examples verify a feature defined for the same
product. The first example identifies the product by its
license key, the second by its product name, and the third
by its product ID.
vxlictest -k PR66-WPBD-NZCY-P3ZP-CPOP -f "VxVM"
vxlictest -n "VERITAS Volume Manager" -f "VxVM"
vxlictest -i 78 -f "VxVM"
The following example uses quiet mode (the -q can also be
entered as the first argument):
vxlictest -k PR66-WPBD-NZCY-P3ZP-CPOP -f "VxVM" -q
The following example displays all the licensed features in
any keys installed for Volume Manager:
vxlictest -n "VERITAS Volume Manager" -l
The following example displays all the licensed features in
the specified key:
vxlictest -k PR66-WPBD-NZCY-P3ZP-CPOP -l
---------------------------------------------------------------------------------------------------------------------------------------qlog - VERITAS QuickLog device driver
AVAILABILITY VRTSvxfs
DESCRIPTION : The VERITAS QuickLog device driver is a performance enhance- ment feature for the
VERITAS File System (VxFS). QuickLog improves file system performance by moving all logging of file
system data and metadata to a separate raw disk or VxVM volume. This saves disk access time for log
writes because it eliminates seek time from the logging area to the file system area on a single volume or
disk. There is no disk seek time involved in the log writes on the QuickLog device, because all log writes on
the Quick-Log device are sequential.

Veritas Commands

Page 90 of 93

A QuickLog device is a device file to which you can attach up to four QuickLog Volumes. The volumes
provide the disk space for the file systems being logged to that device. The QuickLog devices are named :
o /dev/qlog/admin
o /dev/qlog/vxlog1-31
o /dev/qlog/cvxlog1-32
The admin device is for QuickLog internal use. The 31 /dev/qlog/vxlog1-31 devices are for logging local file
systems. The 32 /dev/qlog/cvxlog1-32 devices are for logging clustered file systems.
For QuickLog to log VxFS file system data and metadata (referred to as enabling QuickLog for a file
system), all VxFS log writes are redirected from the VxFS intent log to a QuickLog device.
Another key aspect of QuickLog is crash recovery. During a system start up, the QuickLog startup script,
/etc/rcS.d/S88qlog-startup, searches the QuickLog configura- tion file (see qlog_config(4)). For each
QuickLog device in this file that is in the attached state, the script tries to recover the log data and metadata
that were not committed to the VxFS file system before the crash or reboot (see qlogck(1M)). If this data is
successfully recovered, VxFS does not need to perform a full consistency check when running fsck. If an
error occurs on one of the VxFS file systems, only that file system with the error has a full consistency
check run. The configuration information for cluster QuickLog devices is maintained internally, not in the
QuickLog configuration file (/etc/qlog/config), and is consistent across the cluster.
If an error occurs on one of the QuickLog devices or Quick-Log volumes, the QuickLog device is removed
and a full consistency check is performed on the VxFS file systems that were enabled on this device.
Finally, all recovered Quick-Log volumes are reattached to QuickLog devices and are ready to begin
logging after the VxFS file systems are mounted.
To begin logging a VxFS file system by a QuickLog device, there are a few set up steps. First, the
VRTSvxfs package must be installed. This modifies the /etc/devlink.tab file and creates the 63 QuickLog
device nodes that can be used to attach QuickLog volumes to the QuickLog driver. Then choose the VxFS
file systems are to be enabled on these QuickLog devices. For each of these file systems, the tag qlog=
must be added to the mount option field of its entry in the /etc/vfstab file as in the following example:
# device device mount FS fsck mount mount
# to mount to fsck point type pass at boot options
/dev/vx/dsk/vol1 /dev/vx/rdsk/vol1 /vol1 vxfs 1 no qlog=
At this point, there are two methods of enabling QuickLog on a file system. One way is to remount the
VxFS file system with the modified entry in /etc/vfstab. This can be done by running mount -o remount. The
other method is to run qlogenable on a mounted file system's mount point. qlogenable incorporates mount
-o remount,qlog=. and issues the mount system call. Similarly, to disable logging by QuickLog without
unmounting the VxFS file system across system reboots, remove the qlog= option from the /etc/vfstab file
and run mount -o remount. You can also run the qlogdisable command.
The QuickLog configuration file is /etc/qlog/config.
QuickLog can use VxVM or raw disk partitions for all Quick-Log volumes. A cluster QuickLog device must
use a shared Cluster Volume Manager (CVM) volume for QuickLog volumes. VxFS can operate
independently from QuickLog.
Cluster File System Issues : This section describes the operation of QuickLog on cluster file systems.
Cluster QuickLog Devices There are up to 32 QuickLog device nodes in a cluster. All the systems in a
cluster can access a cluster QuickLog device, but a given QuickLog device can be accessed by only one
system at a time. The cluster node that has access to the QuickLog device is termed the master. The
cluster QuickLog device master mediates all log transactions for the cluster, and only the master can
change the cluster configuration information. Most QuickLog commands master the device automatically,
and no manual intervention is required. If a non-master node tries to initiate a configuration update, the
corresponding ioctl returns an EBUSY diagnostic.
The configuration information for all the cluster QuickLog devices is duplicated on all nodes. This
information is kept consistent by broadcasting any configuration updates. When a node joins a cluster, it
receives the configuration information from one of the existing member nodes. The con- figuration
information is used primarily during a cluster reconfiguration.
When a master node leaves the cluster, all the other nodes in the cluster mark the master node devices
"DIRTY." When a file system check (fsck) is run on a file system, the clus- ter QuickLog configuration
information is checked to determine if the file system was enabled to a cluster QuickLog device. If so, the
cluster QuickLog device is recovered before the fsck command does a log replay. If the primary file system
is QuickLog enabled and leaves the cluster, the secondary file system that assumes the primaryship can be
enabled to a different cluster QuickLog device. For each shared diskgroup in a cluster, it is advisable to
Veritas Commands

Page 91 of 93

configure either one cluster QuickLog device per cluster file system, or one per node, whichever number is
smaller.
Cluster QuickLog Device Life Cycle
CLEAN Initial state of the device. The device is clean and there are no VxFS file systems enabled by it.
DIRTY The master node of the cluster QuickLog device has left the cluster. In this state, no node can use
the device. Only a CLEAN or RECOVERED device can be used for logging.
RECOVERED The DIRTY cluster QuickLog device was recovered. The device is clean and there are no
VxFS file systems enabled by it.
UNDERRECOVERY The DIRTY cluster QuickLog device is being recovered.
ERRORS The QuickLog driver returns the standard error codes.
FILES
/dev/qlog/admin The QuickLog device driver special device node reserved solely for administrative
purposes.
/dev/qlog/vxlog [1-31] The QuickLog device driver special device nodes used for VxFS file system logging.
/dev/qlog/cvxlog [1-32] The QuickLog device driver special device nodes used for VxFS file system logging.
These are the cluster QuickLog devices.
/etc/qlog/config QuickLog configuration file.
/etc/rcS.d/S88qlog-startup QuickLog start up script.
/etc/vfstab Table of file system default parameters.
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Veritas Commands

Page 92 of 93

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Veritas Commands

Page 93 of 93

Você também pode gostar