使用 VMware Server ESXi(免费版)
我有一台虚拟机(win 2k3 r2 服务器)。当我第一次配置它时,我拍摄了它的快照。我最近尝试使用我的标准硬件方法克隆主驱动器以扩展 Windows 磁盘。(使用 knoppix,将驱动器克隆到新驱动器,使其可启动,然后我打算通过 windows 中的 diskpart 扩展分区)。此过程失败;我尝试设置克隆的驱动器(通过 vmware gui)以替换原始驱动器,启动并完成。这不太好。机器从未启动过。我检查了启动顺序、磁盘位置和我通常做的所有基本操作。
为了保险起见,我尝试将所有设置改回原样,这样机器就可以启动到原始驱动器,然后我找到了(我最终找到了)一种更好的磁盘扩展方法。然而,当我使用原始驱动器启动机器时,它又恢复到我创建的初始快照;它丢失了此后的所有更改。
我查看了文件系统并找到了几个文件,我认为这里的密钥文件是名为“delta”的文件,我假设这是我想要的磁盘,但我找不到让虚拟机实际使用该驱动器/文件的方法。当我去添加现有驱动器时,无法添加它。
我是否需要以某种方式将该增量提交到原始驱动器,然后再次从该驱动器启动?您能给我指明正确的方向吗?
后来我发现了使用“vmkfstools”增加驱动器的正确方法,但我需要回到机器的原始状态才能尝试。任何帮助都将不胜感激。
答案1
您可能运气不佳,但如果您没有备份,那么采取结构化的方法来解决这个问题可能会有帮助。
关闭虚拟机后,复制虚拟机文件夹中的所有文件并将它们放在安全的地方,它们可能已损坏,但您需要拥有完整的副本以备重新开始。
从 SSH shell 或使用 SCP 实用程序(如果您使用的是 Windows,Veeam FastSCP 或 Tunnellier 会很方便)找到 VM 文件夹并找到所有带有 .vmdk 扩展名的文件。基本磁盘应该有两个文件(一个名为 VMname1.vmdk 的小描述符文件和一个名为 VMname1-flat.vmdk 的大得多的文件,其中包含实际磁盘数据),每个快照增量都有一对类似的文件(一个名为 VMname1-00001.vmdk 的小描述符和一个名为 VMname1-00001-delta.vmdk 的大文件,其中包含此快照生命周期内对基本磁盘所做的更改)。快照管理文件(VMname.vmsd 文件)中也引用了这些文件,该文件包含有关 VM 上所有活动快照的所有元数据。虚拟机本身的所有设置都存储在 .VMX 文件中,包括(重要的)对其磁盘的当前活动 VMDK 位置的引用 - 这将指向最新的快照增量。
然后,VMware 使用内部 ID(称为 CID)和描述符 VMDK 中称为 ParentFileNameHint 的参数将每个增量链接回其父级(其本身可能是一个增量),直到它到达基础磁盘。单独的增量不是完整的磁盘,它需要链接到其父级的未修改副本才能工作。如果父文件已被修改,您几乎肯定会倒霉。
您可以手动移动增量文件及其相关描述符,并修复丢失内容的情况,但这仅在基础磁盘或任何中间增量未发生任何更改的情况下才有效。所有描述符文件都可以使用文本编辑器进行编辑。
一旦你理解了这一点,你应该阅读SANBarrow 的 CID 链条维修指南这将帮助你弄清楚如何将事物重新缝合在一起(如果它们可以缝合在一起的话)。
最后 - 永远不要依赖快照作为备份。它们不适合此目的,并且在活动时会导致大量额外的 IO 开销。
答案2
通常,增量文件是复制磁盘时创建的文件,也可能是克隆时创建的。增量只是一个一次性文件,用于存储对正在复制的实时 VM(未关闭)所做的所有更改。退出克隆、复制等后,增量(更改)将写回到实时 VM。我认为您无法恢复到增量,因为它有 + 更改。
附注:您正在谈论使用 vmkfstools 扩展磁盘……但这不适用于非动态磁盘,对吗?我很确定您的 diskpart 和/或 vmkfstools 仅适用于动态主磁盘。如果您可以创建一个新磁盘并将其添加到系统中。
答案3
VMware 快照的工作原理是将您从拍摄快照那一刻起的所有更改写入磁盘,并将其写入新文件(增量文件)。当您恢复到快照时,系统只需删除增量文件即可bam,您将回到快照前的状态。如果您删除快照,系统会将所有更改合并到原始文件,如果您很久以前拍摄了快照,则这可能需要很长时间。
您的问题没有特别清楚地说明您对主机上的文件做了什么,但由于听起来系统已经为您恢复了快照,所以您可能运气不佳,因为主机不再认为虚拟机有快照。不过,我会尝试以下方法:
- 实施不依赖快照的备份策略。
- 关闭虚拟机。
- 将所有文件复制到安全的地方。
- 尝试删除快照。
- 看看会发生什么。如果步骤 3 没有达到您想要的效果,请继续执行步骤 5。
- 拍摄新快照。
- 将备份中的所有增量文件复制到步骤 5 创建的增量文件之上。
- 看看会发生什么。如果第 6 步没有达到您的预期,请接受命运并开始尝试恢复您失去的东西。
祝你好运,--杰德