欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  科技

vmWare 虚机文件不能启动的事故处理

程序员文章站 2022-03-24 12:22:23
由于公司停电,导致几十台vmWare虚拟机器启动报错。 错误:Failed to power on virtual machine XXX. Failed to lock the file Click here for more details. 有些场景也会出现下面的错误:Failed to po ......

由于公司停电,导致几十台vmware虚拟机器启动报错。

错误:failed to power on virtual machine xxx. failed to lock the file click here for more details. 

有些场景也会出现下面的错误:failed to power on virtual machine xxx. file system specific implementation of lookupandopen[file] failed click here for more details.

 

原因分析:

这次出错的虚拟机器都是在 vmware esxi 6.5 版本上的, 同样的的5.5版本上的虚拟机没有出现问题。

这次出错的虚拟机都是设置的自动启动的,就是如果来电会自动启动。

这次断电来电也是不稳定,其中来了几次点但是不久就又断电了。估计出错和启动过程中又断电有关。

 

问题解决:

这次问题的解决不完美,只是减少了损失,期间寻找了很多方案。网上找到的资料和方案如下:

https://kb.vmware.com/s/article/1007969?lang=zh_cn

https://communities.vmware.com/thread/589155

https://www.nico-maas.de/?p=1923

上述方案对我们的问题都没有效果,最终自己摸索出了一套方案。

1.将虚拟机从系统中 unregister, 关闭虚拟机,在虚拟机上右键 unregister

vmWare 虚机文件不能启动的事故处理

2.通过 ssh 登入 宿主机,修改测试机器的目录名为一个新名称。

mv oldfoder  newfoder

 如果知道测试机器的目录,可以在 unregister 之前查看磁盘的 diskfile 位置确定,如下:

 edit settings -->hard disk

vmWare 虚机文件不能启动的事故处理

3. 在 ssh 中通过  grep -i  filename *.vmx 查看系统当前使用的是那个磁盘。

      vmWare 虚机文件不能启动的事故处理

 

4. 删除  newfoder 下的   vmx 后缀文件。 

    vmx文件为虚拟机的配置文件,储存着根据虚拟机向导或虚拟机编辑器对虚拟机进行的所有配置。

    vmWare 虚机文件不能启动的事故处理

5.重新创建虚拟机,重新创建的时候,名称不要和以前的一样,新起一个名称,但是虚拟机器的compatibility,guest os family,guest os version 要和之前的虚拟机一样。

 要删除自动产生的磁盘,选择 existing hard disk.  选择 newfoder 下的磁盘。

   如果之前的虚机有做过snapshot ,则newfoder 下会有多个磁盘可以选择。这时就是赌运气的时候,可以尝试选择步骤3中的找到的磁盘,如果运气好的话,可以正常启动,这样就解决了虚机不能启动的问题。

    如果运气不好,不能启动,这时就可以选择其它的盘,来丢掉最后的一个snapshort 盘。

   我在实践的过程中发现,如果只有一个vmdk文件,就是没有做过snapshot,都可以正常回复,如果多个vmdk文件,就是做过snapshot ,则没有找到那些场景下可以成功,那些场景不成功。 

 vmWare 虚机文件不能启动的事故处理

vmWare 虚机文件不能启动的事故处理

 

在出现这个问题的时候,网上找到的资料也比较少,希望这篇文章可以对碰到问题的人提供些帮助。