意外删除相关快照后从 VMware 快照文件启动

意外删除相关快照后从 VMware 快照文件启动

首先我要说一个显而易见的事实:我很笨。

我目前正在家里对在虚拟机上运行的生产服务器(具体来说是 bitnami redmine/svn 堆栈)进行一些预定的维护。

当我的虚拟磁盘大小达到最大值时,我正在备份 SVN 存储库(我们的存储库太大,这是维护工作)。我检查了 VSphere,发现我的虚拟机已关闭,并显示类似“vmname-00001.vmdk 没有空间”的消息。请尝试清除数据存储上的某些文件,然后重试。

现在,我对虚拟机了解得不够多,但我假定这意味着我的虚拟机正在使用vmname-000001.vmdk。我浏览了数据存储区并准备删除相关-0000n.vmdk文件,但我决定“我对虚拟机了解不够,我可能不应该这样做。”... 就在那时,TeamViewer 出现故障,文件还是被删除了。好家伙。

所以现在我的虚拟机无法启动,因为它缺少其他-00000n.vmdk文件。我收到的错误是The System cannot find the file specified

我能否仅使用最后剩余的-000001.vmdk文件来运行虚拟机?文件上的时间戳-000001.vmdk是昨天的,其他-00000n.vmdk文件的时间戳是去年的(如果相关的话)。

答案1

正如评论中所说;您可以编辑虚拟机的 VMX 文件并将其指向基础磁盘。

但是从您所说的快照来看,它们已经过时了。因此,一旦完成此操作,虚拟机中的数据可能已经太旧而无法使用。但是,您可以恢复您备份的任何内容。至少您可以避免从头开始重建生产服务器。

要重新启动并运行你的虚拟机:

  1. vmname.vmx使用数据存储浏览器下载 VMX 文件(名称应为)

  2. 在修改之前,请先复制一份,以防万一。

  3. 查找包含 的行vmname-00001.vmdk

    例如scsi0:0.fileName = "vmname-00001.vmdk"

  4. 将其更改为scsi0:0.fileName = "vmname.vmdk"vmname.vmdk基础磁盘的名称)

  5. 如果您的虚拟机有多个磁盘,则应该有其他以 开头的行scsiX:Y.filename=。请注意,XY对于每行都是唯一的,基本磁盘名称也是如此。对每个磁盘重复步骤 4,并相应地替换值。

  6. 保存 VMX 文件并将其重新上传到 ESX 服务器。

  7. 现在您的虚拟机应该可以启动了。

注意:在继续操作之前,请确保您确实没有 vmname-00XX.vmdk 文件。按照此过程操作将使这些文件变得无用。

相关内容