Creating volumes using the CLI

You can use the command-line interface (CLI) to create a volume. You can create volumes that are not high availability volumes or you can create high availability volumes.

If the volume that you are creating maps to a flash drive, the data that is stored on the volume is not protected against Flash drive failures or node failures. To avoid data loss, add a volume copy that maps to a Flash drive on another node.

This task assumes that the system has been set up and that you have created storage pools. You can establish an empty storage pool to hold the MDisks that are used for image mode volumes.

Note: If you want to keep the data on an MDisk, create image mode (volumes). This task describes how to create a volume with striped virtualization.

Use the mkvdisk command to create sequential, striped, or image mode volumes that are not high availability volumes. Use the mkvolume command to create high availability volumes (or volumes that are not high availability). Use the mkimagevolume command to create an image mode volume by importing (preserving) data on a managed disk from another storage system.

To create volumes, complete these steps.

  1. Issue the lsmdiskgrp CLI command to list the available storage pools and the amount of free storage in each group.

    Issue this CLI command to list storage pools:

    lsmdiskgrp -delim :
    

    This output is displayed:

    id:name:status:mdisk_count:vdisk_count:capacity:extent_size:free_capacity:virtual_capacity:
    used_capacity:real_capacity:overallocation:warning:easy_tier:easy_tier_status
    0:mdiskgrp0:degraded:4:0:34.2GB:16:34.2GB:0:0:0:0:0:auto:inactive
    1:mdiskgrp1:online:4:6:200GB:16:100GB:400GB:75GB:100GB:200:80:on:active
  2. Decide which storage pool you want to provide the storage for the volume.
  3. Issue the lsiogrp CLI command to show the I/O groups and the number of volumes assigned to each I/O group.
    Note: It is normal for systems with more than one I/O group to have mkvdisk that have volumes in different I/O groups. You can use FlashCopy to make copies of volumes regardless of whether the source and target volume are in the same I/O group.

    Similarly, if you plan to use intra-system Metro Mirror or Global Mirror, both the master and auxiliary volume can be in the same I/O group or different I/O groups.

    Issue this CLI command to list I/O groups:

    lsiogrp -delim :

    This output is displayed:

    id:name:node_count:vdisk_count:host_count
    0:io_grp0:2:0:2
    1:io_grp1:2:0:1
    2:io_grp2:0:0:0
    3:io_grp3:0:0:0
    4:recovery_io_grp:0:0:0
  4. Decide which I/O group you want to assign the volume to. This determines which system nodes in the system process the I/O requests from the host systems. If you have more than one I/O group, make sure you distribute the volumes between the I/O groups so that the I/O workload is shared evenly between all system nodes.
  5. Issue the mkvdisk CLI command to create a volume (that is not a high availability volume) that uses striped virtualization. Use the mkvolume command to create high availability volumes.

    The rate at which the volume copies resynchronize after loss of synchronization can be specified by using the -syncrate parameter. Volume copy resynchronization rates defines the rates. These settings also affect the initial rate of formatting.

    Table 1. Volume copy resynchronization rates
    Syncrate value Data copied per second
    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

    The default setting is 50. The synchronization rate must be set such that the volume copies resynchronize quickly after loss of synchronization.

    Issue this CLI command to create a volume with two copies using the I/O group and storage pool name and specifying the synchronization rate:

    mkvdisk -iogrp io_grp1 -mdiskgrp grpa:grpb -size500 -vtype striped 
    -copies 2 –syncrate 90 

    where io_grp1 is the name of the I/O group that you want the volume to use, grpa is the name of the storage pool for the primary copy of the volume and grpb is the name of the storage pool for the second copy of the volume, and 2 is the number of volume copies and the synchronization rate is 90 which is equivalent to 32MB per second.

    Issue this CLI command to create a volume using the I/O group ID and storage pool ID:

    mkvdisk -name mainvdisk1 -iogrp 0
     -mdiskgrp 0 -vtype striped -size 256 -unit gb

    where mainvdisk1 is the name that you want to call the volume, 0 is the ID of the I/O group that want the volume to use, 0 is the ID of the storage pool that you want the volume to use, and 256 is the capacity of the volume.

    Issue this CLI command to create a thin-provisioned volume using the I/O group and storage pool name:

    mkvdisk  -iogrp io_grp1 -mdiskgrp bkpmdiskgroup -vtype striped
    -size 10 unit gb -rsize 20% -autoexpand -grainsize 32 
     

    where io_grp1 is the name of the I/O group that you want the volume to use and 20% is how much real storage to allocate to the volume, as a proportion of its virtual size. In this example, the size is 10 GB so that 2 GB will be allocated.

    Issue this CLI command to create a volume with two copies using the I/O group and storage pool name:

    mkvdisk -iogrp io_grp1 -mdiskgrp grpa:grpb 
    -size 500 -vtype striped -copies 2

    where io_grp1 is the name of the I/O group that you want the volume to use, grpa is the name of the storage pool for the primary copy of the volume and grpb is the name of the storage pool for the second copy of the volume, and 2 is the number of volume copies.

    Issue this CLI command to create a striped high availability volume:
    mkvolume -pool 0:1 -size 1000
    This creates a volume in storage pool 0 with a capacity of 1000 MBs.
    Issue this CLI command to create an image mode volume:
    mkimagevolume -mdisk 7 -pool 1 -thin -size 25 -unit gb
    This imports a thin-provisioned image mode volume with a virtual capacity of 25 GB in storage pool 1 using MDisk 7.
    Note: If you want to create two volume copies of different types, create the first copy using the mkvdisk command and then add the second copy using the addvdiskcopy command.To create a high availability volume, use the mkvolume command. To convert a basic volume to a high availability volume use the addvolumecopy command.
  6. Issue the lsvdisk CLI command to list all the volumes that have been created.