KB:https://kb.vmware.com/s/article/2110152?lang=zh_CN

在 VMware ESXi 5.5 P05 环境中执行操作期间,您遇到以下问题:
无法对 ESXi 主机执行任何虚拟机操作,例如,打开电源或 vMotion。

该主机上运行的虚拟机所使用的文件被其他进程或主机锁定。

=========================================
Purpose

在某些 VMware ESXi 主机故障场景(例如,PSOD 和 SAN 故障以及停电)中,在该主机上注册的虚拟机所使用的文件已锁定并且不可供其他进程或主机使用。 这会阻止更改虚拟机文件状态的操作(例如,启动或 vMotion),此时便需要在条件允许的情况下跟踪锁定所有者。 本文介绍使用新工具 vmfsfilelockinfo 在 ESXi 5.5 P05 中跟踪锁定所有者的步骤。


Cause

当某个 VMware ESXi 主机锁定一个文件,而另一个遇到问题的主机正在使用该文件或需要使用该文件时,将发生此问题。


Resolution

1、运行 /bin/vmfsfilelockinfo Python 脚本,查找持有锁定的主机的 IP 地址。 该脚本采用以下参数:
要测试的文件。
访问 VMware vCenter Server 的用户名和密码(跟踪 ESX 主机 上 的 MAC 地址)例如:
运行以下命令:

~ # vmfsfilelockinfo -p /vmfs/volumes/iscsi-lefthand-2/VM1/VM1_1-000001-delta.vmdk -v 192.168.1.10 -u administrator@vsphere.local

您将看到类似以下内容的输出:
vmfsflelockinfo Version 1.0
Looking for lock owners on "VM1_1-000001-delta.vmdk"
"VM1_1-000001-delta.vmdk" is locked in Exclusive mode by host having mac address ['xx:xx:xx:xx:xx:xx']
Trying to make use of Fault Domain Manager

Found 0 ESX hosts using Fault Domain Manager.

Could not get information from Fault domain manager
Connecting to 192.168.1.10 with user administrator@vsphere.local
Password: xXxXxXxXxXx

Found 3 ESX hosts from Virtual Center Server.

Searching on Host 192.168.1.178
Searching on Host 192.168.1.179
Searching on Host 192.168.1.180
MAC Address : xx:xx:xx:xx:xx:xx

Host owning the lock on the vmdk is 192.168.1.180, lockMode : Exclusive

Total time taken : 0.27 seconds.
注意:
在启动的虚拟机生命周期期间,它的多个文件将在不同的合法锁定状态之间转换。锁定状态模式表示对文件的锁定类型。锁定模式列表如下所示:

模式 0 = 未锁定
模式 1 = 独占锁定(已启动的虚拟的 VMX 文件、当前使用的磁盘(flat 或 delta)、*vswp 等)
模式 2 = 只读锁定(例如正在运行的虚拟机的 ..-flat.vmdk(带有快照))
模式 3 = 多写入器锁定(例如用于 MSCS 群集磁盘或 FT 虚拟机)。
在持有锁定的主机上运行 lsof 命令并从输出中筛选出相关文件名,以获取持有锁定的进程的名称:

2、 ~ # lsof | egrep 'Cartel|VM1_1-000001-delta.vmdk'

此命令将显示类似以下内容的消息:

Cartel | World name | Type | fd | Description
36202 vmx FILE 80 /vmfs/volumes/556ce175-7f7bed3f-eb72-000c2998c47d/VM1/VM1_1-000001-delta.vmdk

该消息表明文件由 Cartel ID 为 36202 的虚拟机锁定。 现在,通过执行以下命令显示活动 Cartel ID 的列表:

~ # esxcli vm process list

此命令将显示按虚拟机名称分组的活动虚拟机信息,其格式类似于以下示例:

Alternate_VM27
World ID: 36205
Process ID: 0
VMX Cartel ID: 36202
UUID: 56 4d bd a1 1d 10 98 0f-c1 41 85 ea a9 dc 9f bf
Display Name: Alternate_VM27
Config File: /vmfs/volumes/556ce175-7f7bed3f-eb72-000c2998c47d/Alternate_VM27/Alternate_VM27.vmx
Alternate_VM20
World ID: 36207
Process ID: 0
VMX Cartel ID: 36206
UUID: 56 4d bd a1 1d 10 98 0f-c1 41 85 ea a5 dc 94 5f
Display Name: Alternate_VM20
Config File: /vmfs/volumes/556ce175-7f7bed3f-eb72-000c2998c47d/Alternate_VM20/Alternate_VM20.vmx
...

VMX Cartel ID 为 36202 的虚拟机条目显示了持有对文件 VM1_1-000001-delta.vmdk 的锁定的虚拟机的显示名称(在本示例中为 Alternate_VM27)。

3、 关闭持有锁定的虚拟机以解除该锁定。

转载于:https://blog.51cto.com/emcome/2402708

如何确认虚拟机被哪台主机锁定以及如何解锁相关推荐

  1. 虚拟服务器 vmotion,不使用 vMotion 将 VMware 虚拟机从一台主机迁移至另一台主机...

    VMware vMotion 是一项 vSphere 特性,支持您将运行中 VMware 虚拟机从一台主机迁移至另一台主机,同时不对生产环境造成显著影响.VMware vMotion 发布于 2003 ...

  2. 在 vSphere Client(Vcenter 管理中心) 中迁移虚拟机(从一台物理主机迁移到另一台物理主机)

    您可使用热迁移或冷迁移将虚拟机从一个主机或存储位置移至另一位置.例如,您可使用 vMotion 将已打开电源的虚拟机从主机上移开,以便执行维护.平衡负载.并置相互通信的虚拟机.将多个虚拟机分离以最大限 ...

  3. 配置使用4台主机实现12台主机的集群

    一.说明 因为电脑只能开四个虚拟机,于是使用4台虚拟机模拟12台主机. 如下图所示: 图解: 1.四台虚拟机均使用 CentOS 6.5 系统: 2.前端使用 keepalived给haproxy作高 ...

  4. 两台主机的vmware虚拟机相互连通

    场景:当一台宿主机的多个虚拟机需要与同一局域网内的另一台宿主机的多个虚拟机进行互相连通的场景. 方法:通过设置vmware虚拟机的桥接方式来实现. 为了方便区分:我们把两台宿主机分别命名为主机A 和 ...

  5. 主机如何远程另一台主机的虚拟机

    主机如何远程另一台主机的虚拟机 1.虚拟机网络配置 2.配置虚拟机IP地址 3.自己主机可以ping通后,如还是不能远程 1.虚拟机网络配置 网卡名称如图 可以从,控制面板-网络-网络共享中心-点击连 ...

  6. 获取多台主机命令执行结果

    之前在主产品用过一个运维同事写的工具,devpssh.可以通过指定主机列表来执行一条shell命令,然后获取到所有的返回结果,输出到屏幕上. 我个人觉得这个工具很实用,尤其是在有多台Nginx服务器的 ...

  7. 【网络通信与信息安全】之深入解析两台主机之间的通信过程和原理

    一.前言 本文通过在 Docker 容器中执行命令,来深入了解两台主机之间的通信过程.阅读完本文,您将熟悉以下内容: Docker 的基本操作: 创建 socket 并发送 HTTP 请求: 路由表. ...

  8. kvm虚拟机设置万兆网卡_kvm已经设置桥接网卡的虚拟机无法连接宿主机?

    问题描述: 我在一台centos的系统中安装了kvm虚拟机. 现在所有的虚拟机都使用了桥接模式连接网络,并且都可以正常连接外网,相互之间也能正常通信.但是使用过程中发现宿主机无法连接虚拟机. 假定宿主 ...

  9. 怎么用一个显示器来显示和控制两台主机

    要实现用一套键盘鼠标显示器来控制两台主机,方法很简单,只需要一个小型的设备来帮助--两个端口的KVM切换器.两个端口的KVM切换器.KA1302 是一个2口线控USB KVM切换器,使用者可将主装置放 ...

最新文章

  1. Json对象和Json字符串
  2. linux-swappiness参数的作用及设置
  3. android 字符串特殊字符转义
  4. spring学习(23):基础组件
  5. org.attoparser.ParseException: Could not parse as expression: “
  6. spark 2.2 读取 Hadoop3.0 数据异常 org.apache.hadoop.hdfs.web.HftpFileSystem cannot access its superinterfa
  7. 两数之和(Leetcode第1题)
  8. 利用JavaScript实现简单的下拉菜单
  9. java连接mysql url_java连接数据库URL
  10. python做oa系统_浅谈python进行webapp,oa系统开发 (更新中) | 学步园
  11. 【转】详解:oracle10G 数据库名、实例名、ORACLE_SID
  12. 支付宝架构到底有多牛逼?看完这篇你就明白了!
  13. C++11新特性——std::bind参数绑定
  14. 滴滴二面:Kafka是如何读写副本消息的?
  15. [Python人工智能] 九.gensim词向量Word2Vec安装及《庆余年》中文短文本相似度计算
  16. 多目标优化问题的研究概述(Matlab代码实现)
  17. xpath中的position()函数使用
  18. 城市信息学其四—城市新陈代谢
  19. 【django接口自动化1】环境搭建
  20. FlashPro2000.C2000.TDS510.TI编程 器支持大部分TI芯片读写2812.28335等

热门文章

  1. sftp工具都有哪些_公众号怎么排版?公众号排版都会用到哪些工具?
  2. gerber文件_90%的工程师容易忽视(一):PCB输出gerber文件,这样操作才正确!
  3. java静态注解处理器_深入理解Java:注解(Annotation)--注解处理器
  4. jq项目如何启服务_用小项目详解我们应该如何去构建我们的微服务
  5. C语言丨线性表(三):双链表
  6. java实现kmp_java 实现KMP算法
  7. 单片机汇编语言编程_单片机编程用C语言还是汇编?
  8. Spring Security Oauth2 (一) 整体流程介绍
  9. vue 指令 v-if v-else-if v-else
  10. javascript Number object