# vxevac -g testdg c4t5d57 c4t5d58
VxVM vxevac ERROR V-5-2-3565 Cannot evacuate disk; c4t5d57 does not contain subdisks or contains subdisks which are not associated with a volume
vxprint -htg testdg output below shows that there are three subdisks (highlighted) which do not attach to any plexes (also known as floating plex)
# vxprint -g testdg
TY NAME ASSOC KSTATE LENGTH PLOFFS STATE TUTIL0 PUTIL0
dg testdg testdg - - - - - -
dm c4t5d37 c4t5d37s2 - 537624576 - - - -
dm c4t5d38 c4t5d38s2 - 235126784 - - - -
dm c4t5d30 c10t5d30s2 - 134086656 - - - -
dm c4t5d31 c10t5d31s2 - 234749952 - - - -
dm c4t5d57 c10t5d57s2 - 335413248 - - - -
dm c4t5d58 c10t5d58s2 - 335413248 - - - -
sd c4t5d57-01 - ENABLED 10485760 - - - -
sd c4t5d57-03 - ENABLED 1024000 - - - -
sd c4t5d57-04 - ENABLED 103702528 - - - -
v backup fsgen ENABLED 41943040 - ACTIVE - -
pl backup-01 backup ENABLED 41943040 - ACTIVE - -
sd c4t5d31-04 backup-01 ENABLED 10485760 0 - - -
sd c4t5d30s2-05 backup-01 ENABLED 10485760 10485760 - - -
sd c4t5d30s2-08 backup-01 ENABLED 9199088 20971520 - - -
sd c4t5d31-02 backup-01 ENABLED 11772432 30170608 - - -
... snip ...
vxevac command is used for moving "subdisks off the specified Veritas Volume Manager (VxVM) disk (medianamee) to the specified destination disks (new_medianame...). For vxevac command syntax details, please refer to vxevac command manpage.
vxevac command returns VxVM V-5-2-2565 error if there is any floating subdisk exists on the storage unit in which the data is to be evacuated (removed from). This is because the data in a floating subdisk cannot be accessed by any applications so there is no need to evacuate such VxVM objects.
If the floating subdisks are no longer needed, remove them prior running vxevac command.
If the data in the floating subdisks are needed, to fix vxevac command error listed above, the following work around can be implemented:
1. create a temporary plex with a floating subdisk
2. create a temporary volume using the newly created plex
Example:
1.
# vxmake -g testdg plex testvol-01 sd=c4t5d57-01 <<< create a new plex called testvol-01 with sd c4t5d57-01
2.
# vxmake -g testdg vol testvol usetype=fsgen plex=testvol-01 <<< create a new volume called testvol with pl testvol-01
3.
# vxvol -g testdg start testvol <<< startup the volume (optional)
Once all the floating sds (subdisks) are attached to a volume, vxevac will work without error V-5-2-2356