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>”无法执行删除操作,因为以下范围(s)已锁定:“/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>。 若要删除网络安全组,请删除与资源(s)的关联。 若要了解如何执行此操作,请参阅 “删除网络安全组”。

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

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

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

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

联系我们寻求帮助

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