sraceman
Contributor
Contributor

Renamed .vmdk file to .old, renamed back, not server won't boot

Hello,

In troubleshooting a disk issue, we tried to remove a virtual disk from booting by renaming the .vdmk to .old.  This appears to not be the right way, so I renamed the file back. Now instead of being recognized as a "Virtual Disk File" by vSphere it is recognized as "File".   And my server won't boot because of this. 

The error when booting in vSphere is:

Task Name: Power On Virtual Machine
Status:  Unable to enumerate all disks.

The disk we renamed and then renamed back was not the primary drive with the Linux OS.  It was only a secondary drive with only backup files. Which makes me wonder why the server wouldn't at least boot with that .

I'd like to remove this disk from trying to load up when the server boots. I did remove it from "Edit Settings" under the virtual machine itself, so now I have just my OS drive and one additional drive I had connected for transferring backups. I'd like the server to boot just like that. Any recommendations?  Thanks in advance, I don't troubleshoot these types of problems often.

 

Labels (3)
0 Kudos
7 Replies
a_p_
Leadership
Leadership

Just to rule this out, is ".vmdx" a typo? Virtual disks have a ".vmdk" extension.

In case you renamed the file back to ".vmdk", then post a complete file listing, i.e. the output of ls -lisa from the VM's folder.

André

0 Kudos
sraceman
Contributor
Contributor

You are correct, that is a typo!  Thank you for pointing that out. I was confusing the .vmx and .vmdk files.

My Virtual Machine config looks like this.  I have a Hard Disk 1, 240GB, and the .vmdk file shown below.  This has the Linux OS.

I have Hard Disk 2 which is mounted solely as file storage, and just holds a few backups. 

sraceman_4-1663446714015.png

 

 

Highlighted is the virtual disk I renamed to .old, then back to .vmdk.  Previously it showed up as a "Virtual Disk" like the others, now it just says "File".

sraceman_1-1663446287368.png

I ended up removing this disk from my VM config to try and get the server to boot.  i don't need that disk to load, just need the current Hard Disk 1 (OS) and Hard Disk 2 (my new backup files) to boot.  But seems my config may be looking for the old hard disk file still?

Here's the complete error I get starting the VM from the task console:

sraceman_2-1663446504496.png

 

Thank you!

 

 

0 Kudos
sraceman
Contributor
Contributor

This looks like the relevant log entry for the boot failure:

2022-09-16T17:11:05.224Z In(05)+ vmx - The parent of this virtual disk could not be opened

2022-09-16T17:11:05.224Z In(05)+ vmx - Cannot open the disk '/vmfs/volumes/601196cc-1b1b5248-5362-14187760ed5f/OPENEMR/OPENEMR_1-000005.vmdk' or one of the snapshot disks it depends on.


2022-09-16T17:11:05.224Z In(05)+ vmx - Module 'Disk' power on failed.
2022-09-16T17:11:05.224Z In(05)+ vmx - Failed to start the virtual machine.

Ideally I would like to just remove this above disk from booting, and have my other two disks boot, and that would solve my issue I think.

 

Also, I see this file above exists, which is good, here's all the OPENEMR_1 files.

sraceman_0-1663447094946.png

But apparently it's not happy that the parent OPENEMR_1.vmdk isn't showing as a Virtual Disk.

 

 

 

0 Kudos
sraceman
Contributor
Contributor

If it's helpful, here's the .vmx file for the virtual server. I don't see any reference to the OPENEMR_1 disk in here, so not sure why it's failing on that.

.encoding = "UTF-8"
displayName = "OPENEMR"
config.version = "8"
virtualHW.version = "18"
vmci0.present = "TRUE"
floppy0.present = "FALSE"
numvcpus = "8"
memSize = "8192"
vm.createDate = "1617407948895952"
scsi0.virtualDev = "lsilogic"
scsi0.present = "TRUE"
sata0.present = "TRUE"
scsi0:0.deviceType = "scsi-hardDisk"
scsi0:0.fileName = "OPENEMR-000005.vmdk"
scsi0:0.present = "TRUE"
sata0:0.startConnected = "FALSE"
sata0:0.deviceType = "cdrom-raw"
sata0:0.clientDevice = "TRUE"
sata0:0.fileName = "emptyBackingString"
sata0:0.present = "TRUE"
guestOS = "ubuntu-64"
uuid.bios = "42 1f 48 fb 22 5f aa 4e-30 62 0c ee 33 3e df 8c"
vc.uuid = "50 1f 99 03 1f b9 e5 fe-c5 c9 a0 0f d1 fe 5b a3"
uuid.location = "56 4d 07 92 72 74 91 c0-5a 11 5f 39 2a 21 6f e6"
vmci0.id = "859758476"
cleanShutdown = "TRUE"
tools.syncTime = "FALSE"
ethernet0.virtualDev = "vmxnet3"
ethernet0.networkName = "Production Network"
ethernet0.addressType = "vpx"
ethernet0.generatedAddress = "00:50:56:9f:8f:2b"
ethernet0.uptCompatibility = "TRUE"
ethernet0.present = "TRUE"
extendedConfigFile = "OPENEMR.vmxf"
sched.scsi0:0.throughputCap = "off"
tools.upgrade.policy = "manual"
sched.cpu.units = "mhz"
sched.cpu.affinity = "all"
sched.cpu.latencySensitivity = "normal"
sched.scsi0:0.shares = "normal"
toolScripts.afterPowerOn = "TRUE"
toolScripts.afterResume = "TRUE"
toolScripts.beforeSuspend = "TRUE"
toolScripts.beforePowerOff = "TRUE"
tools.guest.desktop.autolock = "FALSE"
nvram = "OPENEMR.nvram"
pciBridge0.present = "TRUE"
svga.present = "TRUE"
pciBridge4.present = "TRUE"
pciBridge4.virtualDev = "pcieRootPort"
pciBridge4.functions = "8"
pciBridge5.present = "TRUE"
pciBridge5.virtualDev = "pcieRootPort"
pciBridge5.functions = "8"
pciBridge6.present = "TRUE"
pciBridge6.virtualDev = "pcieRootPort"
pciBridge6.functions = "8"
pciBridge7.present = "TRUE"
pciBridge7.virtualDev = "pcieRootPort"
pciBridge7.functions = "8"
hpet0.present = "TRUE"
cpuid.coresPerSocket = "8"
numa.autosize.cookie = "80082"
numa.autosize.vcpu.maxPerVirtualNode = "8"
sched.swap.derivedName = "/vmfs/volumes/601196cc-1b1b5248-5362-14187760ed5f/OPENEMR/OPENEMR-c26e21b1.vswp"
pciBridge0.pciSlotNumber = "17"
pciBridge4.pciSlotNumber = "21"
pciBridge5.pciSlotNumber = "22"
pciBridge6.pciSlotNumber = "23"
pciBridge7.pciSlotNumber = "24"
scsi0.pciSlotNumber = "16"
vmci0.pciSlotNumber = "33"
sata0.pciSlotNumber = "34"
vmotion.checkpointFBSize = "4194304"
vmotion.checkpointSVGAPrimarySize = "4194304"
vmotion.svga.mobMaxSize = "4194304"
vmotion.svga.graphicsMemoryKB = "4096"
monitor.phys_bits_used = "45"
softPowerOff = "FALSE"
ethernet0.pciSlotNumber = "160"
toolsInstallManager.updateCounter = "3"
tools.remindInstall = "TRUE"
SCSI0:0.ctkEnabled = "TRUE"
ctkEnabled = "TRUE"
migrate.hostLog = "OPENEMR-36533acf.hlog"
sched.cpu.min = "0"
sched.cpu.shares = "normal"
sched.mem.min = "0"
sched.mem.minSize = "0"
sched.mem.shares = "normal"
scsi0:0.redo = ""
toolsInstallManager.lastInstallError = "21004"
scsi0:2.deviceType = "scsi-hardDisk"
scsi0:2.fileName = "OPENEMR_2-000001.vmdk"
scsi0:2.ctkEnabled = "TRUE"
sched.scsi0:2.shares = "normal"
sched.scsi0:2.throughputCap = "off"
scsi0:2.present = "TRUE"
viv.moid = "958ee995-09d1-40bb-a1c8-04512aa2c984:vm-1077:MdlAo6Laxre1ML7gCe627HmALfuLoMZLSlK7GZiOBQ4="
scsi0:2.redo = ""

0 Kudos
IRIX201110141
Champion
Champion

You should paste the output from

ls -alh

and

grep vmdk *.vmx

from the Homedir of your VM.

  1. You have multiple vDisks. 3 in Total?
  2. You have Snapshots
  3. Your Snapshots are a year old

For me the problem is related to Disk OPENMR_1.

  1. The _1 indicates its the base(i hope because you have f*cked up the file names)
  2. The size of the _1 indicates its a data base disk, but it have the wrong FILENAME. Because data disks have the -flat name
  3. You have use the name of the small descriptor file
  4. A vDisk is based of 2 files....  the small descriptor file  like  foo.vmdk and the data part which is foo-flat.vmdk. The descriptor is a human readable ascii file and can be recreated.

 

Edit:

mv OPENMR_1.vmdk OPENMR_1-flat.vmdk
mv OPENMR_1.vmdk.OLD OPENMR_1.vmdk

Take a look into OPENMR_1.vmdk

by using

cat OPENMR_1.vmdk

and it should referrer to the flat.

 

Regards,
Joerg

sraceman
Contributor
Contributor

YES!  That fixed it.  So, the ultimate cause was that I renamed the wrong file originally, that has to be the case. 

Because adding the -flat back to the large file, and renaming the .OLD to .vmdk fixed it and the server boots up just fine. 

THANK YOU Joerg!!!

0 Kudos
IRIX201110141
Champion
Champion

Youre welcome.

0 Kudos