The vxdisk utility performs basic administrative operations on disks.
Operations include initializing and replacing disks, as well
as taking care of some book-keeping necessary for the disk model
presented by Veritas Volume Manager (VxVM).

vxdisk usually accesses a disk based on its disk access name
(accessname),
which is a system-specific name that relates to a disk address.
Disk media names are usually based on the name of the
disk group (for example, mydg01 in the disk group mydg).
A disk does not have a disk media name until it has been initialized by VxVM.
For vxdisk operations on an initialized disk (disk),
the disk may be specified either
by its disk access name or by its disk media name.

In HP-UX 11i v3, disks may be identified either by their legacy device name,
which takes the form c#t#d#, or by their persistent (or agile)
device name, which takes the form disk##.
In a legacy device name, c# specifies the controller,
t# specifies the target ID, and d# specifies the SCSI logical
unit number.
For example, the device name c0t0d0 is the entire hard disk
that is connected to controller number 0 in the system, with a target
ID of 0, and physical disk number of 0.
The equivalent persistent device name might be disk33.

The persistent forms of disk devices
are located in the /dev/disk and /dev/rdisk directories.
To maintain backward compatibility, HP-UX also creates legacy devices
in the /dev/dsk and /dev/rdsk directories.

VxVM recreates disk devices for all paths in the operating systems
hardware device tree as metadevices (DMP nodes) in the
/dev/vx/dmp and /dev/vx/rdmp directories.
The dynamic multi-pathing (DMP) feature of VxVM uses a DMP node to
represent a disk that can be accessed by one or more physical paths,
perhaps via different controllers.
The number of access paths that are available depends on whether
the disk is a single disk, or is part of a multiported disk array
that is connected to a system.
DMP nodes are not used by the native multipathing feature of HP-UX.

Enclosure-based naming is an alternative way of referring to disk access names.
If enabled by using the vxdiskadm or vxddladm commands,
this scheme maps disk access names relative to their enclosure.
For example, disks in the enclosure ENC0
would be assigned access names ENC0_0, ENC0_1 and so on.

Operations that take an accessname argument (see the SYNOPSIS
section) accept only disk access names.
Operations that take a disk argument can take disk
access names or disk media names.
For such operations, a disk group can be specified with -g to
disambiguate disk media names that are used in more than one disk
group.

Physical disks in VxVM are assumed to be movable, and
are usually identified by a unique disk ID stored on the physical
disk, rather than by a disk device node.
This allows disks to be moved
to different SCSI target IDs or to different controllers without
affecting correct operation.

VxVM maintains information about disk device addresses
as disk access records.
Disk access records are used to identify physical disks
from disk IDs that are stored on the disks themselves.
The name of a disk access record is based on the corresponding disk access name.

Physical disks contain public regions, which are used for allocating
subdisks. They can also contain private regions, which are used for
storing private Veritas Volume Manager information.
Private regions are configured and maintained entirely by VxVM.
See the PRIVATE REGIONS section for more information about the layout
of private regions.

The behavior of the vxdisk utility depends upon the keyword
specified as the first operand.

Determines the usability of the specified disks.
A disk is considered usable if VxVM
can write and read back at least one of
the disk headers that are stored on the disk.
If a disk in a disk group is unusable, VxVM detaches it from its disk group,
and all subdisks stored on the disk become invalid.
The subdisks remain invalid until the
unusable disk is replaced or the disk media record is reassigned to a
different physical disk.

For shared disks, VxVM detaches an unusable disk
only if the disk groups detach policy is set to global.
If the disk group detach policy is local,
the disk is not detached.
However, if hosts in the cluster do not indicate that a disk is usable,
the disk is detached from the entire cluster.
See vxedit(1M) for more information on
setting disk group detach policies.

classify

Initiates disk classification by the VxVM configuration
daemon, vxconfigd. The disks to be processed can be constrained
to a combination of controllers, disk names and unique disk
identifiers (UDIDs) that are specified as arguments to the optional
ctlr, disk and udid attributes.
The command determines the disk attributes, and, if the -d
option is specified, displays the attributes obtained by vxconfigd.
To force a full scan of the OS device tree, specify the -f option.

clearhost

Clears the stale disk reservation key,
as specified by the argument to the -o clearkey option,
from a disk.

Note: This key is slightly different from the I/O fencing key that is
specified using the -o groupreserve option to the vxdg import
and init commands.
The disk reservation key that is specified to clearhost
also contains the node ID of the host encoded in the first byte.

See the vxdg(1M) manual page for more information about I/O fencing.

clearimport

Clears the host-specific import information
stored on the indicated disks, and in the configurations stored on
those disks. This command may be necessary in cases where import
information stored for a disk group becomes unusable, due to host
failures, or due to a disk group being moved from one machine to
another.

This operation cannot be applied to disks that are in imported disk
groups.

define

Defines a disk access record, but do not initialize it. In order for
VxVM to scan a disk, a disk access record must be defined for it.
Thus, if you want to see what is on a new disk or you want to move
a disk with a valid disk group from one system to another, you must
first make it accessible by using vxdisk define.
You can use vxdisk list to see what is on the disk, or
vxdg import to import a disk group that is on the disk.

Attributes can be specified to define the access characteristics of
the disk device.
The following attributes define the disk type:

type=disk_type

Specifies the access type for the disk device.
See the description of the init operation and
the DISK TYPES section for more details.

format=format

For auto-configured disks (type=auto),
specifies one of the supported formats
that is to be used with the disk.
See the section Auto-Configured Disks for details.

The various disk types support additional attributes for the
define operation.
See the DISK TYPES and ATTRIBUTES sections for details.

Normally, a define operation fails if the specified disk device
is invalid, such as because no such disk currently exists. The
-f option can be used to force definition of an unusable disk.
This can be useful if, for example, the disk device could be used after a
reboot. For example, if you intend to add a new controller and intend
to move some existing disks to the new controller, you may need to
define the new disk device addresses, even though they are not
usable until you shutdown and reconfigure your disks.

If specified, the -B option initializes the
Veritas Volume Manager private region
to begin at block number 2144.
This block is designated as the private region
offset for a Veritas Volume Manager root disk.
Without this option,
the private region is initialized to start at the default
block number 128.

destroy

Uninitializes a disk from VxVM by removing the private region and
CDS disk labels, which were placed on the disk by
an init operation.
The -f option forcibly uninitializes a disk.

flush

Rewrite all Cross-Platform Data Sharing (CDS) ID information to
the specified disk that has at least one valid VxVM ID block.
Unlike the vxdg flush command, the disk is brought online if required.

The -f option may be specified to forcibly rewrite the AIX
coexistence label and VxVM ID block. By default, these are not overwritten.

init

Initializes regions of a disk used by VxVM.
This involves installing a disk header and writing an empty configuration
on the disk. The accessname operand identifies the disk.
Normally, this command fails if the disk already contains an
apparently valid disk header. The -f option can be used to
override this and to force initialization of the disk.
A disk that is
a member of an imported disk group cannot be initialized.

The vxdisk init operation creates a disk access record for a
disk (if one does not already exist), and sets its state to
online. Disks can be initialized when vxconfigd is in
its disabled state, in which case the disk header is initialized,
but the disk is not added to the list of known disks until
vxconfigd is re-enabled.

Any attribute operands override default values assigned for
various disk attributes. Some attributes that can be set are:

type=disk_type

Specifies the access type for the disk device.
This type identifies the class of strategies that can be used
to access the disk, and to manage its private and public regions.

For example, a disk type can
indicate a networked disk or a volatile RAM disk that
does not require the storage of any private data.

See the description of the init operation and
the DISK TYPES section for more details.

format=format

For auto-configured disks (type=auto),
specifies one of the supported formats
that is to be used with the disk.
See the section Auto-Configured Disks for details.

Note: If a format is not specified,
and the target disk already has a valid auto format,
this is assumed to be the desired format.

The various disk types support additional attributes for the
init operation.
See the DISK TYPES and ATTRIBUTES sections for details.

If specified, the -B option initializes the
Veritas Volume Manager private region
to begin at block number 2144.
This block is designated as the private region
offset for a Veritas Volume Manager root disk.
Without this option,
the private region is initialized to start at the default
block number 128.

The combined -o coordinator -f options are used to
forcibly remove the coordinator flag from a disk. This flag
indicates that the disk is a member of the coordinator disk group
used with the I/O fencing feature of Veritas Cluster Server (VCS).
Caution: Only use these options if a disk is no longer to be used
as a coordinator disk.

list

Lists path type and states along with the detailed information
on the specified disks.
The state is listed as enabled or disabled.

If one or more disk arguments are specified, a full
description of the contents of the disk header and of the
table of contents for each named disk is displayed.

If no disk arguments are specified, a one-line
summary for all disk access records known to the system is displayed.

If no disk arguments are
specified, but a disk group is specified with -g,
information is displayed about only those disks that
have been added to the specified disk group.

The -b option can be used to
display length and offset values in 512-byte units,
regardless of platform.
If this option is not specified, values are displayed
in units of sectors, the size of which can vary between
different platforms.

If the -e option is specified, an additional two columns
are displayed. The first column shows the OS-based disk access name.
This option is useful if you have enabled enclosure-based naming.
The second column shows the device-specific extended attributes.
These attributes are specific to the device, like type of hardware
mirroring on the disk, type of dynamic provisioning on disk,
mediatype of the disk, etc.

If the -s option is specified, important information
from the disk header is displayed.
With the -s option, the output format is the same
whether or not accessname arguments are specified.
The information printed with -s includes the disk ID, the host ID
(if the disk is or was imported), and the disk group ID and disk group
name (if the disk is a member of a disk group).

The -c option has the same effect as the -s option
except that the output fields are delimited by colon (:) characters.

The -p option lists the discovered properties of a disk,
including the disk ID, the vendor ID, the unique disk identifier (UDID),
the array port ID, the array port worldwide number (WWN),
the name of the array support library (ASL) that claimed the device,
the array type, and the array name.

If the -x attr option is used with -p, then the specified
attributes are printed in a horizontal format. There can be multiple
-x attributes specified in one vxdisk -p list command. For example,
vxdisk -x vid -x pid -p list displays the device name, its vid, and
its pid in a horizontal format.

If the -q option is specified, no header is printed that
describes output fields. This option has no effect with the long
formats that are generated for the -s option
or for accessname arguments.

The -v option causes all disk tags and their values to be listed
for a specified disk argument under the "Annotations:" heading.
If this option is not specified, no disk tags are displayed.

When -o alldgs is specified without the -s and -g options,
a one line summary shows all associations between disks and disk groups.
The disk group column shows imported disk groups as
normal and shows all other disk groups in parentheses.

Auto-configured disks are shown with their type (auto)
qualified by their format.
For example, auto:cdsdisk indicates an auto-configured disk that
is formatted as a CDS disk. See the Auto-Configured Disks section
for more details.

You can use the -o listreserve option to discover if
I/O fencing has been enabled for a disk group. If I/O fencing is enabled,
the command also displays the current reservations and registered keys
for the disks in the disk group.
See the vxdg(1M) manual page for more information about I/O fencing.

Use the -u h|H option to display sizes in human-friendly format,
with the highest possible unit.

If the udid_mismatch flag is set on a disk,
this indicates that the current unique disk identifier (UDID)
that is known to the device discovery layer (DDL)
does not match the UDID that is stored in the disks private region.
This usually means that the disk has been copied from another disk.
For example, a disk may be copied by creating a hardware snapshot or clone,
by using dd or some other command to replicate the disk,
or by building a new logical unit
(also known as a LUN or virtual disk device) from the
space that was previously used by a deleted LUN.
Such duplicated disks are usually prevented
from being imported to avoid the duplicate disk ID condition.

If udid_mismatch is set on a disk,
and other disks with the same disk
identifier are found in the disk group being imported,
the disk can only be imported into a disk
group by specifying the -o useclonedev=on option
to the vxdg import command.

If the clone_disk flag is set on a disk,
this indicates that the disk was imported into a disk group when
the udid_mismatch indicator was set.
The vxdisk set clone=on command can also be
used to set the flag. If the disk is not a clone
disk, setting the clone=on may cause the import to fail.

Use the -o udid option to list the UDIDs for the online VM disks.
In case of a udid_mismatch, this option displays both the UDID stored in
the DDL and the UDID stored in the private region. This option also displays
extended disk attributes such as lun, RAID_5, udid_mismatch, and clone_disk
flags.

If the keepmeta flag is set on a disk,
this indicates that the disk should be used to contain the configuration
copies database and the kernel log copies when the disk is added to
a disk group.

If the lfailed flag is set on a disk, this indicates
that the node does not have local access to the disk. The node
is sending private region I/Os through the network to a
remote node that has local access to the disk.

If the lmissing flag is set on a disk, the disk was not
discovered locally by DMP. The node does not have a
corresponding DMP device for the disk.

If the media_mismatch flag is set on a disk,
it indicates that the media type property currently set on the disk does not match with the media type discovered by DDL layer for the underlying disk device.

The -o tag option can be used to list
only those devices that match a specified tag name and optional tag value.
A "~" character placed before a tag name or tag value inverts the selection.

A disk with a duplicated UDID can be imported along with its
disk group if the -o useclonedev=on option is
specified to the vxdg import command.
If multiple clones of a disk exist, one of these cloned disks
can be imported provided that the same tag name and optional tag value have
been set on all the disks, and that the tag name and optional tag value
are also specified to the vxdg import command.

Note: If the vxdisk list command is run on a cluster node,
the output shows the local state of the disk on that node,
and not the cluster state of the disk.

list -o thin

The -o thin option lists the information about thin disks. The
attributes shown are the size of the disk, the physically allocated
storage size on the LUN and the allocation unit size, the disk group,
and the type of the disk. If the physical allocation is not available, it
is marked as N/A. The type of the disk is thin (for thin
provision disks) or thinrclm (for thin provision reclaimable disks).

Specify the -o fssize option to report the disk space usage
for mounted VxFS file systems on VxVM volumes. The command
displays the amount of disk space that currently contains
files and is actively in use by the VxFS file system.

Use -u unit to display the values in the specified units.
If you specify h or H for the unit, the command
displays the length in the highest possible unit.
Valid values for units are:

h|H

The largest possible unit.

b|B

Bytes

k|K

Kilobytes

m|M

Megabytes

g|G

Gigabytes

t|T

Terabytes

p|P

Petabytes

e|E

Exabytes

z|Z

Zettabytes

listtag

Lists the tag names and tag values that are associated with the disks.
The -o tag option can be used to list
only those devices that match a specified tag name and optional tag value.
A "~" character placed before a tag name or tag value inverts the selection.

offline

Declares the disk devices named by the accessname arguments to be
in the offline state. This disables checking of the disk in
searching for particular disk IDs, or for the set of disks in a
particular disk group. This operation cannot be applied to disks that
are members of an imported disk group.

Take a disk offline if the disk is not currently accessible,
and if accessing the disk has a negative impact on the system.
For example, disk drivers on a some operating systems can cause system
panics or hangs if an attempt is made to access disks that are not
accessible. In other operating systems, attempts to access
inaccessible drives may take several seconds or minutes before
returning a failure.

Using
-l filename
option,
disk access names can be specified through a file.
Each line in the file should contain one disk access name.

online

Clears the offline state for a disk device. This re-enables
checking of the disk when searching for disk IDs, or for members of a
disk group. This can be used for disks that are already in the
online state, provided that they are not in imported disk
groups. All internal information for an already online
state disk is regenerated from the disks private region.

If -a is specified, re-online all online disks that are
not currently in an imported disk group.
This can be used to force VxVM to
re-scan all disk headers.

Using
-l filename
option,
disk access names can be specified through a file.
Each line in the file should contain one disk access name.

path

Lists the disk access name, disk media name, disk group and
state that are associated with each subpath on the system.
If a disk group is specified using the -g option,
only subpaths that are associated with that disk group are
listed.

reclaim

Performs storage reclamation on thin provision LUNs. The reclamation
is done only on the disks associated to the mounted VxFS volumes.
Volumes without a VxFS file system, and volumes which
are not currently mounted, are not reclaimed. If a volume has a
mix of thin provision disks and
regular disks, the reclamation occurs only on the thin disks.
The argument to the reclaim option
is one or more disks, enclosures, or disk group.
If a volume spans multiple disks, specifying any of the disks
causes the reclamation to occur on all of the thin disks
used by that volume.

By default, the reclamation does not affect unmarked space, which is
unused space between subdisks. If a LUN has a lot
of physical space that was previously allocated, the space between the
subdisks could be substantial. Use the -o full option to reclaim the
unmarked space.

resize

Resizes a LUN with a SCSI interface that is
presented by a smart switch, smart array or RAID controller.
Following a resize operation to increase the length that is
defined for a device, additional disk space on the device
is available for allocation.
The resize command provides a mechanism for
notifying such a change to VxVM.

If a disk media name rather than a disk access name is specified,
the disk group must also be specified using the -g option.

If you specify the new size by using the length attribute,
its value must be entered as the number of sectors.
Standard VxVM units cannot be used because the specified length
must exactly match the disk size as reported by SCSI commands.

If you do not specify a new size after growing a LUN,
all the additional usable space on the device is claimed.

If you shrink a LUN, you must specify the new length
explicitly, as this cannot be obtained by querying the device.
To avoid data loss, you should also follow the advice that is
given in the following precautionary notices.

Note: This facility is provided to support dynamic LUN expansion by
updating disk headers and other VxVM structures
to match a new LUN size. It does not resize the LUN itself.
LUN resizing can be achieved by using the mechanism
that is provided by the disk storage vendor.

Note: Any volumes on the device should only be
grown after the device itself has first been grown.
Otherwise, storage other than the device may be used to grow the
volumes, or the volume resize may fail if no free storage is available.

Note: Resizing should only be performed on devices that preserve data.
Consult the array documentation to verify that data preservation is
supported and has been qualified. The operation also requires that only
storage at the end of the LUN is affected. Data at the beginning of the
LUN must not be altered. No attempt is made to verify the validity of
pre-existing data on the LUN.

Note: Although it is possible to resize LUNs that are online but not part of
any disk group, this operation is primarily intended for use with devices
that are in an imported disk group.
The operation should be performed on the host
where the disk group is imported
(or on the master node for a cluster-shared disk group).
It is not possible to resize LUNs that are in the boot disk group
(aliased as bootdg), in a deported disk group,
or that are offline, uninitialized, being reinitialized, or in an error state.

Caution: Do not perform this operation when replacing a physical disk
with a disk of a different size as data is not preserved.

Caution: Before reducing the size of a device, any volumes on the device
should first be reduced in size or moved off the device. By default,
the resize fails if any subdisks would be disabled as a result of their
being removed in whole or in part during a shrink operation.

If the device that is being resized has the only valid configuration
copy for a disk group, the -f option may be specified to
forcibly resize the device. Note the following exception.
For disks with the VxVM cdsdisk layout, disks
larger than 1 TB in size have a different internal
layout than disks smaller than 1 TB. Therefore,
resizing a cdsdisk disk from less than 1 TB to
greater than 1 TB requires special care if the disk
group only has one disk. In this case, you must
add a second disk (of any size) to the disk group prior to
performing the vxdisk resize command on the original disk.
You can remove the second disk from the disk group after the
resize operation has completed.

Caution: Resizing a device that contains the only valid configuration
copy for a disk group can result in data loss if a system crash occurs
during the resize.

Caution: Resizing a virtual disk device is a non-transactional operation
outside the control of VxVM. This means that the resize
command may have to be re-issued following a system crash.
In addition, a system crash may leave the private region on the device
in an unusable state.
If this occurs, the disk must be reinitialized, reattached to the
disk group, and its data resynchronized or recovered from a backup.

rm

Removes the specified disk access records, by disk access name.
Use this keyword to remove a disk physically from the system, or
to clean up a disk when you physically remove the disk from the
system. See the Veritas Storage Foundation Administrators Guide
for more information.

The rm keyword does not exclude the disk from VxVM usage. To
exclude the disk from VxVM usage, use the vxdmpadm command.

rmtag

Removes the specified tags from a disk.

scandisks

Initiates the rescanning of devices in the operating system device tree
by VxVM. If necessary, DMP reconfiguration is triggered.
This allows VxVM to configure and multi-path disks dynamically.

By default, VxVM performs ASL configuration for all of the devices
in the device tree when
performing device discovery.
To restrict ASL configuration to newly added disks that are not already
known to VxVM, specify the -f option.

The following options can be specified to restrict the ASL configuration
to specific devices:

scandisks [!]ctlr=controller_list

Selects devices that are connected to the logical controllers specified
as a comma-separated list.
If you prepend a ! to ctlr,
all devices are selected except those that
are connected to the specified controllers.

scandisks [!]device=device_list

Selects devices that are
specified as a comma-separated list.
If you prepend a ! to device,
all devices except those listed are discovered.

scandisks fabric

Selects fabric devices only.

scandisks new

Selects new disks (that is, disks not known to VxVM).

scandisks [!]pctlr=physical_controller_list

Selects devices that are connected to the physical controllers specified
as a list of items separated by + characters.
If you prepend a ! to pctlr,
all devices are selected except those that
are connected to the specified physical controllers.

A list of physical controllers can be obtained by running the
vxdmpadm getctlr command.

set

Changes some set of attributes for a disk. The attributes
are either simple names (used to turn on an on/off attribute), or can
be of the form attrname=value, to indicate a value for a
particular attribute.

settag

Sets or updates the tag names and optional tag values for a disk.
The tag name and tag value are strings of up to 128 characters.
The string must not include space or tab characters.
The tag name must not be the same as the name of a disk in the disk group.

The -f option must be specified if the tag name is already set
on the disk.

The earlier command syntax is supported only for backward compatibility.
The earlier command syntax is:

Note: The tag names site, udid, vdid and vxmediatype are reserved for use by VxVM.
The udid and vdid tags cannot be used.

Use the tag name site to identify to which site in a Remote Mirror configuration the specified
disk or enclosure belongs.

updateudid

Updates the unique disk identifier (UDID) for one or more disks
that are specified either by their access names or media names.
The current value of the UDID that is stored in the Device Discovery Layer
(DDL) property database is used to correct the value that is stored
in the private region.

If the udid_mismatch flag is not set on a disk,
you must specify the -f option to forcibly update the UDID value
for the disk.

Some environments provide guidelines to optimize VxVMs interaction
with intelligent storage systems. If these guidelines are present, VxVM
follows them when initializing disks, creating volumes or allocating
space for volumes. These rules cannot be overridden.

The simplest disk type is nopriv, which defines a disk that has
no private region, and that consists only of space for allocating
subdisks. Configuration and log copies cannot be stored on such disks,
and such disks do not support reserved regions defined with
vxdisk addregion. Because nopriv disks are not self
identifying, VxVM cannot track the movement of such disks
on a SCSI chain or between controllers.

nopriv devices are most useful for defining special devices
(such as volatile RAM disks) that you wish to use with VxVM,
but that cannot store private regions. A RAM disk cannot
store a meaningful private region, because data written to a RAM disk
may not survive a reboot.

Initializing a nopriv device with vxdisk init creates a
disk access record internally to VxVMs configuration,
but no information is written to disk.
The disk ID for nopriv devices is stored in
the private structure of the disk access record.

Attributes that can be used with the
define operation for nopriv disks are
diskid, publen, puboffset and volatile.

Attributes that can be used with the init
operation for nopriv disks are
publen, puboffset and volatile.

On some systems, VxVM can ask the operating system for a
list of known disk device addresses.
On such systems, some device addresses are auto-configured
when vxconfigd is started.

Auto-configured disks (type=auto) can take
one of the following formats:

cdsdisk

The disk is formatted as a CDS disk that is suitable for moving between
different operating systems. This is the default format for most disks, but
it is not suitable for boot disks.

Auto-configured disks of type auto with the cdsdisk format
cannot be used as boot, root, or swap disks.
Such disks can also only be created and used in a disk group
that has a version number greater than or equal to 110.

Note: As the CDS format is applied to the entire disk and is unsuitable for
boot disks, attributes that relate to slices or to booting are not applicable.

hpdisk

The disk is formatted for use with VxVM on HP-UX.
This format can be applied to disks that can be used to boot the system.
If the disk is not initialized as a boot disk,
space is reserved on the disk to allow it
to be converted to cdsdisk format if required.

none

The disk is an unformatted auto-configured disk.

Auto-configured devices can be removed, if necessary,
by using the vxdisk rm command.
When removed, explicitly defined devices can be defined to
override any auto-configured devices. When the system reboots, no
auto-configured disk devices are added to the VxVM configuration
if that meant that they would share a disk with an explicitly
configured disk device.

Auto-configured devices can be disabled and re-enabled using the
offline and online operations. However, the offline
state is not stored persistently. If you need to persistently offline
a device at a particular address, convert the address
to use an explicit device record. To do this, remove the
auto-configured device, and use vxdisk define to create an
explicitly configured device.

Attributes that may be defined for auto-configured disks are listed in the
ATTRIBUTES section.

The default format for auto-configured disks may be overridden
by a suitable entry in the /etc/default/vxdisk file.
See the DEFAULTS FILE section for details.
A value specified on the command line takes precedence over both the value in
the defaults file and the inbuilt value.

Note: If a format is not specified,
and the target disk already has a valid auto format,
this is assumed to be the desired format.

The clone_disk flag indicates whether a disk is a duplicate of
another disk (usually created by a hardware cloning mechanism).

This flag is usually set automatically to on for a disk that is
detected as being a duplicate, or when the -o updateid option
is specified to the vxdg import command and the udid_mismatch
flag has been set on the disk being imported.

configlen=length

The size to reserve for each copy of the configuration stored on the disk.
The default size is based on the size of the private area
and the number of configuration copies requested, and leaves some
space free for uses other than the configuration copies.

diskid=newdiskid

For a nopriv disk, this defines the value
newdiskid for the disk ID in the
disk access record.

keepmeta={default|always}

If set to default, a configuration copy and a log copy
are written to the specified disk when it is added to a disk group
if this is accord with the standard placement policy.

If set to always, a configuration copy and a log copy
are written to the specified disk when it is added to a disk group
irrespective of the standard placement policy.

loglen=length

The size to reserve in the private region for each log region. This
size limits the number of kernel-initiated detach operations that can
be logged against the disk group. The default is about 15% of the size
of the configuration copies. It is advised that the log sizes be kept
as 15% of the configuration copy size.

mediatype={ssd|hdd}

Provides explicit setting of mediatype on a disk.
Specifying mediatype attribute with vxdisk set results in setting
vxmediatype tag on the disk with tag value
ssd or hdd as specified. This value overrides the media type
discovered by DDL. The mediatype value that is set using vxdisk set can be
retrieved by running vxdisk listtag or vxdisk -e list.
To override the mediatype discovered by DDL, use the -f option with
vxdisk set.

nconfig=count

The number of configuration copies to store on the disk.
This defaults to 1.
Setting this value to 0 indicates that no
configurations are to be stored on the disk.

VxVM automatically enables and disables the configuration copy.
It maintains a level of redundancy in configuration copies that
allows the configuration to be recovered from the loss of multiple disks.

See the description of the nconfig parameter on the vxdg(1M)
manual page for more information.

nlogs=count

The number of log regions to allocate on the disk.
Log regions are
used for storing any plex detaches that happen within the disk group.
This number defaults to 1.

VxVM automatically enables and disables the configuration copy.
It maintains a level of redundancy in configuration copies that
allows the configuration to be recovered from the loss of multiple disks.

See the description of the nlog parameter on the vxdg(1M)
manual page for more information.

offline

If specified, creates disk in the offline state for the define
operation, or leaves the device in the offline state initially for
the init operation.
This attribute is used only if a new disk access record is being defined.

pftostate={enabled|disabled}

Indicates whether Powerfail Timeout (PFTO) is enabled
or disabled. The setting is persistent.

privlen=length

The length of the private region. If this is not specified,
then a default is chosen. For the simple and cdsdisk types,
the default size is 32MB.
The maximum possible size of the private region is 524288 blocks.

The default value of privlen may also be overridden by a suitable entry
in the /etc/default/vxdisk file.
See the DEFAULTS FILE section for details.
A value specified on the command line takes precedence over both the value in
the defaults file and the inbuilt value.

publen=length or len=length

For disk types other than nopriv,
the length of the public region.
If not specified,
the length of the public region is computed from available
system-specific disk size information.
If no such information is available,
a public region length must be specified in this command.
The default public region length is adjusted to account
for the private region,
or for any specified public or private region offsets.

For nopriv disks, the usable length of the device.
This is required if there is no
system-defined procedure for determining the disk length;
otherwise, a suitable default is computed.

puboffset=offset or offset=offset

For nopriv disks,
the offset within the device for the start of the usable region.
The default value of this offset defaults to 1.
This can be changed if it is necessary to skip over some
region that is reserved for use by the operating system.
If an offset is specified,
the default disk length is adjusted accordingly.

reclaim={on|off|clear}

In general, the ASL detects whether the LUN supports reclamation.
Use the reclaim attribute to manually disable or enable
reclamation
for a disk, if the ASL is not able
to discover the reclamation
attribute for a LUN. The setting is
persistent.
Use the clear option to clear the manual setting
and enable the ASL to discover the reclamation attribute.

thin={on|off|clear}

In general, the ASL discovers the thin capability of the LUNs that
are exported to the system. Use the thin attribute to manually
enable or disable thin-provision support on a disk if the ASL is not
able to discover the thin attribute. The setting is
persistent. Use the clear option to clear the manual setting
and enable the ASL to discover the thin attribute.

Thin and thin-reclaimable disks take advantage of the SmartMove feature by
default. If the array supports the reclamation using the write_same() scsi
command as in T10, the reclamation support is also provided by default.

Using this option to explicitly mark the thin attribute may not
automatically identify other thin-specific attributes of a LUN.
In this case, the vxdisk -o thin list command
may not provide all the other thin-specific details such as
allocated physical storage size, allocation unit size, etc.

volatile

For a nopriv disk, this marks the contents of the disk as being
volatile (that is, the disk contents are not expected to remain
consistent across a system reboot).
Subdisks and plexes defined on disks
with the volatile attribute inherit that attribute.
The vxvol start operation interprets volatile plexes as requiring
complete revival from other plexes in the same volume.

The /etc/default/vxdisk file can be used to set the default values
of the format and privlen attributes
for the vxdisk and vxdisksetup commands.
Values in this file override inbuilt values,
and may themselves be overridden by values
specified on the command line.

The following attributes may be specified
in the defaults file:

format=format

Defines the default format for auto type disks.
Supported values of format are
hpdisk and
cdsdisk.
The setting of this attribute is considered for the define
and init operations.

privlen=length

Defines the default length for the private region.
See the ATTRIBUTES section for a full definition.
The setting of this attribute is considered for the
init operation only.

The attributes and their values may be defined in any order in the file,
the attribute keyword must start in the first column,
and no white-space characters are allowed around the = character.
If an attribute is defined multiple times, only the final occurrence in
the file is used. Commands silently ignore any definition line that has
an invalid format.

Each private region contains exactly two copies of a disk header,
which defines the unique disk ID, disk geometry information, and disk
group association information.
The primary copy of the disk header is stored in block
zero of the private region. The alternate copy is stored within the
first 256 sectors. If the primary copy is unreadable or unusable,
VxVM searches the first 256 sectors of the private region
for the alternate copy.

Table of Contents

A linked list of blocks, pointed to by the disk header, that define
additional structures in the private and public regions. The table of
contents blocks define disk group configuration copy locations, log
copy locations, and reserved regions carved from the public region.
Each link block in the table of contents is replicated at the
beginning and end of the private region. If the primary copy of any
one link block is unreadable or unusable, the alternate copy of that
link is used.

Configuration Copies

A disk normally contains one disk group configuration
copy, according to the number specified when the disk was initialized
using the vxdisk init operation. When a disk
is added to a disk group, the disk groups persistent configuration
records are written to each copy. For disks that are not associated
with a disk group, the space allocated for configuration copies is
unused. Each disk group requires at least one usable configuration
copy. Preferably there should be at least four copies, allocated
between at least two disks. This allows one disk to be lost totally,
while still preserving sufficient redundancy for recovering from simple
read failures.

Disk Group Log Copies

A disk normally contains one disk group log copy.
The number of log copies is set to the same as the number of
configuration copies for the disk (as explained in the Configuration
copies section above). These logs are written by the kernel when
certain types of actions are performed: transaction commits, plex
detaches resulting from I/O failures, total dirty region log (DRL) failures,
the first write to a volume, and volume close. After a crash or a
clean reboot, this log information is used to recover the state of a
disk group just prior to the crash or reboot. Each disk group requires
at least one usable disk group log copy. As with configuration copies,
it is preferable to have at least four log copies, allocated between at
least two disks.

For a single disk, the disk header and the table of contents blocks
are critical data structures. At least one copy of the disk header,
and at least one copy of each table of contents block, must be
readable and usable, or else the disk itself is unusable and must
be reinitialized.

Within disk groups, disk group configuration and log copies are
critical data structures. At least one complete configuration copy
and log copy must be readable and usable, or the disk group is
unusable and must be reinitialized.

All disk group association information is stored in the disk header
within private regions. This information consists of a disk group
name, disk group unique ID, and a host ID. When the system boots,
VxVM scans for disks that are stamped with the systems host
ID. Each represented disk group is imported automatically. Disks
with a non-matching host ID are not imported automatically, and cannot
be used until the host ID is cleared with the clearimport
operation.

To ensure that the disk partition table and the disk format are in agreement,
it is recommended that you use the vxdisksetup -i command
to initialize disks in preference to the vxdisk init command.

The default private region size increased from
512KB to 1MB in release 3.2, and from
1MB to 32MB in release 5.0.
The exception is VxVM boot disk groups where the
private region size is limited to 1MB.
This restriction is necessary to allow the boot loader to find the
/stand file system during Maintenance Mode Boot.