今天突然一client 说他的vps连不上 于是连接服务器查看vmware,其他启动一切正常,就他这个图标,和别的不太一样,仔细一看,原来是clone出来的,看他的vmdk文件存在且大小都满大的,于是放心了,应该数据都在,只是无法启动,想办法解决即可。但怎么弄就是不能启动,搞了一上午,没办法,找资料,百度、谷歌搜搜搜,没什么管用的,于是只能换关键字了,找了些与vmware clone相关的文章,大概知道clone是分为两种,一个是full的,一个是link的
Full的是完整clone 可以独立使用的 而link的则是要依赖父虚拟机的
举个例子;VM1->FULL CLONE VM2 那么VM2可以完全独立使用,不依赖VM1
VM3->LINK CLONE VM4 那么 VM4要根据VM3存在才可以使用 依赖VM3才可以启动
这次这个就是删除了VM4的父虚拟机,导致当前的子虚拟机无法启动,明白了这点以后那个急呀,没办法了!真没办法,找了好多资料,有人说修改vmdk的cid 将 子虚拟机中的praent.cid和父虚拟机中的cid同步。


可是关键的是我看了日志,启动的父虚拟机vmdk文件已经不存在了,也就是说,没有了父虚拟机,想改也无法修改了,于是我想了一个办法,新建了一个虚拟机,然后将其路径路径创建到原来的父虚拟机目录下,修改子虚拟机中的praent.cid与父虚拟机中的cid一致,但是还是无法启动,没有任何效果,已经到了绝望边境,准备放弃时
看了看其他的,咦,好像还有一台虚拟机也是clone的,我仔细检查了下,发现他可以启动,而且它的父虚拟机vmdk的文件就存在他的目录下,是可用的,于是我立即停止了它的运行,复制了这个父虚拟机vmdk到那个启动不了的父虚拟机目录,打开看看cid,和子的parent.cid值一样的,然后尝试着启动那个一直启动不起来的vps,哈哈,一下子启动起来了,用clent提供的密码正常登陆,数据一个都不少,一个心里大石掉了,想想真是幸运,不然不是无论如何起不来了,那就杯具了

仔细看了下父虚拟机的vmdk,时间是2008年的,看了数据和那个vmdk无关,只需要那个启动就可以了,想想原因,可能是某个同事看服务器磁盘大了,想清理些不需要的文件,看那么旧的文件太久了,给删除了,差点导致不可恢复的错误。
有哪位高手能恢复没有父虚拟机磁盘clone出的子虚拟机,希望可以指点一下,感激不尽!
这次真是幸运了!