How to Remove a TDEV on EMC VMAX
Introduction
So you are doing some cleanup on your VMAX and need to remove a few TDEV volume’s in a Storage Pool and want to free this space to create a new volume or expand an existing volume.
In this post we will detail how to delete a single TDEV volume in a Storage Group. An example of such a configuration is in the case where a single TDEV was mapped and used as a dedicated server volume with no other volumes being present in the Storage Group. Scenario: It this case we are decommissioning a Server and we are reclaiming the space used in the Storage Pool.
Steps to Accomplish:
- Delete the SERVER Masking View
- Remove SERVER volume (TDEV) from Storage group
- Delete the SERVER Storage Group
- Disable read / write on the TDEV
- Unmap the TDEV from the FA ports
- Unbind TDEV from Pool
- META Volume Dissolve
- Delete the Device
In order to view the list of all TDEV’s created in the Pool (SERVER pool):
$ symcfg -sid xxx list -tdev -gb -thin -pool SERVER
List all TDEVs in the system
$ symcfg -sid xxx list -tdev
Delete the SERVER Masking View
List the all the views:
$ symaccess -sid xxx list view
Remove the SERVER_MV Masking View:
$ symaccess -sid xxx delete view -name SERVER_MV
Remove SERVER volume (TDEV) from Storage group
View the details of the storage group SERVER_SG in order to gather the correct dev ID (for example 1234):
$ symaccess -sid xxx list -type STORAGE
$ symaccess –sid xxx show SERVER_SG -type storage
Remove the dev 0234 from the Storage Group:
$ symaccess -sid xxx -name SERVER_SG -type storage remove devs 1234
Delete the SERVER Storage Group
$ symaccess -sid xxx -name SERVER_SG -type storage delete
Disable read / write on the TDEV
$ symdev -sid xxx write_disable 1234
If you require to change the status of all the devices in a SG:
$symsg -sid xxx -sg SG-Name write_disable
Unmap the TDEV from FA ports
$symconfigure -sid xxx -cmd “unmap dev 1234;” preview
$ symconfigure -sid xxx -cmd “unmap dev 1234;” commit
If you require to Unmap a range of devs:
$ symconfigure -sid xxx -cmd “unmap dev 1234:1236;” commit
Unbind TDEV from Pool
$ symconfigure -sid xxx -cmd “unbind tdev 1234 from pool SERVER;” preview
$ symconfigure -sid xxx -cmd “unbind tdev 1234 from pool SERVER;” commit
Check if the Unbind was successful:
$ symcfg -sid xxx list -tdev -gb -thin -pool SERVER
Once the TDEV is unbound all pointers to the data pool are removed and those tracks that were consumed by the TDEV are marked as available space in the SERVER Pool.
If you require to Unbind a range of devs:
$ symconfigure -sid xxx -cmd “unbind tdev 1234:1235 from pool SERVER;”
Dissolve Meta Volume
$ symconfigure -sid xxx -cmd “dissolve meta dev 1234;” preview
$ symconfigure -sid xxx -cmd “dissolve meta dev 1234;” commit
Delete the Device
$ symconfigure -sid xxx -cmd “delete dev 1234;” preview
$ symconfigure -sid xxx -cmd “delete dev 1234;” commit
If you require to Delete a range of devs:
$ symconfigure -sid xxx -cmd “delete dev 1234:1235;” commit
Comfirm Delete was successful:
$ symcfg -sid xxx list -tdev
that is all there is to it. The space has been reclaimed and can be re-allocated.
Would you update it for VMAX3
Hello, the information was really helpful. Do you have steps to Decommission Servers from VMAX. Looking for the correct steps to do this in SymCLI.
Thank you