Migrating extents using the CLI
To improve performance, you can migrate extents using the command-line interface (CLI).
About this task
- Migrating data (extents) from one MDisk to another (within the same parent pool). This method can be used to remove highly used MDisks.
- Migrating volumes from one parent pool to another. This method can be used to remove highly used parent pools. For example, you can reduce the use of a pool of MDisks. Child pools that receive their capacity from parent pools, cannot have extents that are migrated to them.
- The source MDisk must not currently be the source MDisk for any other migrate extents operation.
- The destination MDisk must not be the destination MDisk for any other migrate extents operation.
Migration commands fail if the target or source volume is offline, there is no quorum disk defined, or the defined quorum disks are unavailable. Correct the offline or quorum disk condition and reissue the command.
You can determine the use of particular MDisks by gathering input/output (I/O) statistics about nodes, MDisks, and volumes. After you collect this data, you can analyze it to determine which MDisks are used frequently. The procedure then takes you through querying and migrating extents to different locations in the same parent pool. This procedure can only be completed using the command-line interface.
If performance monitoring tools indicate that an MDisk in the pool is being overused, you can migrate data to other MDisks within the same parent pool.
- Determine the number of extents
that are in use by each volume for the MDisk by issuing this CLI command:
This command returns the number of extents that each volume is using on the MDisk. Select some of these extents to migrate within the pool.
- Determine the other MDisks that are in the
- To determine the parent pool
that the MDisk belongs to, issue this CLI command:
lsmdisk mdiskname | ID
- List the MDisks in the pool by issuing this CLI command:
lsmdisk -filtervalue mdisk_grp_name=mdiskgrpname
- To determine the parent pool that the MDisk belongs to, issue this CLI command:
- Select one of these MDisks as the target MDisk for the
extents. You can determine how many free extents exist on an MDisk
by issuing this CLI command:
You can issue the lsmdiskextent newmdiskname command for each of the target MDisks to ensure that you are not just moving the over-utilization to another MDisk. Check that the volume that owns the set of extents to be moved does not already own a large set of extents on the target MDisk.
- For each set of extents, issue this CLI command
to move them to another MDisk: where num_extents is the number of extents on the vdiskid. The newmdiskname | ID value is the name or ID of the MDisk to migrate this set of extents to.
migrateexts -source mdiskname | ID -exts num_extents
-target newmdiskname | ID -threads 4 -vdisk vdiskidNote: The number of threads indicates the priority of the migration processing, where 1 is the lowest priority and 4 is the highest priority.
- Repeat the previous steps for each set of extents that you are moving.
- You can check the progress of the migration by issuing
this CLI command: