VMware Cloud Community
tbokman
Contributor
Contributor

General question about VM file structure

I have a few VMs on ESX3i servers where the files are stored in 2 different folders. The VM was named ETGAD01 and in the file system there is a folder ETGAD01 in the datastore with all the files like ETGAD01.nvram, ETGAD01.vmdk, ETGAD01.vmx etc. But there is also a second folder ETGAD01_1 in the same datastore with some same files that start with ETGAD01_1. The VM properties under general options it shows VM config file and working location set to ETGAD01_1. I want to move this VM to another server but would like to have everything in just one folder. How can this be done? Thanks in advance for your help!

0 Kudos
11 Replies
mikemast
Enthusiast
Enthusiast

Sounds like you had a VM at one time with the same name. If you remove a VM from inventory it will keep the files, if you dont delete from disk.

And if you create a new VM with the same name ESX will create a new folder wit a "_1 "after it, showing that is the second instance of the VM, as not to destroy the original files.

You can give the vm a new name and move it and it will put the files into a new folder. If you want to keep the same name, you can delete the original files and them move the new vm to the origanl folder name...

Mike...

0 Kudos
oreeh
Immortal
Immortal

To make sure that this is the case and not a configured workingDir post a list of all the files in the folders.

0 Kudos
mikemast
Enthusiast
Enthusiast

Good call oreeh, also mabe the .vmx file to see where ESX is looking for the files to be.

0 Kudos
oreeh
Immortal
Immortal

That and a thorough inspection of the disk descriptors.

0 Kudos
tbokman
Contributor
Contributor

ETGAD01 folder has .nvram .vmdk .vmsd and .vmx and vmxf (a few .log files also). The ETGAD01_1 has the same files except the .vmdk. I don't understand why the .vmdk file is not in the ETGAD01_1 folder. Can I just copy it there and then change a config file to point to the new location?

0 Kudos
oreeh
Immortal
Immortal

I need the exact file names...

0 Kudos
tbokman
Contributor
Contributor

The file names in the ETGAD01 folder:

ETGAD01.nvram ETGAD01.vmdk ETGAD01.vmsd ETGAD01.vmx ETGAD01.vmxf and a bunch of vmware-xx.log files

The file names in the ETGAD01_1 folder:

ETGAD01_1.nvram ETGAD01_1.vmsd ETGAD01_1.vmx ETGAD01_1.vmxf and a bunch of vmware-xx.log files

0 Kudos
oreeh
Immortal
Immortal

Since you are using ESXi and to make it short...

Post both VMX files and the latest logs (one from every folder)

0 Kudos
tbokman
Contributor
Contributor

ETGAD01.vmx

config.version = "8"

virtualHW.version = "4"

floppy0.present = "true"

nvram = "ETGDC01.nvram"

deploymentPlatform = "windows"

virtualHW.productCompatibility = "hosted"

tools.upgrade.policy = "useGlobal"

powerType.powerOff = "default"

powerType.powerOn = "default"

powerType.suspend = "default"

powerType.reset = "default"

displayName = "Production - ETGAD01x64"

extendedConfigFile = "ETGDC01.vmxf"

numvcpus = "2"

scsi0.present = "true"

scsi0.sharedBus = "none"

scsi0.virtualDev = "lsilogic"

memsize = "4508"

scsi0:0.present = "true"

scsi0:0.fileName = "ETGDC01.vmdk"

scsi0:0.deviceType = "scsi-hardDisk"

ide0:0.present = "true"

ide0:0.fileName = ""

ide0:0.deviceType = "atapi-cdrom"

floppy0.startConnected = "false"

floppy0.clientDevice = "true"

ethernet0.present = "true"

ethernet0.virtualDev = "e1000"

ethernet0.networkName = "VM Network"

ethernet0.addressType = "generated"

chipset.onlineStandby = "false"

guestOSAltName = "Microsoft Windows Server 2008 (64-bit)"

guestOS = "longhorn-64"

uuid.location = "56 4d 47 09 1c bd b7 e8-74 1e bd dd 21 10 1a 01"

uuid.bios = "56 4d 47 09 1c bd b7 e8-74 1e bd dd 21 10 1a 01"

snapshot.action = "keep"

sched.cpu.min = "0"

sched.cpu.units = "mhz"

sched.cpu.shares = "normal"

sched.mem.minsize = "0"

sched.mem.shares = "normal"

toolScripts.afterPowerOn = "true"

toolScripts.afterResume = "true"

toolScripts.beforeSuspend = "true"

toolScripts.beforePowerOff = "true"

scsi0:0.redo = ""

ide0:0.startConnected = "FALSE"

ethernet0.generatedAddress = "00:0c:29:10:1a:01"

tools.syncTime = "FALSE"

sched.swap.derivedName = "/vmfs/volumes/4857cb21-93fdd938-9d82-0030487dfcea/ETGDC01/ETGDC01-8f56ff55.vswp"

ethernet0.generatedAddressOffset = "0"

ide0:0.clientDevice = "TRUE"

ETGAD01_1.vmx

config.version = "8"

virtualHW.version = "4"

floppy0.present = "true"

nvram = "ETGAD01_1.nvram"

deploymentPlatform = "windows"

virtualHW.productCompatibility = "hosted"

tools.upgrade.policy = "useGlobal"

powerType.powerOff = "default"

powerType.powerOn = "default"

powerType.suspend = "default"

powerType.reset = "default"

displayName = "ETGAD01"

extendedConfigFile = "ETGAD01_1.vmxf"

scsi0.present = "true"

scsi0.sharedBus = "none"

scsi0.virtualDev = "lsilogic"

memsize = "2048"

scsi0:0.present = "true"

scsi0:0.fileName = "/vmfs/volumes/3a50e301-06bb6b92-aa15-00151755c378/ETGAD01/ETGDC01.vmdk"

scsi0:0.deviceType = "scsi-hardDisk"

ide0:0.present = "true"

ide0:0.clientDevice = "true"

ide0:0.deviceType = "cdrom-raw"

ide0:0.startConnected = "false"

floppy0.startConnected = "false"

floppy0.clientDevice = "true"

ethernet0.present = "true"

ethernet0.virtualDev = "e1000"

ethernet0.networkName = "VM Network"

ethernet0.addressType = "generated"

chipset.onlineStandby = "false"

guestOSAltName = "Microsoft Windows Server 2008 (64-bit)"

guestOS = "longhorn-64"

uuid.location = "56 4d 98 ff 8c dd df 8d-7f fc 28 84 ff 04 22 18"

uuid.bios = "56 4d 98 ff 8c dd df 8d-7f fc 28 84 ff 04 22 18"

snapshot.action = "keep"

sched.cpu.min = "0"

sched.cpu.max = "17568"

sched.cpu.units = "mhz"

sched.cpu.shares = "normal"

sched.mem.minsize = "0"

sched.mem.shares = "normal"

toolScripts.afterPowerOn = "true"

toolScripts.afterResume = "true"

toolScripts.beforeSuspend = "true"

toolScripts.beforePowerOff = "true"

scsi0:0.redo = ""

ethernet0.generatedAddress = "00:0c:29:04:22:18"

tools.syncTime = "FALSE"

sched.swap.derivedName = "/vmfs/volumes/3a50e301-06bb6b92-aa15-00151755c378/ETGAD01_1/ETGAD01_1-aba39769.vswp"

ethernet0.generatedAddressOffset = "0"

hostCPUID.0 = "0000000d756e65476c65746e49656e69"

guestCPUID.0 = "0000000d756e65476c65746e49656e69"

userCPUID.0 = "0000000d756e65476c65746e49656e69"

hostCPUID.1 = "0001067a00040800040ce3bdbfebfbff"

guestCPUID.1 = "0001067800010800000822010febfbff"

userCPUID.1 = "0001067a00040800000822010febfbff"

hostCPUID.80000001 = "00000000000000000000000120100000"

guestCPUID.80000001 = "00000000000000000000000120100000"

userCPUID.80000001 = "00000000000000000000000120100000"

evcCompatibilityMode = "FALSE"

0 Kudos
oreeh
Immortal
Immortal

Both VMs use the same disk (/vmfs/volumes/3a50e301-06bb6b92-aa15-00151755c378/ETGAD01/ETGDC01.vmdk) - oops.

In this case I'd first make a backup of ALL the files in ALL the folders

and then try and rename the ETGDC01_1 folder.

If the VM still boots fine and has all the data you can delete the ETGDC01_1 folder.

0 Kudos
tbokman
Contributor
Contributor

I ended up using the converter program to move the VM from the old ESXi server to a new ESXi server and it put all the files into one folder on the new server. So now I can see which files were actually used for the VM on the old server.

0 Kudos