Moving large VMDK files to new VM container

Hi All

Hoping someone can help

We have just migrated an existing service from one VM to another using vSphere 6.0. As part of this I needed to unmount the drives which were connected to the old VM and reconnect them to the new VM.

I created the new VM in the same datastore as the old VM and during a quieter period I unmounts the drives and moved the VMDK files over to the new VM container but it ran out of space. It seemed to me that when copying it creates a duplicate and only once its fully copied it recovers the space. My issue is the VMDK files are nearly 4TB and I cant afford to give the datastore another 4TB of space to work with.

These are datastores connected as fibre channel luns on our NetApp array so it be difficult for me to reduce the datastore down and I cant create a new datastore because there is a replication job which runs and if I do this it will need to resync the whole volume which would cause further issues.

Is there any suggestion on how I can move the VMDKs to the new VM container?

Many Thanks


0 Kudos
1 Reply

What I've done in the past in such case, is to move the .vmdk files (note there are two of them for each virtual disk) from the command line. After I moved the files, I also renamed them using the vmkfstools command to avoid confusion.


cd /vmfs/volumes/datastoreX

mv ./oldfolder/old-vdiskname.vmdk ./newfolder/old-vmdiskname.vmdk

mv ./oldfolder/old-vdiskname-flat.vmdk ./newfolder/old-vmdiskname-flat.vmdk

cd newfolder

vmkfstools -E old-vmdiskname.vmdk new-vmdiskname_1.vmdk

(Caution: Make sure that the target filenames aren't already in use, i.e. that you don't overwrite existing files!)


0 Kudos