西秀岭

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

统计

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

由于公司停电,导致几十台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

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

mv OLDFODER  NEWFODER

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

 Edit settings -->Hard Disk

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

      

 

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

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

    

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

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

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

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

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

 

 

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

 

 

 

 

 

 

 

 

          

posted on   西秀岭  阅读(764)  评论(0编辑  收藏  举报

编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!
点击右上角即可分享
微信分享提示