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.