Azure 批处理池删除失败

本文介绍如何解决 Azure 批处理池删除失败。

方案 1:Batch 池删除快速失败

尝试删除批处理池时,操作会很快失败。 活动日志或Azure 门户通知包含一条错误消息,指示涉及资源锁的两个可能问题之一。

症状 1a

活动日志或通知中会显示以下错误消息:

删除池失败
删除池“pool-name”<时遇到错误,服务器返回“ScopeLocked:范围”/subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.Batch/batchAccounts/<batch-account-mame>/pools/<pool-name> 无法执行删除操作,因为以下范围 () 已锁定:'/subscriptions/<subscription-id>/resourceGroups/<resource-group-name>。> 请删除锁,然后重试。

原因 1a:Batch 帐户资源组已锁定

资源锁已放入批处理帐户的资源组。 此锁可防止完成任何删除操作。

解决方案 1a:首先删除资源组上的资源锁

删除批处理池之前,请删除资源组上的资源锁。

症状 1b

活动日志或通知中会显示以下错误消息:

删除池“pool-name>”<时遇到错误,服务器返回“ScopeLocked:范围'/subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.Batch/batchAccounts/<batch-account-name>/pools/<pool-name>,因为以下范围 () 已锁定:'/subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.Batch/batchAccounts/<batch-account-name>。 请删除锁,然后重试。

原因 1b:Batch 帐户已锁定

资源锁已放入批处理帐户。 此锁可防止完成任何删除操作。

解决方案 1b:首先删除批处理帐户上的资源锁

删除批处理池之前,请删除批处理帐户上的资源锁。

方案 2:尝试删除池后,Batch 池停滞在调整大小模式

尝试池删除操作后,池停滞在调整大小模式,节点状态停滞在“X -> 0”状态。 将显示以下通知:

正在删除池...运行
池当前正在删除。

如果池启用虚拟网络,检查此批处理帐户的活动日志。 如果这些活动日志未显示错误,检查包含该虚拟网络的资源组的活动日志。 你可能会发现以下报告失败之一。

症状 2a

批处理服务无法删除负载均衡器,如以下活动日志条目所示:

范围“/subscriptions/subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.Network/loadBalancers/<guid-azurebatch-cloudserviceloadbalancer>”无法执行删除操作,因为以下范围 () 已锁定:“/subscriptions/<subscription-id>/resourceGroups/<resource-group-name>。< 请删除锁,然后重试。

原因 2a:资源组中的额外网络资源已锁定

创建启用虚拟网络的批处理池时,批处理服务会自动在包含虚拟网络的资源组中创建更多网络资源。 如果删除批处理池或将池大小调整为零节点,批处理服务会尝试删除这些额外的网络资源。 由于资源锁阻止删除这些额外资源的一个或多个,因此池删除无法继续。

解决方案 2a:删除额外网络资源上的资源锁

从包含虚拟网络的资源组中删除资源锁。 大约 20 分钟后,应完全删除该池。

症状 2b

批处理服务无法删除网络安全组 (NSG) ,如以下活动日志条目所示:

无法删除网络安全组 /subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.Network/networkSecurityGroups/<guid-azurebatch-cloudservicenetworksecuritygroup>, 因为它正由以下资源使用:/subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.Network/virtualNetworks/<virtual-network-name>/subnets/<subnet-name>。 若要删除网络安全组,请删除与资源 () 关联。 若要了解如何执行此操作,请参阅 删除网络安全组

原因 2b:批处理创建的资源依赖项已锁定

创建的资源依赖于批处理服务创建的资源。 例如,如果在虚拟网络中创建池,批处理服务会创建 NSG、公共 IP 地址和负载均衡器。 如果在批处理池外部使用这些资源,则在删除该依赖项之前,无法删除该池。 在此示例中,NSG 由另一个子网使用。 这可以防止删除 NSG。 由于 NSG 未删除,因此批处理服务无法完成删除批处理池。

解决方案 2b:取消关联资源依赖项

删除批处理池对在批处理池外部使用的资源的批处理池依赖项。 对于此示例,你将 取消 NSG 与子网的关联。 进行此更改后,批处理服务将在大约 20 分钟后完成删除批处理池。

联系我们寻求帮助

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