We have a VMWare image of a server that we use for our developers, so that they can have a local sandbox, that is identical across all the developers. However our developers are spread out across a large area and distribution of this image has been a problem. We would like to distribute it from one of our internet facing servers, what can we do to minimize the size of the image before distribution to limit the download time, and bandwidth costs?
Using VMWare Converter along with vmware-vdiskmanager.exe you can shrink the image. Before doing anything, back up the disk image.
In converter's import wizard, there is an option to resize the volume. Under the New Disk Space column, click the down arrow beside the current size and you can change the volume size:
You can then use vmware-vdiskmanager.exe with the -k switch:
Complete guide found here.
A secondary method you can use is to install a disk imaging application, such as Norton Ghost, into the vm. Make an image, then restore it to a smaller virtual machine later.
For Windows guests, I recommend you run Sysinternals' Sdelete before compacting the virtual hard disk.
This will mark all clusters that are unused as free.
Sdelete is freeware.