更新:查看下面的答案,了解我如何解决这个问题

更新:查看下面的答案,了解我如何解决这个问题

我是一名开发人员,不是 IT 人员,但我目前负责管理我们的服务器。我遇到了一个问题……显然我们的 SQL 备份比我预期的要大得多,周六晚上,我们的 SQL 备份运行后,完全填满了我们的虚拟磁盘。

我无法启动虚拟机,所以我想我只需将驱动器连接到另一台虚拟机,删除旧备份,然后将其重新添加到 SQL 虚拟机即可。但是,当我从另一台虚拟机浏览驱动器时,驱动器上只有少量文件可用。因此,我无法删除旧备份,导致磁盘仍然完全满了。然后我读到一篇文章,其中提到我可以删除快照以释放一些空间。回想起来,这是一件愚蠢的事情,但我还是这么做了。这是我捕获的第一个快照(我不再需要它了)。

因此,现在我有一个 VMDK 和以下错误消息:

自创建子虚拟磁盘以来,父虚拟磁盘已被修改。父虚拟磁盘的内容 ID 与子虚拟磁盘中相应的父内容 ID 不匹配。

在此处输入图片描述

我目前正在努力修复不匹配的 CID,但我仍然不知道如何处理完整的 VMDK...有人能解释一下如何进入该虚拟磁盘并删除一些文件,以便我可以重新配置备份吗?

更新:查看下面的答案,了解我如何解决这个问题

如果您没有时间像我一样解决问题,那么 HopelessN00b 的解决方案是最好的选择(假设您已备份所有内容)。

答案1

此时,从您希望拥有的备份副本中恢复此 VMDK 将变得更快、更容易。 快照是增量磁盘,并且通过删除最早的快照,您可能已经使得之后的快照变得毫无用处。

解开快照链并最终得到一个当前可用的虚拟磁盘可能也可能无法实现,所以……好吧,这是学习经验。将备份、日志或任何可能导致磁盘空间不足的内容推送到非系统磁盘上更为安全,这样您就可以简单地扩展它,而不是尝试安装系统磁盘、释放空间并使其再次可启动。

此外,供将来参考,快照不会占用 VMDK 文件系统内的空间,因此删除它们不会释放 VDMK 内的空间。

答案2

要从虚拟磁盘中删除文件(以释放磁盘空间)...

1)从虚拟机中删除虚拟磁盘:

  • 打开vSphere 客户端
  • 右键点击受影响的虚拟机
  • 在里面硬件选项卡中,选择完整磁盘(“硬盘 #“)从硬件列表中
  • 点击消除
  • 选择从虚拟机中删除 (不要选择“从虚拟机中删除并从磁盘中删除文件”)

2)将虚拟磁盘添加到正在运行的虚拟机:

  • 打开vSphere 客户端
  • 右键点击一个正在工作的虚拟机
  • 在里面硬件选项卡,点击添加 > 硬盘 > 使用现有的... > 选择“完整”虚拟磁盘

3)浏览并删除虚拟磁盘中的文件以释放一些空间

  • 打开正在运行的虚拟机的控制台
  • 浏览到新连接的虚拟磁盘(应该在文件资源管理器中可见)
  • 找到并删除不必要的文件以释放磁盘空间

3b) 如果您没有看到驱动器,请打开磁盘管理

  • 找到“丢失”的驱动器,并将驱动器从离线在线的

修复不匹配的 CID 错误

请参阅 VMware 的指南:

解决 CID 不匹配错误:自创建子虚拟磁盘以来,父虚拟磁盘已被修改(1007969)

基本上,您可以查看 vmware.log 文件以确定它正在寻找什么 CID,然后在无法连接的虚拟磁盘上手动设置该 CID。本指南看起来很吓人,但这个过程非常简单。我使用 Putty 通过 SSH 进入主机,然后使用 vim 更正 .vmdk 文件中的 CID。


为了防止将来发生这种情况,我将在主机上使用更大的驱动器,并且不会将任何虚拟机存储在与虚拟机管理程序相同的驱动器上...

感谢您的帮助。如果有人像我一样遇到此问题,请不要像我一样惊慌失措。请完整阅读错误和相应的知识库文章,并确保保留所有更改的备份(也就是说,不要在没有先备份虚拟机目录的情况下删除快照)。

更新:了解 ESXi/ESX 中的虚拟机快照 (1015180) | VMware KB了解快照的工作原理,如果您需要删除快照,您将省去很多心痛……

答案3

遇到了同样的问题,我的 macVM Mojave 在安装应用程序(RipX)后无法启动,尝试了上述提示,但没有成功...mac diskutil 会说无法修复磁盘损坏,请保存您可以保存的内容

相关内容