排查存储资源删除错误
适用于:✔️ Linux VM ✔️ Windows VM
在某些情况下,在 Azure 资源管理器部署中尝试删除 Azure 存储帐户、容器或 blob 时,可能会遇到下列错误之一:
未能删除存储帐户 "StorageAccountName"。 错误:正在使用存储帐户的项目,因此无法删除该存储帐户。
未能删除 # out of # container(s):
vhds:容器当前存在租约,请求中未指定租约 ID。未能删除 # out of # blob:
BlobName.vhd:Blob 当前存在租约,请求中未指定租约 ID。
Azure VM 中使用的 VHD 是在 Azure 的标准或高级存储帐户中作为页 Blob 存储的 .vhd 文件。 有关 Azure 磁盘的详细信息,请参阅托管磁盘简介。
Azure 阻止删除附加到 VM 的磁盘,以防发生损坏。 它还会阻止删除包含附加到 VM 的页 blob 的容器和存储帐户。
如果收到上述错误之一,请遵循以下过程,删除存储帐户、容器或 blob:
- 发现附加到 VM 的 blob
- 删除附加有 OS 磁盘的 VM
- 将所有数据磁盘与剩余 VM 拆离
完成上述步骤后,重试删除存储帐户、容器或 blob。
第 1 步:发现附加到 VM 的 blob
方案 1:删除 blob - 发现附加 blob 的 VM
登录到 Azure 门户。
在“中心”菜单上,选择“所有资源”。 转到存储帐户,在“Blob 服务”下,选择“容器”,并导航到要删除的 blob。
如果 blob 的“租用状态”为“已租用”,则右键单击并选择“编辑元数据”,打开“blob 元数据”窗格。
在“blob 元数据”窗格中,查看并记录 MicrosoftAzureCompute_VMName 的值。 此值是 VHD 附加到的 VM 名称。 (如果看不到此字段,请参阅“重要提示”)
在“blob 元数据”窗格中,查看并记录 MicrosoftAzureCompute_DiskType 的值。 此值确定了附加磁盘是 OS 磁盘,还是数据磁盘(如果此字段不存在,请参阅“重要提示”)。
如果 blob 磁盘类型为 OSDisk,请按照第 2 步:删除 VM 以拆离 OS 磁盘操作。 否则,如果 blob 磁盘类型为 DataDisk,请按照第 3 步:将数据磁盘与 VM 拆离操作。
重要
如果 blob 元数据中没有 MicrosoftAzureCompute_VMName 和 MicrosoftAzureCompute_DiskType,表明 blob 为显式租用,未附加到 VM。 必须先中断租用,然后才能删除租用的 blob。 若要中断租用,请右键单击 blob 并选择“中断租用”。 如果租用的 blob 未附加到 VM,则会阻止删除 blob,但不会阻止删除容器或存储帐户。
方案 2:删除容器 - 发现容器内附加到 VM 的所有 blob
登录到 Azure 门户。
在“中心”菜单上,选择“所有资源”。 转到存储帐户,在“Blob 服务”下,选择“容器”,并找到要删除的容器。
单击打开容器,列出容器内的 blob。 在列表中发现“blob 类型”为“页 blob”且“租用状态”为“已租用”的所有 blob。 按照方案 1 操作,发现与其中每个 blob 相关联的 VM。
方案 3:删除存储帐户 - 发现存储帐户内附加到 VM 的所有 blob
- 登录到 Azure 门户。
- 在“中心”菜单上,选择“所有资源”。 转到存储帐户,在“blob 服务”下,选择“Blob”。
- 在“容器”窗格中,找到“租用状态”为“已租用”的所有容器,并按照方案 2 对每个状态为“已租用”的容器执行操作。
- 按照第 2 步和第 3 步操作,删除附加有 OSDisk 的 VM,并拆离 DataDisk。
第 2 步:删除 VM 以拆离 OS 磁盘
如果 VHD 为 OS 磁盘,必须先删除 VM,然后才能删除附加的 VHD。 完成以下步骤后,无需对附加到同一 VM 的数据磁盘执行其他任何操作:
- 登录到 Azure 门户。
- 在“中心”菜单上,选择“虚拟机”。
- 选择 VHD 附加到的 VM。
- 确保没有任何对象正主动使用该虚拟机,并确保不再需要该虚拟机。
- 在“虚拟机详细信息”窗格顶部,选择“删除”,再单击“是”进行确认。
- 应删除 VM,但可以保留 VHD。 不过,VHD 不得再附加到 VM,也不得再有租用。 可能需要几分钟才能释放租约。 若要验证租用是否已解除,请转到 blob 位置,再检查“blob 属性”窗格中的“租用状态”是否为“可租用”。
第 3 步:将数据磁盘与 VM 拆离
如果 VHD 是数据磁盘,请从 VM 分离 VHD 以删除租约:
登录到 Azure 门户。
在“中心”菜单上,选择“虚拟机”。
选择 VHD 附加到的 VM。
在“虚拟机详细信息”窗格中,选择“磁盘”。
选择 VHD 附加到的要删除的数据磁盘。 可以检查 VHD 的 URL,从而确定磁盘中附加的 blob。
可以单击磁盘来检查“VHD URI”字段中的路径,从而验证 blob 位置。
选择“磁盘”窗格顶部的“编辑”。
单击要删除的数据磁盘的拆离图标。
选择“保存”。 此时该磁盘将与 VM 分离,并且 VHD 将不再租用。 可能需要几分钟才能释放租约。 若要验证租用是否已解除,请转到 blob 位置,再检查“blob 属性”窗格中的“租用状态”值是否为“已解锁”或“可租用”。
联系我们寻求帮助
如果你有任何疑问或需要帮助,请创建支持请求或联系 Azure 社区支持。 你还可以将产品反馈提交到 Azure 反馈社区。