The answer depends on the version of vSphere you've got.
Step 1:First make sure you disable the automatic restart of VM's.
Step 2: enable the SSH console
To create a user in ESX host for using a SSH client:
Log in to the vSphere Client as a root user.
Click Users & Groups.
Right-click on a blank area and click Add.
Enter a username and password. Confirm your password.
Note: Starting in ESX 4.0, the password needs to be at least
8 characters in length.
Select Grant shell access to this user and click OK.
Step 3: log into ssh
Download putty from: http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html
Step 3a (ESX only) Restart the VM client daemon
service mgmt-vmware restart
Step 3b (Esxi only) Restart the VM client daemon
Step 4 Wait for the vSphere client to reconnect
All of your VM's will still be running as before, only the vSphere app will restart.
With it the copy process will stop.
Bonus: a better way to copy
If you have thinly provisioned client, you can use the command-line tool
vmkfstools like so:
vmkfstools -i /vmfs/volumes/path_to_datastore/path_to_source_vm/vmname.vmdk /vmfs/volumes/path_to_dest_datastore/path_to_dest_vm/vmname.vmdk -d thin &
This will clone (
-i) the vmdk file and make sure the destination file is thinly (
-d thin) provisioned. The
& at the end of the command will make sure you get your command prompt back.
It will copy much faster than the GUI copy does, and you can cancel it easier.
canceling a vmkfstools copy
ps |grep vmkfstools
Note down the PID.
Where 12345 is the first number listed on the vmkfstools line.