为虚拟机删除不再使用的 vmdk 文件失败:设备或资源繁忙 (Device or resource busy)
search cancel

为虚拟机删除不再使用的 vmdk 文件失败:设备或资源繁忙 (Device or resource busy)

book

Article ID: 343726

calendar_today

Updated On:

Products

VMware vSphere ESXi

Issue/Introduction

Symptoms:
免责声明:本文为 Deleting a vmdk file for a virtual machine that is no longer used fails: Device or resource busy (1039362) 的翻译版本。尽管我们会不断努力为本文提供最佳翻译版本,但本地化的内容可能会过时。有关最新内容,请参见英文版本。


  • 对于已删除的虚拟机,在数据存储上有一个虚拟机文件夹。
  • 右键单击虚拟机的虚拟磁盘文件时,删除选项不可用(灰显)。
  • 尝试移除虚拟磁盘文件失败,即使
    • 虚拟磁盘文件上没有锁定。
    • 没有已锁定虚拟磁盘文件的进程。

  • 尝试移除虚拟磁盘文件失败,并显示以下错误:

    设备或资源繁忙 (Device or resource busy)。


Environment

VMware ESX 4.1.x
VMware ESXi 4.1.x Installable
VMware ESXi 4.1.x Embedded
VMware ESX 4.0.x
VMware ESXi 4.0.x Embedded
VMware ESXi 4.0.x Installable

Resolution

备份方法中的某些虚拟机备份解决方案会将虚拟机的虚拟磁盘文件 (.vmdk) 挂载到非 .vmdk 最初所属的虚拟机。发生这种情况时,父虚拟机已删除的 .vmdk 仍会挂载到正在运行的虚拟机。即使该 .vmdk 文件从技术角度而言无法打开,但它仍挂载到备份解决方案的虚拟机。
要解决此问题,您必须找到此 .vmdk 挂载的虚拟机,然后将其卸载。为此,请执行以下操作:
  1. 在数据存储上其他虚拟机的设置文件(.vmx 文件)中搜索对 .vmdk 文件的引用。您可以使用如下命令自动执行搜索:

    find /vmfs/volumes/* -name *.vmx -exec grep -Hi <name-of-the-file.vmdk> {} \;

    其中 <name-of-the-file.vmdk> 是您尝试删除的 .vmdk。

    注意:您需要从可以查看数据存储的每个主机运行此命令,因为除 .vmx 文件运行时所在的主机外,该文件在其他所有主机上均已锁定。

  2. 您找到挂载 .vmdk 的虚拟机后,请将其移除。选择该虚拟机,然后转到编辑设置 > 硬盘 > 移除

从备份虚拟机移除 .vmdk 文件后,您可以使用常规方法删除该文件。


Additional Information

Deleting a vmdk file for a virtual machine that is no longer used fails: Device or resource busy