expandvdisksize

Use the expandvdisksize command to expand the size of a volume by a given capacity.

Syntax

 expandvdisksize    {  -size  disk_size  |  -rsize  disk_size [  -copy id  ] }   [  -mdisk  {  mdisk_id_list  |  mdisk_name_list  } ]   [  -fmtdisk  ]   [  -unit  {  b  |  kb  |  mb  |  gb  |  tb  |  pb  } ]   {  vdisk_name  |  vdisk_id  }

Parameters

-sizedisk_size
(Required) Specifies the capacity by which the volume is expanded. Disk size 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, which can only occur when byte units (-unit b) are used. However, an entire extent is reserved even if it is only partially used. The default disk_size unit is megabytes (MB). You cannot specify the -size parameter with the -rsize parameter. You must specify either -size or -rsize. If the volume is thin-provisioned, MDisks cannot be specified.
-rsizedisk_size
(Optional) Specifies the capacity by which to increase the real size of a thin-provisioned volume. Specify the disk_size value using an integer. Specify the unit for a disk_size integer using the -unit parameter; the default unit is megabytes (MB). The -rsize value can be greater than, equal to, or less than the size of the volume. You cannot specify the -rsize parameter with the -size parameter. You must specify either -size or -rsize.
-copyid
(Optional) Specifies the copy to change the real capacity for. You must also specify the -rsize parameter; you can only modify the real capacity of a volume copy. The -copy parameter is required if the specified volume is mirrored and only one copy is thin-provisioned. If the volume is mirrored, both copies are thin-provisioned and -copy is not specified, both copies are modified by the same amount.
-mdiskmdisk_id_list | mdisk_name_list
(Optional) Specifies the list of one or more MDisks to be used as the stripe set. The extents that expand the volume come from the specified list of MDisks. All MDisks in the list must be part of the same storage pool. The -mdisk parameter cannot be used if the specified volume is mirrored.
-fmtdisk
(Optional) Specifies that the volume be formatted before use. This parameter formats the new extents that have been added to the volume as a result of the expandvdisksize command. The expandvdisksize command completes asynchronously if you use this parameter.
-unitb | kb | mb | gb | tb | pb
(Optional) Specifies the disk_size unit for the -size or -rsize parameter. The default value is megabytes (MB).
vdisk_name | vdisk_id
(Required) Specifies the volume to modify, either by ID or by name.

Description

Use the expandvdisksize command to expand the physical capacity that is allocated to a particular volume by the specified amount.

The command can also be used to expand the virtual capacity of a thin-provisioned volume without altering the physical capacity that is assigned to the volume. To change the capacity of a non-thin-provisioned volume, or the virtual capacity of a thin-provisioned volume, use the -size parameter. To change the real capacity of a thin-provisioned volume, use the -rsize parameter.
Note: For relationships that cannot be resized, you cannot expand the capacity of any volume in a Global Mirror or Metro Mirror relationship, regardless of whether it is a primary, secondary, or a Change Volume. To expand the capacity of a volume in a Global Mirror or Metro Mirror relationship:
  1. Delete the relationship.
  2. Increase the size of all the volumes. All volumes in a relationship must have the exact same size (virtual capacity).
  3. Re-create the relationship with the larger volumes.
When the mirror is restarted, it will do a complete initial synchronization, replicating the entire primary volume to the secondary volume.
Note: You can expand the capacity of any volume in a Global Mirror or Metro Mirror relationship that is in consistent_synchronized state if those volumes are using thin-provisioned or compressed copies. You cannot expand the capacity for these types of volumes:
  • Volumes in HyperSwap relationships or in Global Mirror relationships that are operating in cycling mode
  • Volumes in relationships where a change volume configured
  • Volumes that have a fully allocated volume copy
You can not expand the capacity of any volume in a FlashCopy mapping, regardless of whether it is a source or target, or what state the mapping is in. You can expand the capacity of a volume in a FlashCopy mapping:
  1. Delete all the mappings in that FlashCopy tree. (There is a root source volume and some targets either directly or cascaded off of other targets - the entire tree must be deleted.)
  2. Increase the size of all volumes in the original FlashCopy tree. All volumes in a tree must be the same size (virtual capacity).
  3. Re-create all the FlashCopy mappings with the new larger volumes.
When a FlashCopy is restarted after being deleted (including if it is an incremental FlashCopy) the entire volume becomes part of any background copy because it is the start of a new mapping.
Note: The default capacity units are MB.

When a volume is expanded, the virtualization policy can change. Its mode becomes striped even if it was previously sequential. See the mkvdisk command for details of the virtualization policies.

To run the expandvdisksize command on a mirrored volume, all copies of the volume must be synchronized. The command formats all copies of a mirrored volume automatically.

Remember:
  1. You cannot resize (expand) an image mode volume.
  2. You cannot resize (expand) a volume that is part of a file system.
  3. You cannot resize (expand) volume if that volume is being fast formatted. (Additionally, you cannot specify shrinkvdisksize to resize (shrink) for a volume that is fast formatting.)
  4. You can not resize (expand) a volume if cloud snapshot is enabled on that volume.
  5. You cannot specify expandvdisksize -rsize to expand (resize) a thin or compressed volume copy that is in a data reduction pool.
  6. You cannot specify expandvdisksize -mdisk to resize (expand) a volume when a volume is being migrated.
You must expand both volumes in a relationship to maintain full operation of the system. To perform this:
  1. Expand the secondary volume by the required additional capacity
  2. Expand the primary volume by the required additional capacity

An invocation example to increase the capacity of vdisk1 by 2048 bytes using extents from two MDisks (and to format the new part of the volume)

expandvdisksize -size 2048 -unit b -mdisk mdisk0:mdisk1 -fmtdisk vdisk1

The resulting output:

No feedback

An invocation example to increase the capacity of vdisk1 by 100 MB using extents from two MDisks (and to format the new part of the volume)

expandvdisksize -size 100 -unit mb -mdisk mdisk0:mdisk1 -fmtdisk vdisk1

The resulting output:

No feedback

An invocation example to increase the real capacity of thin-provisioned vdisk2 by 100 MB without changing the virtual capacity (and to spread the extents across all MDisks in the storage pool)

expandvdisksize -rsize 100 -unit mb vdisk2

The resulting output:

No feedback

An invocation example to increase the real capacity of thin-provisioned volume copy id 1 of mirrored volume vdisk3 by 100 MB

expandvdisksize -rsize 100 -unit mb -copy 1 vdisk3

The resulting output:

No feedback