vmware esxi 5,无法创建快照且合并失败,如何删除旧的或合并重做日志?

vmware esxi 5,无法创建快照且合并失败,如何删除旧的或合并重做日志?

我有一台似乎运行正常的虚拟机,但是当 VMWare DR(或我)尝试创建快照时,它会失败,并且当我查看虚拟机的摘要页面时,顶部会出现一条警告,显示需要合并磁盘。

因此,我转到虚拟机的快照管理器并选择合并(在快照管理器中,顺便说一下,实际上没有列出快照)。如果失败并出现此错误:

此虚拟机在其快照树的单个分支中拥有 255 个或更多重做日志。已达到支持的最大限制,不允许创建新快照。要创建新快照,请删除旧快照或合并重做日志。

如果我浏览数据存储(它有足够的可用空间,2 TB,而这个虚拟机不到 40gb),在虚拟机文件夹中,我确实会看到一堆文件,编号一直到 0255:

  • myvm-000255-ctk.vmdk
  • myvm-000255-delta.vmdk
  • myvm-000255.vmdk

我该如何清理所有这些?是否有 SSH 命令行命令,或者我可以安全地删除一些文件吗?谢谢!

答案1

以下是关于修复此问题的知识库。我没有调动员工,只是在中间提交了一些快照,以获得更易于管理的数量,然后使用“合并”...

http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=1004545

答案2

我所做的如下:

请谨慎使用,不要盲目复制命令。您的实际文件名、编号、位置等可能会有所不同。您应该备份数据!

当虚拟机仍在运行时:

/vmfs/volumes/XXXXXXXXX/myvm # mkdir consolidate
/vmfs/volumes/XXXXXXXXX/myvm # vmkfstools -e myvm-000254.vmdk 
Disk chain is consistent.
/vmfs/volumes/XXXXXXXXX/myvm # vmkfstools -i myvm-000254.vmdk -d zeroedthick consolidate/myvm.vmdk

这会将快照编号 254 之前的所有快照整合到单个磁盘中consolidate/myvm.vmdk。我们可以这样做,因为实际的写入活动仅在 myvm-000255.vmdk(磁盘的最后一个快照)上进行。

请记住您的实际数字可能会有所不同。

现在关闭虚拟机。

从库存中移除虚拟机。

/vmfs/volumes/XXXXXXXXX/myvm # mkdir backup
/vmfs/volumes/XXXXXXXXX/myvm # mv *.vmdk backup/
/vmfs/volumes/XXXXXXXXX/myvm # cp backup/myvm-000255*.vmdk consoldidate/

编辑consolidate/myvm-000255.vmdk

更改parentCID为 CID 条目consolidate/myvm.vmdk(就​​我而言这已经没问题了,因为vmkfstools -i似乎保留了 CID。)

改变parentFileNameHint

parentFileNameHint="myvm.vmdk"

现在将文件复制consolidate/回原位:

/vmfs/volumes/XXXXXXXXX/myvm # mv consolidate/*.vmdk .
/vmfs/volumes/XXXXXXXXX/myvm # rmdir consolidate
/vmfs/volumes/XXXXXXXXX/myvm # vmkfstools -e myvm-000255.vmdk
Disk chain is consistent.

重新注册您的虚拟机。

启动你的虚拟机。

现在,您可以使用 vSphere Web Client 中的合并选项在虚拟机已运行时合并最后的增量。

如果一切运行正常,您可以删除备份文件夹。

一般来说,手动编辑 VMWare 磁盘的一个好资源是:http://sanbarrow.com/vmdk-handbook.html

答案3

虽然这实际上不算是一种“修复”,而且可能对生产服务器没有用处,但当我过去遇到过类似的问题时,我发现最简单的解决方案就是使用 Vmware 转换器对机器进行 v2v 转换,这为每个磁盘提供了一个相同的机器,并且是通过 VM 内的代理完成的,而不是在虚拟机管理程序级别,因此它不知道快照。

相关内容