Use the mkvdisk command to create sequential, striped, or image mode
volume objects. When they are mapped to a host object, these objects are seen as disk drives with
which the host can run I/O operations. Note the first syntax diagram below is for striped or
sequential volumes and the second syntax diagram is for image mode volumes. Use the
mkvolume command for a simplified way of creating high availability
volumes.It includes hyperswap topology. Use the
mkimagevolume command for a simplified way of creating an image mode volume,
importing existing data from a managed disk.
Note: The first syntax diagram depicts the creation of a
sequential or striped mode volume. The second syntax
diagram depicts the creation of an image mode volume.
Syntax
mkvdisk -mdiskgrp { mdisk_group_id_list | mdisk_group_name_list } [ -udid vdisk_udid ] [ -vtype { striped | seq } ] [ -iogrp { io_group_id | io_group_name } ] [ -size disk_size ] [ -accessiogrp { iogrp_id_list | iogrp_name_list } ] [ -fmtdisk ] [ -nofmtdisk ] [ -rsize { disk_size | disk_size_percentage% | auto } [ -warning { disk_size | disk_size_percentage% } ] [ -autoexpand ] [ -grainsize { 32 | 64 | 128 | 256 } ] ] [ -compressed ] [ -copies num_copies [ -createsync ] [ -syncrate syncrate ] ] [ -mirrorwritepriority { latency | redundancy } ] [ -mdisk { mdisk_id_list | mdisk_name_list } ] [ -node { node_name | node_id } ] [ -unit { b | kb | mb | gb | tb | pb } ] [ -name new_name_arg ] [ -cache { readwrite | readonly | none } ] [ -tier { tier0_flash | tier1_flash | tier_enterprise | tier_nearline } ] [ -easytier { on | off } ]
mkvdisk -mdiskgrp { mdisk_group_id | mdisk_group_name } -vtype image -mdisk { mdisk_id_list | mdisk_name_list } [ -iogrp { io_group_id | io_group_name } ] [ -size disk_size ] [ -accessiogrp { iogrp_id_list | iogrp_name_list } ] [ -fmtdisk ] [ -nofmtdisk ] [ -rsize { disk_size | disk_size_percentage% | auto } [ -warning { disk_size | disk_size_percentage% } ] [ -autoexpand ] [ -grainsize { 32 | 64 | 128 | 256 } ] ] [ -import ] [ -copies num_copies [ -createsync ] [ -syncrate syncrate ] ] [ -mirrorwritepriority { latency | redundancy } ] [ -udid vdisk_udid ] [ -node { node_name | node_id } ] [ -unit { b | kb | mb | gb | tb | pb } ] [ -name new_name_arg ] [ -cache { readwrite | readonly | none } ] [ -easytier { on | off } ]
Parameters
- -mdiskgrpmdisk_group_id_list | mdisk_group_name_list
- (Required) Specifies one or morestorage pools to use when you are creating this volume. If you are
creating multiple copies, you must specify one storage pool per copy. The primary copy is
allocated from the first storage pool in the list.
- -iogrpio_group_id | io_group_name
- (Optional) Specifies the I/O group
(node pair) with which to associate this volume. If you specify
-node, you must also specify -iogrp.
Remember: - Create the first compressed volume copy for an I/O group to activate compression.
- You cannot create or move a volume copy that is compressed to an I/O group that contains
at least one node that does not support compressed volumes. You must select another I/O
group to move the volume copy to (but it does not affect moving to the recovery I/O group).
The system auto-selects an I/O group based on the number of
volumes in other IO groups, with exception to systems with V5030 nodes where regular pool
compression cannot be used with data reduction pool compression within the same I/O group. On
a system that has at least one V5030 in it, auto I/O group selection can be used. However,
the compression type must match the compression type already in use. If you create an
opposite compression type, then -iogrp must be specified.
- -accessiogrpiogroup_id_list | iogroup_name_list
- (Optional) Specifies the members of the volume I/O group access set. If this option is not
specified, only the caching I/O group is added to the volume I/O group access set. If any
access I/O groups are specified, only those I/O groups are in the access set (including if
that set does not include the caching I/O group).
- -udidvdisk_udid
- (Optional) Specifies the unit number (udid for the disk. The
udid is an identifier that is required to support OpenVMS hosts;
no other systems use this parameter. Valid options are a decimal number 0 - 32 767, or a
hexadecimal number 0 - 0x7FFF. A hexadecimal number must be preceded by
0x (for example, 0x1234).
- -sizedisk_size
- (Required for sequential or striped volume creation) (Optional for image volume
creation) Specifies the capacity of the volume, which is used with the value of the
unit. All capacities, including changes, must be in multiples of 512 bytes. An error
occurs if you specify a capacity that is not a multiple of 512. It can only happen when byte
units (-b) are used. However, an entire extent is reserved even if it
is only partially used. The default capacity is in MB. You can specify a capacity of 0.
Specify the size in bytes in multiples of logical block address (LBA) sizes.
Note: If you do not specify the -size parameter when you create an image
mode disk, the entire MDisk capacity is used.
- -rsizedisk_size | disk_size_percentage% | auto
- (Optional) Defines how much physical space is initially allocated to the thin-provisioned
or compressed volume. This parameter makes the volume thin-provisioned; otherwise, the volume
is fully allocated. Specify the disk_size | disk_size_percentage value by
using an integer, or an integer immediately followed by the percent character
(%). Specify the units for a disk_size integer by
using the -unit parameter; the default is MB. The
-rsize value can be greater than, equal to, or less than the size of the
volume. The auto option creates a volume copy that uses the entire size
of the MDisk.
If you specify the -rsize auto option, you must also
specify the -vtype image option. If you specify
-import you must specify -rsize.
If the volume is in a data reduction storage pool, the value of
the -rsize parameter will be ignored in mkvdisk. Only
its presence or absence is used to determine if the disk is a data reduction volume copy or a
thick volume copy.
- -fmtdisk
- (Optional) Specifies that the volume be formatted. This parameter is no longer required for
any volumes.
This parameter is not required when you create fully allocated volumes. The
format operation is automatically applied to fully allocated volumes unless you specify
-nofmtdisk parameter. The format operation sets the extents that make
up this volume to all zeros after it is created. This process takes place in the background
concurrently with host I/O operations on the new volume.
Remember: Formatting is
on by default for single copy, fully allocated, and non-image mode volumes. You cannot
format an image mode volume.
The format operation completes asynchronously.
You can query the status by using the lsvdiskprogress command. You cannot
specify this parameter with the -vtype image parameter.
This
parameter is not required when you create thin-provisioned volumes. Thin-provisioned volumes
return zeros for extents that are not written to. No format operation is required. This
parameter also synchronizes mirrored copies by default.
- -nofmtdisk
- (Optional) Specifies that formatting be turned off for the new volume.
Remember: Formatting is on by default for single copy, fully allocated, and non-image mode volumes,
and you can specify this parameter to turn it off.
- -compressed
- (Optional) Enables compression for the volume. This parameter must be specified with
-rsize and cannot be specified with -grainsize.
- -warningdisk_size | disk_size_percentage%
- (Optional) Requires that the -rsize parameter also be specified.
Specifies a threshold at which a warning error log is generated for volume copies. A warning
is generated when the used disk capacity on the thin-provisioned copy first exceeds the
specified threshold.
Note: You cannot specify this parameter for
thin-provisioned or compressed volumes that are in data reduction pools.
You can
specify a
disk_size integer, which defaults to MBs unless the
-unit parameter is specified. Or you can specify a
disk_size%, which is a percentage of the volume
size.
Important: If
-autoexpand is:
- Enabled, the default value for -warning is 80% of the volume
capacity.
- Not enabled, the default value for -warning is 80% of the real
capacity.
To disable warnings, specify
0.
- -autoexpand
- (Optional) Specifies that thin-provisioned copies automatically expand their real
capacities by allocating new extents from their storage pool. Requires that the
-rsize parameter also be specified. If the
-autoexpand parameter is specified, the -rsize
parameter specifies a capacity that is reserved by the copy. It protects the copy from going
offline when its storage pool runs out of space by having the storage pool to
consume this reserved space first.
The parameter has no immediate effect on image mode
copies. However, if the image mode copy is later migrated to managed mode, the copy is then
automatically expanded.
- -grainsize32 | 64 | 128 | 256
- (Optional) Sets the grain size (KB) for a thin-provisioned volume. This parameter also
requires that the -rsize parameter be specified. If you are using the
thin-provisioned volume in a FlashCopy map, use
the same grain size as the map grain size for best performance. If you are using the
thin-provisioned volume directly with a host system, use a small grain size. The grain size
value must be 32, 64, 128, or 256 KB. The default is 256 KB.
If
the volume to be created is a thin-provisioned volume in a data reduction storage pool, the
-grainsize parameter cannot be used. This type of volume will be
created with a grain size of 8 KB.
- -import
- (Optional) Imports a thin-provisioned volume from the MDisk. If you specify
-import you must also specify -rsize.
- -copies num_copies
- (Optional) Specifies the number of copies to create. The num_copies
value can be 1 or 2. Setting the value to 2 creates a mirrored volume. The default value is
1.
- -syncrate syncrate
- (Optional) Specifies the copy synchronization rate. A value of zero
(0) prevents synchronization. The default value is
50. See Relationship between the syncrate value and the data copied per second for the supported
-syncrate values and their corresponding rates. Use this parameter to
alter the rate at which the fully allocated volume or mirrored volume format before
synchronization.
- -createsync
- (Optional) Creates copies in sync. Use this parameter if you have already formatted the
MDisks, or when read stability to unwritten areas of the volume is not required.
- -mirrorwriteprioritylatency | redundancy
- (Optional) Specifies how to configure the mirror write algorithm priority. If not
specified, the default value is latency.
- Choosing latency means a copy that is slow to respond to a write
input/output (I/O) becomes unsynchronized, and the write I/O completes if the other copy
successfully writes the data.
- Choosing redundancy means a copy that is slow to respond to a write
I/O synchronizes completion of the write I/O with the completion of the slower I/O to
maintain synchronization.
- -vtypeseq | striped | image
- (Optional) Specifies the virtualization type. When you create sequential or image mode
volumes, you must also specify the -mdisk parameter. The default
virtualization type is striped.
- -nodenode_id | node_name
- (Optional) Specifies the preferred node ID or the name for I/O operations to this volume.
You can use the -node parameter to specify the preferred access node. If you specify -node, you must also specify
-iogrp.
Note: This parameter is required for the subsystem device
driver (SDD). The system chooses a default if you do not supply this parameter.
- -unitb | kb | mb | gb | tb | pb
- (Optional) Specifies the data units to use along with the capacity that is specified by the
-size and -rsize parameters. The default unit type
is MB.
- -mdiskmdisk_id_list | mdisk_name_list
- (Optional) Specifies one or more managed disks. For sequential and image mode volumes, the
number of MDisks must match the number of copies. For sequential mode volumes, each MDisk must
belong to the specified storage pool. For striped volumes, you cannot specify the
-mdisk parameter if the -copies value is greater
than 1.
When you create a single copy striped volume, you can specify a list of MDisks to
stripe across.
You must use this parameter to specify an MDisk that has a mode of
unmanaged.
- -namenew_name_arg
- (Optional) Specifies a name to assign to the new volume.
- -cachereadwrite | readonly | none
- (Optional) Specifies the caching options for the volume. Valid entries are:
- readwrite enables the cache for the volume.
- readonly disables write caching while allowing read
caching for a volume.
- none disables the cache mode for the volume.
The default is readwrite.
- -tiertier0_flash | tier1_flash | tier_enterprise |
tier_nearline
- (Optional) Specifies the MDisk tier when an image mode copy is added.
- tier0_flash
- Specifies a tier0_flash hard disk drive or an external MDisk for the
newly discovered or external volume.
- tier1_flash
- Specifies an tier1_flash (or flash drive) hard disk drive or an
external MDisk for the newly discovered or external volume.
- tier_enterprise
- Specifies a tier_enterprise hard disk drive or an external MDisk for
the newly discovered or external volume.
- tier_nearline
- Specifies a tier_nearline hard disk drive or an external MDisk for the
newly discovered or external volume.
- ssd
- Specifies an SSD (or flash drive) hard disk drive or an external MDisk for the newly
discovered or external volume.
- nearline
- Specifies a nearline hard disk drive or an external MDisk for the newly discovered or
external volume.
- enterprise
- Specifies an enterprise hard disk drive or an external MDisk for the newly discovered or
external volume.
Note: This action applies to both copies if you are creating mirrored volume with two
image mode copies by using this command.
- -easytieron | off
- Determines whether the IBMEasy Tier function is allowed to move extents for
this volume.
Note: The
-easytier parameter must be followed by either
on or
off:
- If set to on, then Easy
Tier functions are active.
- If set to off, then Easy
Tier functions are inactive.
Note: The Easy
Tier feature is not enabled. The status is always
inactive.
If the Easy Tier
feature is enabled, and if a volume copy is striped and not being migrated, the following
table applies.
If the volume copy is in image or sequential mode or is being migrated, the
volume copy Easy Tier status is
measured instead of active.
The default Easy Tier setting for a
storage pool is auto, and the default Easy Tier setting for a volume copy is
on. It means that Easy
Tier functions except pool performance balancing are disabled for storage pools with a
single tier, and that automatic data placement mode is enabled for all striped volume copies
in a storage pool with two or more tiers.
Description
This command creates a new
volume object. You can use the command to create various types of volume objects, making it one
of the most complex commands.
Remember: You can create a
striped volume only in a child pool - you cannot create sequential or image volumes in a child
pool.
You must decide which storage pool or storage pools provide the storage for
the volume. Use the lsmdiskgrp command to list the available storage pools
and the amount of free storage in each pool. If you are creating a volume with more than one
copy, each storage pool that you specify must have enough space for the size of the volume.
If you create a thin-provisioned or compressed volume from a data reduction
storage pool, that volume uses the same properties as the data reduction storage pool. You can
create fully allocated volumes from data reduction pools, but these volumes use different data
reduction properties.
A thin-provisioned or compressed volume that is in a data reduction storage
pool must:
- Not be in sequential or image mode.
- Not have a warning threshold set (using -warning).
- Use -cache readwrite when caching.
- Have -autoexpand enabled.
For thin-provisioned and compressed volume copies that are in data reduction storage pools,
the Easy Tier status is taken from the data
reduction pool because that data is managed by a central data disk. It means that you cannot
specify
-easytier with thin-provisioned or compressed volumes.
Important: The extent size for the storage pool can limit volume size. Consider the
maximum volume size that you want to use when you create storage pools. Refer to the information
on creating storage pools for a comparison of the maximum volume capacity for each extent size.
The maximum is different for thin-provisioned volumes.
A compressed volume in a data reduction pool can only be created in an I/O group with V5030,
V7000, or SVC node types. Thin provisioned volumes can be created on any node type.
No restriction exists for the number of compressed volumes within
a data reduction storage pool.
Compressed volumes/copies cannot be created if the
I/O group in which the copy is being created supports only software compression and:
- The I/O group already has Real-time compression copies and the copy is data reduction.
- The I/O group already has data reduction copies and the copy uses Real-time
compression.
Choose an I/O group for the volume. This action determines which nodes in the system process
the I/O requests from the host systems. If you have more than one I/O group, ensure that you
distribute the volumes between the I/O groups so that the I/O workload is shared evenly between
all nodes. Use the
lsiogrp command to show the I/O groups and the number of
volumes that are assigned to each I/O group.
Note: It is normal for
systems with more than one I/O group to have storage pools that have volumes in different I/O
groups. FlashCopy processing can make copies of
volumes whether the source and target volumes are in the same I/O group. However, if you plan
to use intra-system Metro or Global Mirror operations, ensure that both the master and
auxiliary volume are in the same I/O group.
The command returns the IDs of the newly
created volume.
An encryption
key cannot be used when you create an image mode MDisk. To use encryption (when the MDisk has an
encryption key), the MDisk must be self-encrypting.
Specify the
virtualization type by using the
-vtype parameter; the supported types are
sequential (
seq),
striped, and
image.
- sequential (seq)
- This virtualization type creates the volume that uses sequential extents from the
specified MDisk (or MDisks, if creating multiple copies). The command fails if there are not
enough sequential extents on the specified MDisk.
- striped
- The default virtualization type. If the -vtype parameter is not
specified, striped is the default; all managed disks in the storage pool
are used to create the volume. The striping is at an extent level; one extent from each
managed disk in the group is used. For example, a storage pool with 10 managed disks uses one
extent from each managed disk. It then uses the 11th extent from the first managed disk, and
so on.
If the -mdisk parameter is also specified, you can supply a
list of managed disks to use as the stripe set. It can be two or more managed disks from the
same storage pool. The same circular algorithm is used across the striped set. However, a
single managed disk can be specified more than once in the list. For example, if you enter
-mdisk 0:1:2:1, the extents are from the following managed disks: 0, 1, 2,
1, 0, 1, 2, and so forth. All MDisks that are specified in the -mdisk
parameter must be in the managed mode.
A capacity of 0 is allowed.
- image
- This virtualization type allows image mode volumes to be created when a managed disk
already has data on it, perhaps from a previrtualized subsystem. When an image mode volume is
created, it directly corresponds to the (previously unmanaged) managed disk that it was
created from. Therefore, except for thin-provisioned image mode volumes, volume logical block
address (LBA) x equals managed disk LBA x. You can use
this command to bring a nonvirtualized disk under the control of the system. After it is
under the control of the system, you can migrate the volume from the single managed disk.
When it is migrated, the volume is no longer an image mode volume.
You can add image mode
volumes to an already populated storage pool with other types of volumes, such as a striped
or sequential.
Important: An image mode volume must be 512 bytes or greater. At
least one extent is allocated to an image mode volume.
Remember: If
you create a mirrored volume from two image mode MDisks without specifying a
-size value, the capacity of the resulting volume is the smaller of
the two MDisks, and the remaining space on the larger MDisk is not accessible.
Attention: - Do not create a volume in an offline I/O group. You must ensure that the I/O group is
online before you create a volume to avoid any data loss. This action applies in particular to
re-creating volumes that are assigned the same object ID.
- To create an image mode disk, you must already have a quorum disk present in the system
because an image mode disk cannot be used to hold quorum data. Refer to information on quorum
disk creation for more details.
- The command fails if either limit of 2048 volumes per I/O Group or 8192 volume copies per
system is reached.
The rate at which the volume copies resynchronize after loss of
synchronization can be specified by using the
-syncrate parameter.
This table provides the relationship of
the
syncrate value to the data copied per second.
Note: These settings also
affect the initial rate of formatting.
Table 2. Relationship between the syncrate value
and the data copied per second
User-specified syncrate attribute
value |
Data copied/sec |
1 - 10 |
128 KB |
11 - 20 |
256 KB |
21 - 30 |
512 KB |
31 - 40 |
1 MB |
41 - 50 |
2 MB |
51 - 60 |
4 MB |
61 - 70 |
8 MB |
71 - 80 |
16 MB |
81 - 90 |
32 MB |
91 - 100 |
64 MB |
Scenario 1
If the I/O group contains:
- At least one 8 GB node.
- At least one thin-provisioned or compressed volume in a data reduction
pool.
- And you try to set the FlashCopy bitmap size for that I/O group to at least 1.5 GB.
The command fails due to insufficient resources available.
Scenario 2
When a thin-provisioned or compressed volume
is created within a data reduction pool, the pool must have enough
capacity to create more volumes that track SCSI unmap operations from
the host. If this capacity is not available, the command fails.
Scenario 3
Volumes cannot be created in a data reduction
pool if offline thin-provisioned or compressed volumes exist in a
data reduction pool, either because of thin provisioning (out of space
or corruption), or a component underneath thin provisioning is holding
a volume in the pool offline.
An invocation
example
mkvdisk -mdiskgrp Group0 -size 0
-iogrp 0 -vtype striped -mdisk mdisk1 -node 1
The
resulting output:
Virtual Disk, id [1], successfully created
An invocation example for creating an image mode
volume
mkvdisk -mdiskgrp Group0
-iogrp 0 -vtype image -mdisk mdisk2 -node 1
The
resulting output:
Virtual Disk, id [2], successfully created
An invocation example for creating a new
volume
mkvdisk -mdiskgrp Group0 -size 0 -unit kb
-iogrp 0 -vtype striped -mdisk mdisk1 -node 1 -udid 1234 -easytier off
The
resulting output:
Virtual Disk id [2], successfully created
An invocation example for creating a thin-provisioned
volume
mkvdisk -mdiskgrp Group0 -iogrp 0 -vtype striped -size 10 -unit gb -rsize 20% -autoexpand -grainsize 32
The
resulting output:
Virtual Disk id [1], successfully created
An invocation example for creating a compressed volume copy
mkvdisk -mdiskgrp 0 -iogrp 0 -size 1 -unit tb -rsize 0 -autoexpand -warning 0 -compressed
The resulting output:
Virtual Disk id [1], successfully created
An invocation example for creating a mirrored image-mode
volume
mkvdisk -mdiskgrp Group0:Group0 -mdisk mdisk2:mdisk3 -iogrp 0 -vtype image -copies 2
The
resulting
output:
Virtual Disk id [1], successfully created
An invocation example for creating a mirrored
volume
mkvdisk -iogrp 0 -mdiskgrp 0:1 -size 500 -copies 2
The
resulting output:
Virtual Disk id [5], successfully created
An invocation example for configuring a
mirror write algorithm
priority
mkvdisk -mdiskgrp Group0 -iogrp 0 -vtype striped -mirrorwritepriority redundancy -size 500
The
resulting output:
Virtual Disk id [5], successfully created
An invocation example to create a disk with default grain
size
mkvdisk -iogrp 0 -mdiskgrp 0 -size 100 -rsize 5%
The
resulting output:
Virtual Disk id [5], successfully created
An invocation example for creating a volume with I/O groups 0 and 1 in its I/O group
access set
mkvdisk -iogrp 0 -mdiskgrp 0 -size 500 -accessiogrp 0:1
The resulting output:
Virtual Disk id [5], successfully created
An invocation example for creating a volume with warning
considerations
mkvdisk -mdiskgrp 6 -size 200 -rsize 50 -iogrp 0
The
resulting
output:
Virtual Disk, id [2], successfully created
...
lsvdisk 2
...
warning 20 # threshold in MB = 50 x 80 / 100 = 40 MB; threshold as %age of volume capacity = 40 / 200 * 100 = 20
...
An invocation example for creating a volume with warning
considerations
mkvdisk -mdiskgrp 6 -size 200 -rsize 50 -iogrp 0 -warning 80%
The
resulting
output:
Virtual Disk, id [2], successfully created
...
lsvdisk 2
...
warning 80 # displayed as %age of volume capacity
...
An invocation example for creating a volume with warning
considerations
mkvdisk -mdiskgrp 6 -size 200 -rsize 50 -iogrp 0 -autoexpand
The
resulting
output:
Virtual Disk, id [2], successfully created
...
lsvdisk 2
...
warning 80 # displayed as %age of volume capacity
...
An invocation example to create a volume
with the read cache
enabled
mkvdisk -iogrp 0 -size 10 -unit gb -mdiskgrp 0 -cache readonly
The
resulting
output:
Virtual Disk, id [2], successfully created
An invocation example to create volume
Group0
mkvdisk -mdiskgrp Group0 -iogrp io_grp0 -vtype image -mdisk 13 -node 1 -udid 1234 -tier tier_nearline
The
resulting output:
Virtual Disk, id [0], successfully created
An invocation example to turn off formatting while creating
volume
Burnley1
mkvdisk -mdiskgrp Burnley1 -iogrp 0 -mdiskgrp 0:1 -size 500 -nofmtdisk -copies 2
The
resulting output:
Virtual Disk, id [0], successfully created