![Vmware 缺少最后的快照数据文件,现在怎么办?](https://linux22.com/image/570706/Vmware%20%E7%BC%BA%E5%B0%91%E6%9C%80%E5%90%8E%E7%9A%84%E5%BF%AB%E7%85%A7%E6%95%B0%E6%8D%AE%E6%96%87%E4%BB%B6%EF%BC%8C%E7%8E%B0%E5%9C%A8%E6%80%8E%E4%B9%88%E5%8A%9E%EF%BC%9F.png)
嗨,我们的服务器因为快照而爆满,然后无法打开,
我已设法复制所有内容并修复快照描述符文件(希望如此)。
问题是链中的最后一个快照数据文件不再存在。
我一直尝试使用 Workstation 打开虚拟机,但它出现错误,说找不到最后一个文件。
我现在有什么选择?
Vm 是在 vmware esxi 4.1 中创建的,并且是 Ubuntu 10.10 64 位 vm。
我曾尝试安装虚拟机,但它只安装包含真正旧数据的平面文件。
主.vmdk 文件包含此内容,有 13 个快照(我知道不好),其中第 13 个丢失。
# 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"
.vmk 文件
#!/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"
按文件名排序
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
答案1
快照文件包含自拍摄快照以来写入磁盘的所有新数据。如果您没有最后一个快照,您将丢失自最后一个快照以来写入的所有数据。您需要编辑 vmdk 文件(小文本文件,而不是 *flat.vmdk)并删除快照引用。
答案2
这是一项非常复杂的任务。有一次我遇到了同样的情况。一张快照被遗漏了。这张遗漏的快照是最早的快照之一(很久以前拍摄的)。
所以我做了什么:我只是复制了另一个快照文件并重命名了它。它就起作用了。但也许我太花哨了……
但它不是 ESX/ESXi,而是 VMWare Workstation。
当然,在做任何事情之前请备份虚拟机的所有文件。