Reclaim space in HP 3Par SAN & VMware ESXi

Actually, compactcpg is the correct command to use in this case. The form you will want to use is compactcpg <CPG_name> or compactcpg <pattern>

The process itself is automatically run by the 3PAR at regular intervals, so you can wait and the space will eventually be reclaimed by the 3PAR. Or you can manually kick the process off via the 3PAR CLI using the command above.

The other thing to note is that compactcpg is always run as a low priority task so as to not disrupt regular IO operations. This means it can take a few hours or even days for the array to fully reclaim all of the newly freed up space.

More information on this can be found here.

With regards to your question on balancing the chunklets, this is handled automatically by the 3PAR. The 3PAR actually uses five logical data layers:

  • Physical Disk
  • Chunklet
  • Logical Disk (LD)
  • Common Provisioning Group (CPG)
  • Virtual Volumes (VV)

Balancing occurs on each of these layers. That is, the physical disks are physically balanced accross the cages, the chunklets are evenly spread accross the physical disks, the logical disks are balanced accross the pool of available chunklets, and so on.

Incedently, there is also a compactld command in the form of compactld <LD_name> or compactld -pat <pattern> which behaves in largely the same way, but on the Logical Disk layer. However you will want to run compactcpg first before attempting compactld to make the most out of it.