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 ,则没有找到那些场景下可以成功,那些场景不成功。
在出现这个问题的时候,网上找到的资料也比较少,希望这篇文章可以对碰到问题的人提供些帮助。
下一篇: 揣着毒药上班的曹操大臣,何夔是何许人也?