1. 苏葳的备忘录首页
  2. 软件

VMware删除快照失败,克隆失败后的操作

vmware 快照 克隆VMware的快照并非是一个独立个体,而是作为一个环节穿在一个VMware虚拟机的vmdk文件串中,形成一个链式结构。这种做法是为了节省磁盘空间,毕竟为你的机子做一个快照跟做次系统备份没什么区别了。建立快照时,将前一个环节设为只读,之后的磁盘操作都写入新的vmdk文件中。因此在workstation的快照管理器中删除快照时,就涉及一个各快照的合并问题,理论上,沿快照时间先后逐个删除快照,虽然操作繁琐,但是会最小化使用的额外空间。

本人使用一个最大磁盘空间129G的虚拟机,host操作系统是win7 64位,guest系统是由win xp mode转化而来的一个xp系统,由于对快照功能理解不深,加上工作时要打开几十个窗口,贪图方便在每次关机前保存了快照。结果某天发现占用空间十分巨大,于是用VMware的快照管理器删除多个快照时,却发生了错误。查看虚拟机目录,发现.snapshot文件删掉了,但是对应的vmdk文件却并未删除(即未合并进主vmdk磁盘文件中),错误提示是无权限删除文件,但真正原因或许是合并空间不足也说不定。当删除最新的一个快照文件时,干脆就虚拟机失去了响应(长时间运行不结束),现在回想原因,显然是因为删除最新快照是消耗磁盘空间最大和耗时最长的方法,因为要将快照文件从新到旧合并,最终才合并入原始vmdk中,至少当时的磁盘空间是完全不足以支持这种操作。

随之担心虚拟机的安全问题,一旦系统崩溃,无法访问虚拟磁盘就后果严重了。那么或者在虚拟系统中安装备份软件,象对物理机一样对其进行系统备份,这样做未免有些可笑。另外就是使用VMware本身功能对虚拟机进行备份,似乎对虚拟机作一个full clone是个不错的方法。 于是关闭虚拟机,进行full clone操作,这时,又报了一个不可恢复的错误,IMPLENT未实现之类的,在网上查了查,国外有用户也反映过win7 64位下,win xp mode虚拟机报过此错误,还真是巧。究竟错误原因是因为之前的多个快照问题(似乎有文章说多个快照会对全克隆功能产生影响),还是因为win 7 64和win xp mode虚拟机的特有问题(可能性假似乎不大)?不得而之,如何对虚拟机进行备份就成了当务之急。

一种解决方法是使用了VMware的VCenter Converter服务来解决问题,简而言之,vCenter Converter是一个工具,用来进行各种虚拟机格式之间的转换,比如微软的win xp mode实际就是MS提供的一个vitrual pc格式的虚拟机,当时就是用这个工具将其转为了VMware格式。此时需要再次使用这个工具来进行一次VMware到VMware自身格式的转换了。重要的是,在转换时,可以修改一些目标机的配置。

选择源虚拟机,选择目标虚拟机为VMware 8.0x格式。然后在目标磁盘配置时,指定80G或100G,并选择未预先分配空间或预分配空间格式(推荐第一种,性能更好,且利用磁盘空间更有效)。文件格式和块格式复制时,快格式更快,但文件格式允许重新组织磁盘。这样我们就选择文件格式,以便将多个快照产生的多个虚拟磁盘合并成一个磁盘。另外一些选项也要注意,转换后的虚拟机跟源虚拟机会稍有不同,但之后经过简单设置就能和原虚拟机一致。

经过2-3小时的转换,提示成功,会看到在目标位置出现了一个新的虚拟机,里面有非常干净清爽的两个文件(VMDK磁盘文件和vmx配置文件),VMDK文件大小依预分配和非预分配空间大小而有所不同。 启动新的虚拟机,进行些简单设置(如网络共享方式,原机默认设置是NAT,目标默认会改为桥接,共享驱动器也会默认禁用,需重新在目标虚拟机配置中打开等),然后做一个全克隆试试,成功。做一个快照,然后在快照管理器中删除,成功,关闭虚拟机,做一个磁盘的drfrag,也成功,这些都是在之前的虚拟机上操作不成功的功能,现在都能成功了,简直让老虚拟机焕然一新了。

得出如下心得:

一、快照功能不可滥用,在考虑磁盘空间的情况下谨慎使用,且最好仅使用一个快照,在下次快照之前将前一个快照删除。即使这样使用单快照,多次快照和删除之后也许会增大磁盘空间的占用。

二、每隔一段时间可用全克隆方式对虚拟机备份。和磁盘整理功能类似,由于耗时长,可放在下班之后进行。

三、本次用vCenter Converter方式生成的虚拟机后,前一个虚拟机暂不删除,新虚拟机使用一个月以上再考虑做了克隆之后删除,以后可用clone方式或vCenter Converter方式备份,任何时刻都要保持同时有两个拷贝存在,以防虚拟机的崩溃风险。

补充:今天又做了一次转换,发现NAT模式也是可以设置的,这样几乎就能原样转换出一个新的虚拟机。

原创文章,作者:苏葳,如需转载,请注明出处:https://www.swmemo.com/397.html

发表评论

邮箱地址不会被公开。 必填项已用*标注