无法打开位于 NFS 数据存储中的虚拟机的电源
search cancel

无法打开位于 NFS 数据存储中的虚拟机的电源

book

Article ID: 310107

calendar_today

Updated On:

Products

VMware vSphere ESXi

Issue/Introduction

Symptoms:
免责声明:本文为 Cannot power on a virtual machine located in an NFS datastore (2037507) 的翻译版本。尽管我们会不断努力为本文提供最佳翻译版本,但本地化的内容可能会过时。有关最新内容,请参见英文版本。


  • 无法打开位于 NFS 数据存储中的虚拟机的电源。
  • 打开位于 NFS 数据存储中的虚拟机的电源失败。
  • 您会看到类似以下内容的错误:

    锁定文件失败。无法打开磁盘“/vmfs/volumes/UUID/VM_Name/VM_Name.vmdk”或它所依赖的某个快照磁盘 (Failed to lock the file. Cannot open the disk '/vmfs/volumes/UUID/VM_Name/VM_Name.vmdk' or one of the snapshot disks it depends on)。
  • /vmfs/volumes/datastore_name/virtual_machine_folder/vmware.log 文件包含类似以下内容的条目:

    vmx| DISKLIB-VMFS : "/vmfs/volumes/UUID/VM_Name/VM_Name-flat.vmdk" : failed to open (Failed to lock the file): AIOMgr_Open failed.Type 3
    vmx| DISK: Cannot open disk "/vmfs/volumes/UUID/VM_Name/VM_Name.vmdk": Failed to lock the file (16392).
    vmx| Msg_Post: Error
    vmx| [msg.disk.noBackEnd] Cannot open the disk '/vmfs/volumes/UUID/VM_Name/VM_Name.vmdk' or one of the snapshot disks it depends on.

  • /var/log/vmkernel 文件包含类似以下内容的条目:

    NFSLock: 2819: failed to get lock on file VM_Name.vmdk 0x000000000000 on ip> (ip): Busy
    WARNING: NFSLock: 2128: disk is being locked by other consumer
    NFSLock: 2819: failed to get lock on file <VM_Name>-flat.vmdk 0x000000000000 on ip (ip): Busy


Environment

VMware ESX 4.1.x
VMware ESX 4.0.x
VMware vSphere ESXi 5.1
VMware ESX Server 3.5.x
VMware vSphere ESXi 5.0

Cause

当位于虚拟机文件夹中的 .lck-xxx 文件持有对 vmdk 文件的锁定时,会发生此问题。当 ESXi/ESX 主机访问基于 NFS 的数据存储上的虚拟机磁盘文件时,将在该磁盘文件所在的同一目录中生成 .lck-xxx 锁定文件。该文件可阻止其他 ESXi/ESX 主机访问虚拟磁盘文件。

Resolution

要解决此问题,请删除位于虚拟机文件夹中的 .lck-xxxx 文件。

注意:确保在执行下述步骤之前 vmdk 文件未由其他虚拟机使用。移除有效的 .lck 可能会导致不稳定。

要删除 .lck-xxxx 文件,请执行以下操作:

  1. 确保虚拟机已关闭电源。
  2. 使用 Secure Shell (SSH) 连接到 ESXi/ESX 主机。有关详细信息,请参见 Connecting to an ESX host using a SSH client (1019852)
  3. 通过运行以下命令转到虚拟机文件夹:

    cd /vmfs/volumes/datastore_name/virtual_machine_folder

  4. 通过运行以下命令列出包含隐藏文件的所有文件:

    ls -la

  5. 通过运行以下命令移除锁定文件:

    rm .lck-xxxx

    其中,xxxx 是一系列数字。例如,lck-001455721

    注意:确保虚拟机未在运行。

  6. 打开虚拟机电源。
注意:打开虚拟机电源时,您会看到在虚拟机文件夹中生成一个新的 .lck-xxxx 文件。这是预期行为。


Additional Information

Cannot power on a virtual machine located in an NFS datastore