排查存储资源删除错误

在某些情况下,尝试删除 Azure 资源管理器 部署中的 Azure 存储帐户、容器或 Blob 时,可能会遇到以下错误之一:

无法删除存储帐户“StorageAccountName”。 错误:由于正在使用存储帐户的项目,因此无法删除该存储帐户。

未能从 # 容器 (中删除 #) :
vhds:容器上当前存在租约,请求中未指定租约 ID。

未能删除 # 个 blob 中的 # :
BlobName.vhd:Blob 上当前存在租约,请求中未指定租约 ID。

Azure VM 中使用的 VHD 是 .vhd 文件,作为页 Blob 存储在 Azure 中的标准或高级存储帐户中。 有关 Azure 磁盘的详细信息,请参阅 托管磁盘简介

Azure 会阻止删除附加到 VM 的磁盘,以防止损坏。 它还可防止删除具有附加到 VM 的页 Blob 的容器和存储帐户。

收到以下错误之一时删除存储帐户、容器或 Blob 的过程是:

  1. 标识附加到 VM 的 Blob
  2. 删除具有附加 OS 磁盘的 VM
  3. 从其余 VM () 分离所有数据磁盘 ()

完成这些步骤后,请重试删除存储帐户、容器或 Blob。

步骤 1:标识附加到 VM 的 Blob

方案 1:删除 Blob - 标识附加的 VM

  1. 登录 Azure 门户

  2. 在“中心”菜单上,选择“ 所有资源”。 转到存储帐户,在 “Blob 服务 ”下选择“ 容器”,并导航到要删除的 Blob。

  3. 如果 Blob 租约状态“租用”,则右键单击并选择“ 编辑元数据 ”以打开“Blob 元数据”窗格。

    包含存储帐户 Blob 的门户的屏幕截图。突出显示了“编辑元数据”。

  4. 在“Blob 元数据”窗格中,检查并记录MicrosoftAzureCompute_VMName的值。 此值是 VHD 附加到的 VM 的名称。 (如果此字段不存在,请参阅 重要)

  5. 在“Blob 元数据”窗格中,检查并记录MicrosoftAzureCompute_DiskType的值。 此值标识附加磁盘是 OS 磁盘还是数据磁盘 (如果此字段不存在) ,请参阅 重要

    门户的屏幕截图,其中打开了“存储 Blob 元数据”窗格。

  6. 如果 Blob 磁盘类型为 OSDisk, 请按照 步骤 2:删除 VM 以分离 OS 磁盘。 否则,如果 Blob 磁盘类型为 DataDisk ,请按照 步骤 3:从 VM 分离数据磁盘中的步骤操作。

重要

如果 blob 元数据中未显示 MicrosoftAzureCompute_VMName和MicrosoftAzureCompute_DiskType ,则表示该 blob 已显式租用,并且未附加到 VM。 如果不先中断租约,则无法删除租用的 Blob。 若要中断租约,请右键单击 Blob 并选择“ 中断租约”。 未附加到 VM 的租用 blob 会阻止删除 Blob,但不会阻止删除容器或存储帐户。

方案 2:删除容器 - 标识容器中附加到 VM 的所有 blob ()

  1. 登录 Azure 门户

  2. 在“中心”菜单上,选择“ 所有资源”。 转到存储帐户,在 “Blob 服务 ”下选择“ 容器”,并找到要删除的容器。

  3. 单击以打开容器,其中会显示 Blob 列表。 从此列表中标识 Blob 类型 = 页 blob 和租约状态 = 租用 的所有 Blob。 按照方案 1 来标识与其中每个 Blob 关联的 VM。

    包含存储帐户 Blob 的门户的屏幕截图。突出显示了“租用”的租约状态。

  4. 按照 步骤 2步骤 3 使用 OSDisk 删除 VM () 并分离 DataDisk

方案 3:删除存储帐户 - 标识存储帐户中附加到 VM 的所有 blob ()

  1. 登录 Azure 门户
  2. 在“中心”菜单上,选择“ 所有资源”。 转到存储帐户,在 “Blob 服务 ”下选择“ Blob”。
  3. 在“容器”窗格中,标识租用状态“租用”的所有容器,并为每个租用的容器遵循方案 2
  4. 按照 步骤 2步骤 3 使用 OSDisk 删除 VM () 并分离 DataDisk

步骤 2:删除 VM 以分离 OS 磁盘

如果 VHD 是 OS 磁盘,必须先删除 VM,然后才能删除附加的 VHD。 完成这些步骤后,附加到同一 VM 的数据磁盘无需执行其他操作:

  1. 登录 Azure 门户
  2. 在“中心”菜单上,选择“虚拟机”。
  3. 选择 VHD 附加到的 VM。
  4. 确保没有任何内容正在主动使用虚拟机,并且不再需要该虚拟机。
  5. “虚拟机详细信息 ”窗格顶部,选择“ 删除”,然后单击“ ”进行确认。
  6. 应删除 VM,但可以保留 VHD。 但是,VHD 不应再附加到 VM,也不应在 VM 上具有租约。 释放租约可能需要几分钟时间。 若要验证是否已释放租约,请浏览到 Blob 位置,在 “Blob 属性 ”窗格中,“ 租用状态 ”应为 “可用”。

步骤 3:从 VM 分离数据磁盘

如果 VHD 是数据磁盘,请从 VM 中分离 VHD 以删除租约:

  1. 登录 Azure 门户

  2. 在“中心”菜单上,选择“虚拟机”。

  3. 选择 VHD 附加到的 VM。

  4. “虚拟机详细信息”窗格中选择“磁盘”。

  5. 选择要删除 VHD 附加到的数据磁盘。 可以通过检查 VHD 的 URL 来确定磁盘中附加的 Blob。

  6. 可以通过单击磁盘来验证 Blob 位置,以检查 VHD URI 字段中的路径。

  7. 在“磁盘”窗格顶部选择“编辑”。

  8. 单击要删除的数据磁盘的 分离图标

    磁盘门户的屏幕截图,其中突出显示了要删除的数据磁盘的分离图标。

  9. 选择“保存”。 磁盘现在已从 VM 分离,VHD 不再租用。 释放租约可能需要几分钟时间。 若要验证是否已释放租约,请浏览到 Blob 位置,在 “Blob 属性 ”窗格中,“ 租用状态 ”值应为 “已解锁 ”或“ 可用”。

联系我们寻求帮助

如果你有任何疑问或需要帮助,请创建支持请求联系 Azure 社区支持。 还可以向 Azure 反馈社区提交产品反馈。