EXAMPLES
vxvoladm - create and administer application volumes on allocated storage
vxvoladm [options] [-b] add
{column|log|mirror} volume
[storage-spec ...] [attribute ...]
vxxoladm [options] [-b]
[--noattach] -M
add mirror volume ...
[storage-spec ...]
[attribute ...]
vxvoladm [options]
evacuate
{column|disk|log|mirror|subdisk|volume}
volume [storage_spec ...] [attribute ...]
vxvoladm [options] [-b] growby volume
length_change [storage_spec ...] [attribute ...]
vxvoladm [options] -M growby
vxvoladm [options] [-b] growlogby volume
length_change [storage_spec ...] [attribute ...]
vxvoladm [options] [-b] growlogto volume
length_change [storage_spec ...] [attribute ...]
vxvoladm [options] [-b] growto volume
new_length [storage_spec ...] [attribute ...]
vxvoladm [options] -M growto
vxvoladm help [options | keywords |
attributes]
vxvoladm [options] list
[capability=c1[,c2...]]
[tag=tagname] ...
[template=t1[,t2...]]
vxvoladm [options] listattrs [lun_name1
[lun_name2 ...]]
vxvoladm [options] listtag
{volume|vset} ...
vxvoladm [options] [-b] make volume
length
[storage_spec ...] [attribute ...]
vxvoladm [options] -M make
vxvoladm [options] maxgrow
volume
[storage_spec ...]
vxvoladm [options] maxsize [attribute ...]
vxvoladm [options] [-b]
[-g diskgroup]
[-P storage_pool]
[-I rules]
migrate volume ...
vxvoladm [options] -M migrate
vxvoladm [options] printintent [object_names ...]
vxvoladm [options] printrules volume ...
vxvoladm [options] [-b] remove column
volume [storage-spec ...] [attribute ...]
vxvoladm [options] remove
{log|mirror|volume}
volume [storage-spec ...] [attribute ...]
vxvoladm [options] removeall log volume
[storage_spec ...] [attribute ...]
vxvoladm [options] [-b] -M
remove mirror volume ...
[storage-spec ...] [attribute ...]
vxvoladm [options]
removetag {volume|vset}
tagname[=[tagvalue]] ...
vxvoladm [options]
replacetag
{volume|vset}
old_tagname new_tagname
vxvoladm [-b]
[-g diskgroup]
reversemigrate
volume ...
vxvoladm [-b]
[-g diskgroup]
reversemigrateall
vxvoladm [options] [-b] setstwidth volume
[attribute ...]
vxvoladm [options]
settag {volume|vset}
tagname[=tagvalue] ...
vxvoladm [options] shrinkby volume
length_change [attribute ...]
vxvoladm [options] -M shrinkby
vxvoladm [options] shrinkto volume
new_length [attribute ...]
vxvoladm [options] -M shrinkto
vxvoladm [options] [-b] transform volume
[storage_spec ...] [attribute ...]
vxvoladm [options] transformreverse volume
vxvoladm [options] verify
The vxvoladm utility provides a command line interface
to the Veritas Intelligent Storage Provisioning (ISP)
feature of Veritas Volume Manager (VxVM)
that provides rule-based allocation of storage for the creation
and administration of application volumes.
The operations that can be performed by vxvoladm are selected by
specifying the appropriate keyword on the command line. See the
KEYWORDS section for a description of the available operations.
Most operations can be applied to a single disk group only.
If a disk group is not specified by using the -g option,
and an alternate default disk group is not
defined by specifying the diskgroup attribute on the command
line or in a defaults file (usually /etc/default/allocator),
the default disk group is determined using the rules given
in the vxdg(1M) manual page.
Many vxvoladm operations take attributes that specify
how volumes should be laid out, which storage can and cannot be used,
and so on. Attributes are of two basic types:
storage specifications and attribute settings.
You can specify storage specification
attributes in the same way as for the vxassist command by
naming individual disks (for example, disk01), or by grouping
disks that are selected by target, tray, controller or enclosure
(for example, !ctrl:c1 specifies that no
disks on controller c1 can be used).
In addition, vxvoladm allows you to specify rule-based expressions
that determine how storage can be allocated.
See the STORAGE SPECIFICATION section for details.
Other attributes are specified in the form
attribute_name=value. See the ATTRIBUTES section
for a list of supported attributes.
-
add column|log|mirror
-
Adds columns, logs or mirrors to a volume.
Unless the number is specified, one column, log or mirror is added.
The addition of columns
supports the specification of the following attributes:
layout=grow,
ncols, stripe_stripeunit, tmplen and use_storage.
The addition of logs
supports the specification of the following attributes:
drl,
loglen (for the first log of this type that is being added),
lognames, logtype, nlogs, regionsize,
and use_storage.
The logtype attribute must be specified.
The addition of mirrors
supports the specification of the following attributes:
nmirror, plexnames and use_storage.
These operations
support the specification of the following options:
-b, -d defaultfile,
-g diskgroup,
-n,
-P storage_pool and
-t tasktag.
In addition, the add log and add mirror operations
support the specification of the -f option.
If the -M option is specified to add mirror,
mirrors may be added to multiple volumes in a single operation.
-
evacuate
-
Relocates columns, disks, logs, subdisks, or mirrors that belong to
the named volume, or moves an entire volume.
For disks, excluded storage may specified using the ! prefix.
The names of column, log, mirror and subdisk names may be
specified by the attributes columnnames,
lognames, plexnames and sd respectively.
This operation also supports the use of the attributes evac_storage
and use_storage to specify storage that is to be evacuated and populated
respectively.
This operation supports the specification of the following options:
-d defaultfile,
-g diskgroup,
-n,
-P storage_pool
and -t tasktag.
-
growby | growto
-
Increases the length of the named volume to (growto) or by (growby)
the specified length in Veritas Volume Manager standard units
(see vxintro(1M)) or a percentage (for example, 110%).
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)).
vxvoladm 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.
Note: Growing a volume requires that it is enabled.
The growto operation fails if
the new length is smaller 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, that are sparse) are left unchanged.
Log-only plexes are also left unchanged.
When a volume is grown, 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 stripe-mirror when it is
grown. This kind of conversion is done if vxvoladm determines that the
new volume is too large for the original layout.
These operations can be applied to single volumes, or to multiple
volumes if the -M option is specified.
These operations support the specification of the following attributes:
layout=contig,
layout=span,
spare,
use_storage.
These operations support the specification of the following options:
-b, -d defaultfile,
-f,
-g diskgroup,
-M,
-n,
-P storage_pool and
-t tasktag.
-
growlogby | growlogto
-
Increases the length of DCO volume associated with the named volume
to (growlogto) or by (growlogby)
the specified length in Veritas Volume Manager standard units
(see vxintro(1M)) or as a percentage (for example, 110%).
The growlogto operation fails if the new length is smaller than
the current DCO volume length.
The logtype=dco attribute must be specified.
These operations support the specification of the following options:
-b, -d defaultfile,
-f,
-g diskgroup,
-n,
-P storage_pool and
-t tasktag.
-
help
-
Displays information on vxvoladm usage, keywords, options and attributes.
-
list
-
Lists the volumes that were created using at least one of
the capabilities or templates that are specified as arguments
to the capability and template attributes, or that have the
volume tag specified as an argument to the tag attribute.
The displayed volume sizes are rounded down to the nearest whole number of
standard length units.
If no capabilities, tags or templates are specified, all volumes in the disk
group (and storage pool, if specified) are listed.
Dotted tag hierarchies are understood. For example, the listing for
tag=a.b includes all volumes that have tag names that start
with a.b.
-
listattrs
-
Lists the attribute tags of the logical units (LUNs)
in the specified disk group and/or storage pool.
If LUN names are specified, only the attributes of those LUNs are displayed.
If the -a option is specified, the attributes of all LUNs that are
attached to the host are displayed.
Otherwise, an error is returned if a disk group is not specified
and no default disk group is defined (see the vxdg(1M) manual page).
-
listtag
-
Lists the tags that are associated with one or more specified volumes or
volume sets.
-
make
-
Creates a volume with a specified name and length.
The units of the volume length may be specified
in Veritas Volume Manager standard units
(see vxintro(1M)).
This operation can be used to create multiple
volumes if the -M option is specified.
This allows the allocation of storage to be balanced among the
volumes that are created in the same operation.
See the section OPERATIONS ON MULTIPLE VOLUMES for details.
This operation supports the specification of the following attributes:
capability, comment, dcologlen, drl, excl,
fmr, fstype, group, init, layout,
max_ncolumn,
max_nraid5column,
min_ncolumn,
min_nraid5column,
mode, raid5loglen,
raid5_stripeunit,
regionsize, rules, spare,
stripe_stripeunit, use_storage, user,
user_template, usetype,
volume_template and vxvmtaskid.
This operation supports the specification of the following options:
-b, -d defaultfile,
-g diskgroup,
-M,
-n,
-o iosize, -o iodelay,
-P storage_pool and
-t tasktag.
-
maxgrow
-
Reports the maximum size to which a volume can be grown given the specified
attribute constraints and available storage.
This operation supports the specification of the following options:
-b, -d defaultfile,
-f,
-g diskgroup,
-n,
-P storage_pool and
-t tasktag.
-
maxsize
-
Reports the maximum size of volume that can be created given the
specified attribute constraints and available storage.
This operation supports the specification of the following attributes:
capability, drl, fstype,
layout, loglen, max_ncolumn,
min_ncolumn,
max_nraid5column. min_nraid5column,
raid5_stripeunit, rules, spare, stripe_stripeunit,
use_storage, user_template and volume_template.
This operation supports the specification of the following options:
-b, -d defaultfile,
-g diskgroup,
-n,
-P storage_pool and
-t tasktag.
-
migrate
-
Makes non-ISP volumes previously created using vxassist manageable by ISP.
The volumes to be migrated from a disk group may be specified on the
command line, or in a definitions file that is read from the standard input
if the -M option is specified.
See the section OPERATIONS ON MULTIPLE VOLUMES for details of the syntax
of this file.
ISP assigns the default intent, "allocate plexes, logs and columns on
separate disks" to the volumes that are being migrated.
You can specify additional rules using the -I option
on the command line, or by entries in the definitions file.
However, you cannot include mirror, stripe or log rules.
Rules specified on the command line are applied to all
the specified volumes.
The use of a definitions file allows different rules
to be applied to each volume.
Volumes specified on the command line are also associated with the same
storage pool.
If a storage pool is not specified using the -P option,
the volumes are placed in the data storage pool of the disk group.
The use of a definitions file allows the migrated volumes to be placed
in different storage pools.
Note: Volumes to be migrated must be compatible with the
Cross-platform Data Sharing (CDS) feature and have an alignment value of 8k.
All volumes in a VVR replicated volume group (RVG) must be
migrated together.
All volumes that share a set of disks must be
migrated in a single operation.
Disks cannot be shared with any volumes
that are not listed on the command line or in a definitions file.
Volumes cannot share disks unless these disks are to be located in the same
storage pool.
Volumes with a usage type of root, such as those on a root disk
that is under VxVM control, cannot be migrated.
The disk group containing the volumes to be migrated must
have a version number of 120 or greater (see vxdg(1M)).
This operation supports the specification of the following options:
-b, -d defaultfile,
-g diskgroup,
-I,
-M
-n,
-P storage_pool and
-t tasktag.
-
printintent
-
Prints the rules, capabilities and volume templates
that are associated with the specified objects.
The types of object that can be specified are disk groups,
storage pools, volumes and plexes.
If no object names are specified, the disk group is assumed as the default
object.
This information may also be obtained by using the vxprint -m command.
The only supported option is -g diskgroup.
-
printrules
-
Displays the complete set of rules that were used to create one or more volumes.
This set of rules was obtained by processing the capabilities,
volume templates and rules that were specified when a volume was created.
The only supported option is -g diskgroup.
-
remove column|log|mirror|volume
-
Deletes columns, logs, or mirrors from a volume, or deletes an entire volume.
Unless the number is specified, one column, log or mirror is removed.
The removal of columns
supports the specification of the following attributes:
layout=shrink, ncols, stipeunit and tmplen.
The removal of logs
supports the specification of the following attributes:
logtype (mandatory), lognames, nlogs, remaininglog
and remove_storage.
The removal of mirrors
supports the specification of the following attributes:
nmirror,
plexnames,
remainingmirror and
remove_storage.
If the -M option is specified, mirrors may be removed from
multiple volumes in a single operation.
Note: When deleting a mirror or a log, storage that is not to be removed
is specified using the ! prefix. Storage that is to be removed is specified
without this prefix.
This operation supports the specification of the following options:
-b, -d defaultfile, -f,
-g diskgroup,
-n,
-P storage_pool
and -t tasktag.
-
removeall log
-
Deletes all logs of the type specified by the logtype attribute
from a volume.
-
removetag
-
Removes the specified tags from a volume or volume set.
If only a tag name is specified, a tag with a matching name is removed
regardless of its value.
If a tag value is specified, a tag is only removed if both its name and
value match.
If tagname= is specified without a tag value, a tag with a
matching name is only removed if its value is null.
-
replacetag
-
Replaces the specified tag that is set on a volume or volume set.
-
reversemigrate
-
Converts ISP volumes to non-ISP volumes.
The converted volumes permanently lose any intent
that was associated with them when they were ISP volumes,
and the vxvoladm command cannot be used to administer
the configuration of any associated storage.
The volumes that are specified on the command line must not
share any disks with any volumes that are not listed on the command line.
-
reversemigrateall
-
Migrates all ISP volumes in a disk group to non-ISP volumes.
The converted volumes permanently lose any intent
that was associated with them when they were ISP volumes,
and the vxvoladm command cannot be used to administer
the configuration of any associated storage.
-
setstwidth
-
Sets the stripe unit width for a striped or RAID-5 volume.
in Veritas Volume Manager standard units
(see vxintro(1M)).
The tmplen attribute may be used in conjunction with this operation.
-
settag
-
Sets one or more specified tags on a volume or volume set.
If only a tag name is specified, the tag is applied with a null value.
If a tag value is also specified, the tag is set with that value.
If a tag already exists with the same name, it is overwritten.
Tag names and tag values are case-sensitive character strings of up to 256
characters.
Tag names can consist of letters (A-Z and a-z), numbers (0-9), dashes (-),
underscores (_) or periods (.) from the ASCII character set.
A tag name must start with either a letter or an underscore.
Tag values can consist of any character from the ASCII character set
with a numeric value from 32 to 127.
The tag names "site", "udid" and "vdid" are reserved and should not be used.
To avoid possible clashes with future product features,
it is recommended that tag names do not start with any of the following
strings: "asl", "be", "isp", "nbu", "sf", "symc" or "vx".
-
shrinkby | shrinkto
-
Reduces the length of the named volume to (shrinkto) or
by (shrinkby) the specified length in Veritas Volume Manager
standard units (see vxintro(1M)) or a percentage (for example, 110%).
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.
vxvoladm does not resize file systems
(or other uses of the volume, such as databases)
that reside 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.
You must specify the -f option to forcibly shrink volumes of usage
type fsgen or raid5.
Note: Shrinking a volume requires that it is enabled.
The shrinkto operation fails if
the new length is greater than the current volume length.
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
stripe-mirror layout may be converted to mirror-stripe when it is
shrunk.
This kind of conversion is done if vxvoladm determines that the
new volume is too small for the original layout.
This operation can be applied to single volumes, or to multiple
volumes if the -M option is specified.
This operation supports the specification of the following attributes:
layout=contig,
layout=nocontig,
spare,
use_storage.
This operation supports the specification of the following options:
-b, -d defaultfile, -f,
-g diskgroup, -M,
-n,
-P storage_pool
and -t tasktag.
-
transform
-
Changes the capabilities of the existing volume online without changing
the size of the volume.
This operation supports all the attributes and options
that are supported by the make operation.
Note: The online transformation of an ISP volume is not necessarily complete
if the vxtask command shows that synchronization of the volume has
finished. A small additional time is required to perform cleanup operations.
-
transformreverse
-
Converts a volume that is undergoing a transformation back
to its original state.
Note: If volume is undergoing a transformation, the
vxtask list command shows that a synchronization task is being
performed on the top-level volume.
-
verify
-
Checks the intent of volumes that have been created by vxvoladm
for conformance to template rules, user-specified rules, volume group
rules and storage pools rules.
Error messages are displayed if the intent has been violated.
This operation supports the specification of the following options:
-a, -d defaultfile, -g diskgroup,
-n,
-P storage_pool
and -t tasktag.
If the -a option is specified, the intent of
all ISP application volumes in all disk groups is verified.
Otherwise, the -g diskgroup option can be used
to verify the intent of all application volumes in the specified disk group.
-
-a
-
When used with the listattrs keyword,
lists the attributes of all LUNs that are
attached to the host.
When used with the verify keyword,
verifies the intent of volumes in all disk groups.
-
-b
-
Puts operations that can take a long time into the background.
-
-d defaultfile
-
Specifies a file that contains default attribute values for
volume creation and space allocation.
If not specified, vxvoladm reads the standard defaults file,
/etc/default/allocator if this exists.
-
-f
-
-
--force
-
Forces operations not usually allowed by vxvoladm.
This is necessary for the following operations:
-
To resize a volume of type fsgen or raid5.
-
To grow a volume or a log where to do so would violate rules.
-
To remove mirrors, columns or logs that would violate rules.
For example, the rules may imply that a volume must have
minimum number of mirrors of a particular kind.
-
To remove a DCO while DRL is enabled on it.
For the add log, add mirror, growby,
growto, growlogby, growlogto and
maxgrow operations, the -f option allows rules to be
ignored that would otherwise be obeyed. The intent of the volume
is preserved, but the rules that have been overridden are marked.
To remove a rule from a volume's intent permanently,
use the transform operation.
-
-g diskgroup
-
Specifies the disk group for the operation, either by disk group ID or
by disk group name.
If this option is not specified,
and an alternate default disk group is not defined by specifying
the diskgroup attribute on the command line or
in a defaults file (usually /etc/default/allocator),
the default disk group is determined using the rules given in
the vxdg(1M) manual page.
-
-I rules
-
Specifies additional rules to the migrate operation.
mirror, stripe and log rules cannot be included.
-
-M
-
Performs the operation on multiple volumes. See the section
OPERATIONS ON MULTIPLE VOLUMES for details.
-
-n
-
Do not read the system defaults file.
-
--noattach
-
When used with the -M option and the mirror
or add mirror operations to add mirrors to a volume,
indicates that the newly added mirrors are to remain in the disabled state.
-
-o useopt[,useopt...]
-
Passes in option values to the operation.
-
attribute_name=value
-
Any attribute that is defined in the /etc/default/allocator file
can be overridden by specifying it and its value as arguments to the
-o option. See the ATTRIBUTES section for a list of the
attributes that can be defined.
-
iosize=size
-
Performs copy and recovery operations in regions with the length
specified by size, which can be specified in
Veritas Volume Manager standard units
(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 I/O size is 1 megabyte.
-
iodelay[=milliseconds]
-
Reduces the system performance impact 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 as a number
of milliseconds, or a default is chosen (normally 250 milliseconds).
-
-P storage_pool
-
Specifies the name of the storage pool to which an operation is applied.
If a disk group contains only a data storage pool, this option is not
required. If a disk group contains a data storage pool and one or more
clone storage pools, it may be necessary to specify this option.
-
-t tasktag
-
If any tasks that are registered to track the progress of an operation,
mark them with the tag tasktag. This option is passed to utilities
called by vxvoladm, so any child tasks are also tagged with
the same task tag.
Attribute values are specified with arguments
of the form attribute_name=value.
Default attribute values can be stored in the file
/etc/default/allocator, and may be overridden for a particular
invocation of the command by specifying them as arguments to the -o
option.
The /etc/default/allocator_readme file contains a pristine
copy of the /etc/default/allocator file as it is shipped and installed.
-
allocation_policy_order={1|2|3|4|5|6|7|8|9|10|11|12}
-
Specifies the order of priority in which ISP takes action to allocate space.
For example, this attribute determines if growing the storage pool is preferred
to dropping the desired rules when there is insufficient storage to create
a volume.
The numeric argument to allocation_policy_order determines the
behavior of ISP as follows:
-
1
-
S < T < A < D
-
2
-
S < T < D < A
-
3
-
S < A < T < D
-
4
-
S < D < T < A
-
5
-
S < A < D < T
-
6
-
S < D < A < T
-
7
-
A < S < T < D
(default behavior)
-
8
-
D < S < T < A
-
9
-
A < S < D < T
-
10
-
D < S < A < T
-
11
-
A < D < S < T
-
12
-
D < A < S < T
Here A stands for "autogrow," D for "desired rules," S for
"self-sufficient," and T for "template combinations." The < operator
indicates the precedence, so that "X < Y" means that Y is chosen
in preference to X, and the rightmost items in the list are chosen before
those to the left. For example, the default behavior of ISP
(equivalent to allocation_policy_order=7), "A < S < T < D," means:
-
T < D
-
First, drop desired rules in preference
to using a different template combination.
-
S < T
-
Next, use a different template combination in preference to adding
more templates to the storage pool.
-
A < S
-
Finally, add more templates to the
storage pool in preference to growing the storage pool.
-
autogrow={on|off|true|false|yes|no}
-
Enables or disables the autogrow feature
for a cache volume that is used
by space-optimized instant snapshots.
-
cachevolume=cachevol
-
Specifies the cache volume that a space-optimized instant snapshot is to use.
-
capability='cap_name(var_name=var_value, ...),cap_name ...'
-
Specifies the capabilities to be used with a
make, maxsize, or transform operation.
Capabilities take optional parameters, and multiple capabilities
can be specified for a volume.
See the Veritas Storage Foundation Intelligent Storage Provisioning
Administrator's Guide
for a list of the set of capabilities that are provided by
Veritas Volume Manager.
-
columnnames=plex-name
-
(alias: column, columns)
Specifies the name of columns for an evacuate operation.
-
comment=comment
-
Specifies a comment to give to a volume when it is created.
-
dcologlen=length
-
Specifies the DCO volume size to be used. This attribute may be used with
the make operation if the specified templates and/or capabilities imply
that storage is to be allocated for a DCO volume.
Note: The actual size of the log that is added may be adjusted because of
constraints on minimum size and alignment.
-
diskgroup=diskgroup
-
Specifies the disk group for an operation. If a disk group is specified
in a defaults file, then 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 effect as specifying a disk group with the -g option
(the operation is forced to apply to the given disk group).
-
drl={{true|yes|y|on}|sequential|{false|no|n|off}}
-
Specifies whether dirty region logging (DRL), sequential DRL, or no DRL is
to be enabled.
-
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. Available only if the
Veritas Volume Manager cluster feature is enabled.
-
fastresync={yes|y|on|true|no|n|off|false}
-
(alias: fmr)
Enables or disables Persistent FastResync on a volume.
A DCO object and DCO log volume must have been associated with the volume.
Note: A license is necessary to use the FastResync feature.
-
fstype=file-system-type
-
Specifies the file system type for a new volume.
-
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.
-
growby=growby-percentage
-
Sets the growby value as a percentage
for a cache volume that is used
by space-optimized instant snapshots.
-
highwatermark=high-water-mark-percentage
-
Sets the high watermark value as a percentage
for a cache volume that is used
by space-optimized instant snapshots.
-
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.
Specifying init=zero clears
a volume before enabling it for general use.
-
layout=layout-spec[,layout-spec, ...]
-
Specifies a plex layout type.
See the LAYOUT SPECIFICATION section for details.
By default, unmirrored non-striped volumes are created without any logs.
-
loglen=length
-
(alias: logsize)
Specifies the log length to be used.
Note: The actual size of the log that is added may be adjusted because of
constraints on minimum size and alignment.
-
lognames=log-name
-
(alias: log, logs)
Specifies the name of an existing log
to the add log or remove log operation.
For the add log operation, it specifies that the new log should
be similar to that named.
For the remove log operation, it specifies that the named log should
be removed.
-
logtype=type
-
Specifies the type of log to use with a volume:
-
dcm
-
Data change map (DCM) used with Veritas Volume Replicator volumes to enable
the fast resynchronization of a secondary RVG with its primary.
-
dco
-
Data change object (DCO) used to implement persistent snapshots
and new-style dirty region logging (DRL). DRL allows the speedy recovery of
mirrors after a system crash.
-
drl
-
Traditional DRL log (implemented as a dedicated plex, and not using DCO)
used with mirrored layout volumes only.
-
raid5
-
RAID-5 log used to permit the speedy recovery of RAID-5 volumes.
Note: Use of this attribute with the make operation is not supported.
-
max_ncolumn=number
-
(alias: maxcolumns, max_nstripe, maxstripes)
Specifies the default maximum number of columns for a striped
plex (default value is 8). The rules for selecting the default
number of columns are described for the nstripe attribute.
-
max_nraid5column=number
-
(alias: maxraid5columns, max_nraidcolumn, max_nraid5stripe, max_nraidstripe, maxraidcolumns, maxraid5stripes, maxraidstripes)
Specifies the default maximum number of columns for a RAID-5
volume (default value is 8). The rules for selecting the default number
of RAID-5 columns are described for the nstripe attribute.
-
maxgrow=maxgrow-percentage
-
Sets the maxgrow value as a percentage
for a cache volume that is used
by space-optimized instant snapshots.
-
min_ncolumn=number
-
(alias: mincolumns, min_nstripe, minstripes)
Specifies the default minimum number of stripe columns for either a
RAID-5 volume (if min_nraid5column is not also specified) or for a
striped plex (default value is 2). The policy for selecting the default
number of stripe columns does not allow the creation of a striped
plex with 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 columns for a RAID-5
volume (default value is 3). The policy for selecting the default
number of RAID-5 columns does not allow the creation of a RAID-5
volume with fewer than this number of columns.
-
mode=permissions
-
Specifies the permissions for the block and character device nodes that are
created for a new volume. The mode can be specified either as an octal
number or symbolically (see the chmod(1) manual page).
The default mode for a volume gives read and write access
only to the owner.
-
ncols=number
-
Specifies the number of columns to add or remove.
-
nlogs=number
-
(alias: nlog, logs)
Specifies the number of logs to add or remove.
-
nmirror=number-of-mirrors
-
Specifies the number of mirrors (plexes) to add or remove.
-
nvol=number
-
(alias: nvols)
Specifies the number of volumes to be created by the make
operation.
The volumes are named using the specified volume name as a prefix
with a number starting from 1 appended.
If any volume names already exist in the same pool with the same
prefix and an appended number,
numbering starts at the highest number found plus 1.
-
plexnames=plex-name
-
(alias: plex, plexes)
Specifies the name of a plex to an add or remove mirror operation.
-
probe_granularity=size
-
Specifies the granularity for the maxgrow and maxsize requests.
The default size value is 1m (1 megabyte).
-
raid5_stripeunit=width
-
(alias: raid5_stwid, raid5_stwidth, raid5_st_width, 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).
-
raid5loglen=length
-
(alias: raidloglen)
Specifies the RAID-5 log length to be used. This attribute may be used with
the make operation if the specified templates and/or capabilities imply
that storage is to be allocated for a RAID-5 log.
Note: The actual size of the log that is added may be adjusted because of
constraints on minimum size and alignment.
-
regionsize=size
-
Specifies the size of each region that is tracked by a bit in the maps
within a version 20 DCO volume.
The value of size must be a power of 2 and be greater
than or equal to 16k (16KB). The default value is 64k (64KB).
-
remaininglog=number
-
Sets the number of RAID-5 log copies or DCO plexes
that must remain in a volume
after a delete log operation.
-
remainingmirror=number
-
Sets the number of mirrors that must remain in a volume
after a delete mirror operation.
-
rules=rules
-
Specifies the rules that are to be used with a
make, maxsize, or transform operation.
See the ALLOCATOR RULES section for more information.
-
spare=no|only|yes
-
Controls the use of spare disks when hot-relocation 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_stripeunit=width
-
(alias: stripe_stwid, stripe_stwidth, stripe_st_width, stripe_stripeunitsize, stripe_stripeunitwidth)
Specifies the default stripe unit size for RAID-5 and
striped plexes. This attribute also resets the values for both
raid5_stripeunit and stripe_stripeunit.
-
tag=tagname[=[tagvalue]]
-
Associates a tag name and optional tag value with a volume.
Tag names and tag values are case-sensitive character strings of up to 256
characters, consisting of letters, numbers, dashes (-),
underscores (_) or periods (.).
A tag name should start with either a letter or an underscore.
The tag names "site", "udid" and "vdid" are reserved and should not be used.
To avoid possible clashes with future product features,
it is recommended that tag names do not start with any of the following
strings: "asl", "be", "isp", "nbu", "sf", "symc" or "vx".
If not specified, a tag value is set to null.
More than one tag may be associated with a volume provided that each tag is
uniquely named.
-
tmplen=size
-
Controls the size of the temporary volume that is used for
add column, rmcolumn and setstwidth operations.
If not specified, the size of the temporary volume is based on the
size of the volume that is being operated upon.
Note: The temporary volume is a 2-way mirror that requires at least
two disks, and twice as much disk space as the size of the temporary volume.
-
type={cachevolume|data|snapshot}
-
Sets the type of a volume to data for a normal volume, snapshot
for a volume that is being created to hold a full-sized instant snapshot,
or cache for a volume that is being created to hold the cache volume
for use by space-optimized instant snapshots.
If no type is specified, data is assumed.
For the cachevolume type, a cache object is also created above the
cache volume.
For the snapshot type, a DCO and DCO volume are also created for
the volume.
-
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.
-
user_template=ut1[,ut2, ...]
-
Specifies the list of user templates to be used with a
make, maxsize, or transform operation.
-
usetype=volume-usage-type
-
Specifies the usage type to use when creating a new volume (the default
value is raid5 for RAID-5 volumes; otherwise fsgen is the default).
-
volume_template=t1[,t2 ...]
-
Specifies a list of volume templates to be used with a
make, maxsize, or transform operation.
Storage specification attributes are used to specify which storage
can and cannot be allocated during vxvoladm operations.
They are also used with the evacuate
operation to specify the storage from which VxVM objects are to be removed
and the storage that may be allocated to relocate these objects.
Storage specification attributes have one of the following forms:
-
[!]diskname
-
Includes a disk for allocation by ISP.
If ! is specified, the disk is ignored.
diskname refers to a disk
media record name in a Veritas Volume Manager disk group.
-
[!]diskclass:instance
-
Includes a set of disks for allocation by ISP.
If ! is specified, the disks are ignored.
diskclass names a
particular type of disk grouping (for example, ctlr to indicate
groups of disks on a 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 revolutions-per-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.
-
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 Veritas Volume Manager 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 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.
-
enclr
-
(alias: e, enclr, enclosure)
Specifies disks belonging to a particular enclosure. The enclosure name
is obtained using the vxdmpadm listenclosure all command.
-
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.
Storage can additionally be specified using the following expressions
in conjunction with rules that may be combined by using the
allof, eachof and noneof operators
(see the OPERATORS section):
-
evac_storage=rules
-
Specifies storage assigned to a volume
that is to be evacuated by the evacuate
operation on columns, disks, logs, mirrors or subdisks.
-
remove_storage=rules
-
Specifies storage that is to be removed from use by a volume
in a remove operation on a column, log or mirror.
-
use_storage=rules
-
Specifies storage that may be used to relocate columns, disks, logs,
mirrors, subdisks or a volume that are being evacuated.
The following example evacuates data from subdisks belongs to the volume
vol1 that are currently on controller c1 to
available storage on any other controller:
vxvoladm -g mydg evacuate sd vol1 \
evac_storage='eachof("Controller"="c1")' \
use_storage='noneof("Controller"="c1")'
The next example creates a 10-gigabyte volume using disks
from enclosure encl1 that are not available exclusively on controller
c1:
vxvoladm -g mydg make vol2 10g \
use_storage='allof("Enclosure"="encl1",noneof("Controller"="c1"))'
Note: The storage specification does not contribute to the intent
of a volume.
The layout attribute specifies a comma-separated list of
parameters that may be applied to a vxvoladm operation.
See the vxassist(1M) manual page for details of the layout
specifications that are supported.
-
affinity
-
Expresses attraction between VxVM objects.
Objects that conform to this rule share as many attribute values as possible.
-
confineto
-
Depending on the scope in which the rule is used,
confines a volume, mirror, column or log to a specific set of LUNs.
confineto expressions may be used with the
allof,
anyof,
eachof,
noneof
and oneof operators.
The default operator for merging confineto expressions is
eachof.
-
exclude
-
Depending on the scope in which the rule is used,
excludes a set of LUNs from allocation to a volume, mirror, column or log.
exclude expressions may be used with the
allof, eachof and noneof operators.
The noneof operator
can be used to forcibly include sets of LUNs in the allocation.
The default operator for merging exclude expressions is eachof.
-
multipath
-
Specifies how tolerant a VxVM object is to the failure
of a number of specified components.
The rule defines how many paths a VxVM object should have
available through each component.
Note: Expressions involving multipath do not use operators
to combine multiple arguments.
-
parity
-
Specifies whether redundancy should be based on parity.
Parity-based redundancy is typically implemented using a RAID-5 layout
in hardware or using software.
-
select
-
Depending on the scope in which the rule is used,
confines a volume, mirror, column or log to a specific set of LUNs.
specifies storage that can be allocated to create
a volume, mirror, column or log.
select expressions may be used with the
allof,
anyof,
eachof,
noneof
and oneof operators.
The default operator for merging select expressions is anyof.
-
separateby
-
Defines how mirrors are separated in a volume.
A separateby expression is typically used to place
mirrors in different failure domains for greater reliability.
-
striped
-
Specifies whether a volume or mirror is to be striped.
As striping can be implemented in hardware as well as in software,
a value of true does not imply that the number of columns
is greater than one.
-
strong separateby
-
A more restrictive form of the separateby rule,
that does not permit any sharing of attributes
for the storage that is assigned to VxVM objects
For convenience,
rules may be expressed in the following simplified form on the command line:
rulename=attribute_name[=value][, ...]
as shown in the following examples:
confineto=VendorName=EMC,Room=Room1,Building
select=Room=Room1,Room=Room2,Building
exclude=VendorName=EMC,VendorName=Hitachi
affinity=Enclosure
separateby=Controller
strong separateby=Spindles
which are equivalent to these rule expressions:
confineto eachof("VendorName"="EMC","Room"="Room1","Building")
select anyof("Room"="Room1","Room"="Room2","Building")
exclude allof("VendorName"="EMC","VendorName"="Hitachi")
affinity "Enclosure"
separateby "Controller"
strong separateby "Spindles"
See the Veritas Storage Foundation Intelligent Storage Provisioning
Administrator's Guide for details of the syntax of rule expressions.
-
allof
-
Selects available storage that matches the union of all of the operands.
-
anyof
-
Selects available storage that matches any of the operands
in the order that they are listed. The first match is chosen.
-
eachof
-
Selects available storage that matches the intersection of the operands.
-
noneof
-
Does not select storage that matches any of the operands.
-
oneof
-
Selects available storage that matches one and only one of the operands.
The first match is chosen.
See the Veritas Storage Foundation Intelligent Storage Provisioning
Administrator's Guide
for more information about these operators.
The make, grow and shrink
operations can be performed on only a single volume if this
is specified on the command line. The migrate operation can be performed
on multiple volumes that are specified on the command line, but the same
rules are applied to each volume, and only a single destination storage pool
may be used.
These limitations may be overcome by specifying the -M option with
these operations. The command then reads multiple volume definitions
from the standard input until the end of file is encountered.
Input can be redirected from a definitions file or from a here document.
The -M option can also be used to add mirrors to (mirror),
or to remove mirrors from (remove mirror)
multiple volumes in a single operation.
The syntax of the definitions for creating multiple volumes with make
is shown here:
volumegroup {
[diskgroup "
dgname"]
[rules { volume-group-rules } ]
volume "name" length {
[cachevolume "cachevol"]
[capability 'capability[(name=value[, ...])],capability ...]']
[comment "comment"]
[dcologlen length]
[dm dm1,[dm2, ...]]
[drl on|off|true|false|yes|no|sequential]
[excl on|off|true|false|yes|no]
[fmr on|off|true|false|yes|no]
[fstype file-system-type]
[group "group"]
[init active|none|zero]
[iodelay delay]
[iosize size]
[layout "type"]
[max_ncolumn number]
[max_nraid5column number]
[min_ncolumn number]
[min_nraid5column number]
[mode mode]
[nvol number]
[pool "poolname"]
[raid5_stripeunit width]
[raid5loglen length]
[regionsize size]
[rules { volume-rules } ]
[spare yes|no|only]
[stripe_stripeunit width]
[tasktag "tag"]
[type cachevolume|data|snapshot]
[user "user"]
[user_template "ut1[,ut2 ...]"]
[usetype volume-usage-type]
[volume_template "vt1[,vt2 ...]"]
[vxvmtaskid taskid]
}
[volume "name2" length2 {
...
}]
};
[volumegroup {
...
};]
Each volume group (volumegroup)
definition contains the rules and volume definitions
for the volumes that are to be created for a disk group.
For the migrate operation, the specification syntax is:
diskgroup "
dgname"
volume "volumename1" {
pool "pool_name1"
rules { volume1_rules }
};
volume "volumename2" {
pool "pool_name2"
rules { volume2_rules }
};
...
For operations to grow or shrink multiple volumes,
the syntax of each line in the input is:
diskgroup
dgname volume volname length
Find out the maximum size of a mirrored volume that can be created in
the disk group mydg using the available free storage:
vxvoladm -g mydg maxsize capability='DataMirroring'
Create a 100-megabyte concatenated volume with 2 mirrors in the default
disk group, and which is made immediately active:
vxvoladm make vol1 100m rules='mirror 2' init=active
Create a 20-gigabyte striped volume with 4 stripes and
its contents initialized to all zeros:
vxvoladm -g mydg make vol2 20g rules='stripe 4' init=zero
Create a 500-megabyte mirrored-stripe volume which is not initialized:
vxvoladm -g mydg make vol3 500m init=none \
rules='mirror 2{stripe 3}'
Using the DataStripeMirror capability,
create a 30-gigabyte striped-mirror volume which is immediately active:
vxvoladm -g mydg make vol4 30g \
capability='DataStripeMirror(ncols=3,nmirs=2)' \
init=active
Create a 500-megabyte mirrored volume, relvol, using
the volume template DataMirroring.
vxvoladm -g mydg make relvol 500m volume_template=DataMirroring
Create a 10-gigabyte 4-mirror volume, perfvol, on hardware-striped EMC
storage that is in the same location:
vxvoladm -g mydg make perfvol 10g \
capability='DataMirroring(nmirs=4),PrefabricatedStriping' \
rules='confineto allof("Room","Vendor"="EMC")'
Create a 1-gigabyte contiguous volume, tvol1, and
a 10-gigabyte mirrored volume, tvol2 :
vxvoladm -M make <<!!
volumegroup {
diskgroup "tvdg"
volume "tvol1" 1g {
layout "contig"
}
volume "testvol2" 10g {
init active
capability 'DataMirroring(nmirs=3)'
}
};
!!
Add two mirrors to the volume myrelvol:
vxvoladm -g mydg add mirror myrelvol nmirror=2
Add a mirror to the volume myvol2 using disk mydg10
for storage:
vxvoladm -g mydg add mirror myvol2 dm:mydg10
Remove the two mirrors from volume myvol3 with
plexes named plex01 and plex02:
vxvoladm -g mydg remove mirror testvol3 nmirror=2 \
plexnames=plex01,plex02
Find out the maximum size to which the volume relvol
can be grown:
vxvoladm -g mydg maxgrow relvol
Grow the volume pervol by 25%:
vxvoladm -g mydg growby pervol 25%
Shrink the volume myvol by 100MB:
vxvoladm -g mydg shrinkby myvol 100m
Growing and Shrinking Multiple Volumes
Grow several volumes in varying disk groups by different amounts:
vxvoladm -M growby <<!!
diskgroup ttdg volume vol1 100m
diskgroup ttdg volume vol2 200m
diskgroup mydg volume myvol3 50%
!!
Shrink several volumes in different disk groups by varying amounts:
vxvoladm -M shrinkto <<!!
diskgroup ttdg volume vol1 1g
diskgroup mydg volume myvol4 90%
!!
Add a DCO log to the volume tvol1:
vxvoladm -g ttdg add log tvol1 logtype=dco
Remove the DCO log from the volume tvol1:
vxvoladm -g ttdg remove log tvol1 logtype=dco
Grow the DCO volume associated with the volume myvol2 by 100%:
vxvoladm -g mydg growlogby myvol2 100% logtype=dco
Delete the volume vol2:
vxvoladm -g mydg remove volume vol2
Migrate the volumes myvol and snap_myvol to
data and clone storage pools respectively:
vxvoladm -M migrate <<!!
diskgroup mydg
volume myvol {
pool "mydatapool"
};
volume snap_myvol {
pool "myclonepool"
};
!!
The vxvoladm 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.
Attribute names and their values are case sensitive. You can use the
vxvoladm listattrs command to find out the correct names of LUN
attributes.
Values for attributes such as max_ncolumn and min_nstripe
are ignored if they would contradict the values specified by capability
parameters or rules.
-
/etc/default/allocator
-
Defaults file used by vxvoladm.
/etc/default/allocator_readme
Pristine copy of the defaults file as shipped and installed.
Operations on mirrored-stripe volumes to add or remove columns, or to change
the stripe width can be reversed by using transformreverse.
Such operations on striped, striped-mirror and RAID-5 volumes can only be
reversed by first running vxtask abort to stop the operation,
and then running vxrelayout reverse to undo it.
If a UFS file system is configured on an
ISP volume, do not specify layout=shrink to the vxvoladm command
when removing columns from the volume.
Similarly,
do not specify layout=grow to the vxvoladm command when adding
columns to the volume unless you first unmount the file system.
A UFS file system cannot be shrunk, and can only be
grown if it is first unmounted.
These restrictions do not apply to a VxFS file system,
which can be grown and shrunk while mounted.
See the vxresize(1M) manual page for more information.
vxassist(1M),
vxpool(1M),
vxrelayout(1M),
vxresize(1M),
vxtask(1M),
vxtemplate(1M),
vxusertemplate(1M)
Veritas Storage Foundation Intelligent Storage Provisioning
Administrator's Guide
Last updated: 31 Aug 2008
Copyright ©2009 Symantec Corporation
All rights reserved.