VMware

关注公众号 jb51net

关闭
首页 > 网站技巧 > 服务器 > 云和虚拟化 > VMware > VMware esxi虚拟机磁盘文件被锁导致虚拟机无法开机无法注册

解决VMware esxi虚拟机磁盘文件被锁导致虚拟机无法开机无法注册的故障问题

作者:王大江1018

当用户卸载VMware Tools后,可能会导致虚拟机目录下出现.vmx~和.vmx.lck锁定文件,导致虚拟机无法注册,解决方法包括尝试快照和迁移操作、检查虚拟机磁盘文件是否被锁定、使用VCenter从Inventory中移除虚拟机并杀死占用该虚拟机的进程

故障现象

用户卸载VMware tools后,经过一系列骚操作,导致数据存储中虚拟机目录下有.vmx~和.vmx.lck锁定文件而且.vmx无法注册到虚拟机;

解决办法

1、先尝试对虚拟机进行快照,迁移等操作,看看是直接报错还是会出现在不通esxi主机节点上来回漂移的现象。如果出现来回漂移,那最好先关闭集群中的HA和DRS,以防止将其他vm发生死锁;如果不是来回漂移,就不用关闭了;

2、到数据存储的虚拟机目录看看是不是虚拟机磁盘文件被锁了,如果是,就需要弄清楚是哪台esxi主机把这个虚拟机进行死锁了,通常情况下都是该虚拟机的宿主机;

3、在VCenter中,把被锁的虚拟机从Inventory中remove掉。原因很简单,这是一个 unregister的过程。找到目标主机后,当然是杀死锁住该VM的进程。之所以会被锁,原因就是HA 把VM从别的HOST迁移过来,但是又没有unregister和register的过程,所以在你查看VM的Summary的时候,host ip还是属于出问题的 host。 但是VM又被新的host强行power on,这样自然不能启动。

解决步骤

1、开启所在esxi节点的ssh服务

2、ssh连接到该esxi节点

3、cd到对应的存储目录xia

[root@NXDCVM05:~] cd /vmfs/volumes/Huawei.Storage-2200\ V3/

4、执行vmkfstools -D *.vmx查看被锁定的文件;

5、执行esxcli vm process list或者vmkvsitools lsof | grep 10.4.64.45-Win10-Mes-Oracle12G找出占用该虚拟机的进程;

6、执行kill -9 PID或esxcli vm process kill --type=hard --world-id=6160405干掉进程或强制关机

7、删除XXX.vmx~和XXX.vmx.lck这两个文件(不要删错了,一旦删除错了就悲剧了)

8、重新通过XXX.vmx进行注册虚拟机;

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文