将云服务部署到 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 CLIPowerShellREST API 进程。

使用 Azure CLI 列出区域中的 SKU

你可以使用 az vm list-skus 命令。

  • 使用 --location 参数将输出筛选为你正在使用的位置。
  • 使用 --size 参数按部分大小名称搜索。
  • 有关详细信息,请参阅解决有关 SKU 不可用的错误指南。

此示例命令会产生下列结果:

az vm list-skus --location chinanorth --size Standard_F --output table

屏幕截图显示运行此命令后的 Azure CLI 输出,其中显示可用的 SKU。

使用 PowerShell 列出区域中的 SKU

你可以使用 Get-AzComputeResourceSku 命令。

此命令按位置进行筛选:

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 支持页上,选择“获取支持”。