Moving a volume between storage pools

Use the vol_move command to move a volume and all its snapshot from one storage pool to another.

vol_move vol=VolName pool=PoolName [ domain_adjust=<yes|no> ]

Parameters

Name Type Description Mandatory Default
vol Object name Name of the volume to move. Y N/A
pool Object name Name of the storage pool to which to move. Y N/A
domain_
adjust
Boolean Adjust domain resources. If 'domain_adjust' is set to true, the resources of the volume source domain and destination domain are adjusted to accommodate the volume being moved. N no

When moving a master volume from one storage pool to another, all of its snapshots are moved together with it to the destination storage pool.

This command fails when trying to move a snapshot of a volume on its own. This command can fail as a result of either a lack of soft or of hard space.

This command only succeeds if the destination storage pool has enough free storage capacity to accommodate the volume and its snapshots. The exact amount of storage capacity allocated from the destination storage pool is released at the source storage pool.

A volume which belongs to a consistency group cannot be moved without the entire consistency group. You may use Moving Consistency Groups between Storage Pools or or Grouped Pools to move the consistency group itself from one storage pool to another.

A volume that is asynchronously mirrored cannot be moved into a thin provisioning pool.

Example:

vol_move vol=DBLog pool=DBPool

Output:

Command completed successfully.

Access control

User Category Permission
Storage administrator Allowed
Application administrator Disallowed
Security administrator Disallowed
Read-only users Disallowed
Operations administrator Disallowed
Host side accelerator client Disallowed

Return codes

  • VOLUME_BAD_NAME

    Volume name does not exist.

  • POOL_DOES_NOT_EXIST

    Storage pool does not exist.

  • NOT_ENOUGH_SPACE

    No space to allocate volume.

  • NOT_ENOUGH_HARD_SPACE

    No space to allocate for volume's current usage.

  • VOLUME_IS_SNAPSHOT

    Operation is not permitted on snapshots.

  • VOLUME_BELONGS_TO_CG

    Volume belongs to a consistency group.

  • NOT_ENOUGH_SNAPSHOT_SPACE

    Snapshot usage will exceed snapshot limit.

  • OPERATION_DENIED_OBJECT_MANAGED

    This is a managed object. Only the managing software and xiv_maintenance / xiv_development may complete this operation on this object.

  • CANNOT_MOVE_TO_THICK_POOL_VOLUME_HAS_GOLDEN_SNAPSHOTS

    Volume has golden snapshots and therefore cannot be moved to a thick pool.

  • MAPPED_HOSTS_NOT_IN_DESTINATION

    A host that is mapped to a volume in the pool is not associated with the target domain.

  • MAPPED_CLUSTERS_NOT_IN_DESTINATION

    A cluster that is mapped to a volume in the pool is not associated with the target domain.

  • DOMAIN_USED_SCHEDULE_NOT_IN_DESTINATION

    A schedule that is used by a mirror in the pool is not associated with the target domain.

  • DOMAIN_USED_TARGET_NOT_IN_DESTINATION

    A target that is used by mirror in the pool is not associated with the target domain.

  • DOMAIN_MAX_MIRRORS_REACHED

    The domain exceeds the maximum allowed number of mirrors.

  • DOMAIN_MAX_DMS_REACHED

    The domain exceeds the maximum allowed number of data migrations.

  • DOMAIN_MAX_VOLUMES_REACHED

    The domain exceeds the maximum allowed number of volumes.

  • MAX_MIRRORS_REACHED

    Maximum number of mirrors already defined.

  • MAX_DMS_REACHED

    Maximum number of remote volumes (mirror/migration) is already defined.

    Troubleshooting: Delete unnecessary data migration objects.

  • MAX_VOLUMES_REACHED

    Maximum number of volumes is already defined.

  • BOUND_ALUS_NOT_IN_DESTINATION

    An ALU that is bound to a volume in the pool is not associated with the target domain.