Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

Hi we had some problems with our server filling up because of snapshots then failing to turn on,

I have managed to copy everything across and repair the snapshot descriptor files (hopefully).

The problem is the last snapshot data file in the chain no longer exists.

I have been trying to turn the vm on using Workstation but it gives an error saying it can't find that last file.

What options do I have now?

Vm was created in vmware esxi 4.1 and is an Ubuntu 10.10 64bit vm.

I have tried mounting the vm, but it only mounts the flat file which has really old data on it.

The main .vmdk file contains this, there was 13 snapshots (i know bad), with the 13th one missing.

# Disk DescriptorFile
version=1
encoding="UTF-8"
CID=3fdc2270
parentCID=ffffffff
isNativeSnapshot="no"
createType="vmfs"

# Extent description
RW 1468006400 VMFS "Ubuntu 10.10 64bit-flat.vmdk"

# The Disk Data Base 
#DDB

ddb.toolsVersion = "8290"
ddb.adapterType = "lsilogic"
ddb.thinProvisioned = "1"
ddb.geometry.sectors = "63"
ddb.geometry.heads = "16"
ddb.geometry.cylinders = "16383"
ddb.uuid = "60 00 C2 9b 77 97 73 b0-1a 8a 88 8d 95 86 63 92"
ddb.longContentID = "683825f0bd3ea08938742a933fdc2270"
ddb.virtualHWVersion = "7"
ddb.uuid.image = "cb1659d9-62ae-4869-90ea-9690fa7c9adc"
ddb.uuid.modification = "4fe52ccf-d698-488f-970d-369aa3571eb2"
ddb.uuid.parent = "00000000-0000-0000-0000-000000000000"
ddb.uuid.parentmodification = "57854f45-ab17-44d4-aa0a-92c2ba69128c"
ddb.geometry.biosCylinders = "1024"
ddb.geometry.biosHeads = "255"
ddb.geometry.biosSectors = "63"

The .vmk file

#!/usr/bin/vmware
.encoding = "UTF-8"
config.version = "8"
virtualHW.version = "7"
pciBridge0.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"
vmci0.present = "TRUE"
nvram = "Ubuntu 10.10 64bit.nvram"
virtualHW.productCompatibility = "hosted"
powerType.powerOff = "soft"
powerType.powerOn = "hard"
powerType.suspend = "hard"
powerType.reset = "soft"
displayName = "Ubuntu 10.10 64bit"
extendedConfigFile = "Ubuntu 10.10 64bit.vmxf"
floppy0.present = "TRUE"
numvcpus = "1"
scsi0.present = "TRUE"
scsi0.sharedBus = "none"
scsi0.virtualDev = "lsilogic"
memsize = "500"
scsi0:0.present = "TRUE"
scsi0:0.fileName = "Ubuntu 10.10 64bit-000007.vmdk"
scsi0:0.deviceType = "disk"
ide1:0.present = "TRUE"
ide1:0.fileName = ""
ide1:0.deviceType = "atapi-cdrom"
floppy0.startConnected = "FALSE"
floppy0.fileName = ""
floppy0.clientDevice = "TRUE"
ethernet0.present = "TRUE"
ethernet0.virtualDev = "e1000"
ethernet0.networkName = "VM Network"
ethernet0.addressType = "generated"
svga.autodetect = "TRUE"
chipset.onlineStandby = "FALSE"
guestOS = "ubuntu-64"
uuid.location = "56 4d 2d 91 89 e0 42 a5-51 dc bf 0f 96 37 99 24"
uuid.bios = "56 4d 2d 91 89 e0 42 a5-51 dc bf 0f 96 37 99 24"
vc.uuid = "52 55 6d 32 84 61 28 32-6d 24 ef ed f8 6f ce d6"
snapshot.action = "keep"
sched.cpu.min = "0"
sched.cpu.units = "mhz"
sched.cpu.shares = "normal"
sched.mem.minsize = "0"
sched.mem.shares = "normal"
ide1:0.startConnected = "FALSE"
ethernet0.generatedAddress = "00:0C:29:01:63:A3"
svga.vramSize = "16777216"
vmci0.id = "1610703779"
tools.syncTime = "FALSE"
cleanShutdown = "TRUE"
replay.supported = "FALSE"
unity.wasCapable = "FALSE"
sched.swap.derivedName = "/vmfs/volumes/4cb58377-099d6cba-3e29-f04da206751f/Ubuntu 10.10 64bit/Ubuntu 10.10 64bit-ef71d4e1.vswp"
scsi0:0.redo = ""
pciBridge0.pciSlotNumber = "17"
pciBridge4.pciSlotNumber = "21"
pciBridge5.pciSlotNumber = "22"
pciBridge6.pciSlotNumber = "23"
pciBridge7.pciSlotNumber = "24"
scsi0.pciSlotNumber = "16"
ethernet0.pciSlotNumber = "32"
vmci0.pciSlotNumber = "33"
vmotion.checkpointFBSize = "33554432"
ethernet0.generatedAddressOffset = "0"
hostCPUID.0 = "0000000b756e65476c65746e49656e69"
hostCPUID.1 = "000106a510100800009ce3bdbfebfbff"
hostCPUID.80000001 = "00000000000000000000000128100800"
guestCPUID.0 = "0000000b756e65476c65746e49656e69"
guestCPUID.1 = "000106a500010800809822010febfbff"
guestCPUID.80000001 = "00000000000000000000000128100800"
userCPUID.0 = "0000000b756e65476c65746e49656e69"
userCPUID.1 = "000106a510100800009822010febfbff"
userCPUID.80000001 = "00000000000000000000000128100800"
evcCompatibilityMode = "FALSE"
checkpoint.vmState.readOnly = "FALSE"
checkpoint.vmState = ""
replay.filename = ""
debugStub.linuxOffsets = "0x0,0xffffffff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0"
ide1:0.clientDevice = "TRUE"
scsi0:0.mode = "persistent"
sched.scsi0:0.shares = "normal"
sched.scsi0:0.throughputCap = "none"
vcpu.hotadd = "TRUE"
mem.hotadd = "TRUE"

Sorted by filename

File Name-parent    Actual chain order
1          -4                 main
2          -1                  3
3          -main           11
4          -13                 12
5          -2   
6          -5   
7          -6   
11         -3   
12        -11   


    The missing snapshot is 13
share|improve this question
add comment

2 Answers 2

The snapshot file contains all new data written to disk since the snapshot was took. If you do not have the last snapshot you will lose all data written since the last snapshot. You will need to edit the vmdk file (the small text file, not the *flat.vmdk) and remove the snapshot reference.

share|improve this answer
    
This is the problem, there is no reference to any snapshots in the vmdk file. I have updated the first post with the .vmdk file contents –  user964406 Dec 22 '11 at 1:56
    
Check then the .vmx file. –  Mircea Vutcovici Dec 22 '11 at 2:08
    
I can't see any reference, posted that up as well. It must be seeing the snapshots somehow if it displays that one is missing? –  user964406 Dec 22 '11 at 2:18
    
You have scsi0:0.fileName = "Ubuntu 10.10 64bit-000007.vmdk" in the .vmx file. Is this the lost snapshot? –  Mircea Vutcovici Dec 22 '11 at 2:22
    
Try to change it to the previous snapshot file. Make a backup of all files of the VM before doing any change. –  Mircea Vutcovici Dec 22 '11 at 2:23
show 2 more comments

It is very complicated task. One time I had a same situation. One snapshot was missed. The missed snapshot was one of the very first (made long time ago).

So what I did: I just copied another one snapshot file and renamed it. And it just worked. But maybe I was very lacy...

But it was not ESX/ESXi, it was VMWare Workstation.

And of course make a backup of all files of the VM before doing anything.

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.