VMware Cloud Community
praveensf
Contributor
Contributor

datastore unmap & latency

We often run the datastore unmap process to reclaim the zero's, while we have a powercli script in place to run the unmap's we have had multiple instances where we had latency issues due to the unmap activity. With that being said is there a way to achieve the below algorithm with powershell...

start ds unmap-> monitor ds latency -> kill the unmap process if it exceed certain latency limit else continue to next ds

any help would really appreciated.

Thanks in advance!

0 Kudos
4 Replies
LucD
Leadership
Leadership

Have a look at ESXcli 5.5 UNMAP and PowerCLI script?

On the timeout, wouldn't the WebOperationTimeoutSeconds parameter on the Set-PowerCLIConfiguration allow you to do that?


Blog: lucd.info  Twitter: @LucD22  Co-author PowerCLI Reference

0 Kudos
praveensf
Contributor
Contributor

Hi LucD, Thanks for the response. As I mentioned earlier unmap process is scripted, my question is how do we script the entire process.

choose the ds -> start unmap -> start monitor ds latency(may be multi thread) ->kill the unmap process if it exceed certain latency limit -> if no issues move on to the  next ds

0 Kudos
praveensf
Contributor
Contributor

Hi LucD, Any thoughts about my request? Thanks!

0 Kudos
charlie88
Contributor
Contributor

Did you ever find a way to kill the unmap process? I also want to find out how to do this just in case when running an unmap we need to cancel it. I've done a fair bit of testing with different blocksizes etc so have a good idea of what latency impact is, however I still need an "emergency stop" ability. I'm using ESXi 5.5, currently running the unmap via command line esxcli storage vmfs unmap

I've found the unmap process runs to completion once it's triggered, and the only way to stop it is to restart the host running the command.

VMware KB 2057513 seems to imply CTRL-C will interupt the task, but this doesn't work.

ps -ct | grep esxcli   on the host running the command will list the process that triggered the command, but killing this does not actually stop the unmap activity.


So at present my only option is to ensure I have a host in my cluster with all VMs evacuated. I run the unmap there, then if I need to interupt it I bounce the host. Not ideal by any means.


I realise I'm not using Powercli here, happy to move to that if it gives me a "kill" option.


Thanks.

0 Kudos