将云服务部署到 Azure 时对 LocationNotFoundForRoleSize 进行故障排除
重要
从 2024 年 9 月 1 日开始,已弃用所有客户的云服务(经典版)。 从 2024 年 10 月开始,Microsoft 将停止并关闭任何正在运行的现有部署,数据将永久性丢失。 新部署应使用基于 Azure 资源管理器的新型部署模型 Azure 云服务(外延支持)。
本文介绍了在部署 Azure 云服务(经典)时,对虚拟机 (VM) 大小不可用的分配失败进行故障排除。
将实例部署到云服务(经典)或者添加新的 Web 角色或辅助角色实例时,Azure 会分配计算资源。
在执行这些操作时,甚至在达到 Azure 订阅限制之前,可能会收到错误。
提示
规划服务的部署时,本信息可能也有用。
症状
在 Azure 门户中,导航到你的云服务(经典),并在侧栏中选择“操作日志(经典)”来查看日志。
检查云服务(经典)的日志时,你将看到以下异常:
异常类型 | 错误消息 |
---|---|
LocationNotFoundForRoleSize |
操作“{Operation ID} ”失败:“请求的 VM 层当前不可用于此订阅的区域 ({Region ID} ) 中。 请尝试请求其他层或部署到其他位置。 |
原因
你正在向其中进行部署的区域或群集存在容量问题。 如果选择的资源 SKU(虚拟机大小)不可用于指定区域,则会出现 LocationNotFoundForRoleSize
异常。
查找区域中的 SKU
在这种情况下,你应该选择一个不同的区域或 SKU 进行云服务(经典)部署。 在部署或升级云服务(经典)之前,请确定某个区域或可用性区域中有哪些 SKU 可用。 使用以下 Azure CLI、PowerShell 或 REST API 进程。
使用 Azure CLI 列出区域中的 SKU
你可以使用 az vm list-skus 命令。
- 使用
--location
参数将输出筛选为你正在使用的位置。 - 使用
--size
参数按部分大小名称搜索。 - 有关详细信息,请参阅解决有关 SKU 不可用的错误指南。
此示例命令会产生下列结果:
az vm list-skus --location chinanorth --size Standard_F --output table
使用 PowerShell 列出区域中的 SKU
你可以使用 Get-AzComputeResourceSku 命令。
- 按位置筛选结果。
- 必须拥有最新版本 PowerShell 才能运行此命令。
- 有关详细信息,请参阅解决有关 SKU 不可用的错误指南。
此命令按位置进行筛选:
Get-AzComputeResourceSku | where {$_.Locations -icontains "chinanorth"}
查找包含大小 Standard_DS14_v2
的位置:
Get-AzComputeResourceSku | where {$_.Locations.Contains("chinanorth") -and $_.ResourceType.Contains("virtualMachines") -and $_.Name.Contains("Standard_DS14_v2")}
查找包含大小 V3
的位置:
Get-AzComputeResourceSku | where {$_.Locations.Contains("chinanorth") -and $_.ResourceType.Contains("virtualMachines") -and $_.Name.Contains("v3")} | fc
使用 REST API 列出区域中的 SKU
你可以使用资源 SKU - 列出操作。 它会以下列格式返回可用 SKU 和区域:
{
"value": [
{
"resourceType": "virtualMachines",
"name": "Standard_A0",
"tier": "Standard",
"size": "A0",
"locations": [
"chinanorth"
],
"restrictions": []
},
{
"resourceType": "virtualMachines",
"name": "Standard_A1",
"tier": "Standard",
"size": "A1",
"locations": [
"chinanorth"
],
"restrictions": []
},
<<The rest of your file is located here>>
]
}
后续步骤
若要了解更多的分配失败解决方案,并更好地了解分配失败是如何发生的,请执行以下操作:
如果你有本文未解决的 Azure 问题,请访问 MSDN 和 Stack Overflow 上的 Azure 论坛。 可将问题发布到这些论坛上,或发布到 X 上的 @AzureSupport。还可提交 Azure 支持请求。 若要提交支持请求,请在 Azure 支持页上,选择“获取支持”。