我有一台虚拟机似乎工作正常,但是当VMWare DR(或I)尝试创build快照时,它会失败,当我查看虚拟机的摘要页时,它在顶部显示警告,显示磁盘需要巩固。
所以我去虚拟机的快照pipe理器,并select合并(在快照pipe理器中,没有实际列出的快照方式)。 如果这个错误失败:
该虚拟机在其快照树的单个分支中有255个或更多的重做日志。 已达到最大支持限制,将不允许创build新的快照。 要创build新的快照,请删除旧快照或合并重做日志。
如果我浏览数据存储(有足够的可用空间,2TB,这个VM是在40GB以下),在vm文件夹中,我确实看到一堆文件,一直编号到0255:
我怎样才能清理这些? 有没有SSH命令行命令,或者我可以安全地删除一些文件? 谢谢!
这里是关于解决这个问题的KB。 我没有移动工作人员,只是在中间做了几个快照,以获得更易于pipe理的计数,然后使用“合并”…
我做的是以下几点:
谨慎使用,不要盲目复制命令。 您的实际文件名,数字,位置等可能会有所不同。 你应该备份你的数据!
虚拟机仍在运行时:
/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
这会将所有快照合并到快照号。 在consolidate/myvm.vmdk的单个磁盘中创build254个。 我们可以这样做,因为实际写入活动只在myvm-000255.vmdk(磁盘的最后一个快照)上。
请记住,您的实际数字可能会有所不同。
现在closures虚拟机。
从清单中删除VM。
/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改为consolidate/myvm.vmdk的CID条目(在我的情况下,这已经可以,因为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中的合并选项来合并VM已经运行的最后一个增量。
如果一切正常,您可以删除备份文件夹。
一般来说,手动VMWare磁盘编辑的好资源是: http : //sanbarrow.com/vmdk-handbook.html
虽然这不是真正的“修复”,并且可能不适用于生产服务器,但是在过去遇到过这样的问题时,我发现最简单的解决scheme就是使用Vmware转换器v2v这台机器提供了一个相同的机器,每个磁盘只有一个vmdk,并且在虚拟机内而不是在虚拟机pipe理程序级别完成,因此它不知道快照。