将云服务部署到 Azure 时对 LocationNotFoundForRoleSize 进行故障排除

重要

从 2024 年 9 月 1 日开始,云服务(经典版)对所有客户已停止支持。 从 2024 年 10 月开始,Microsoft 将停止并关闭任何正在运行的现有部署,数据将永久性丢失。 新部署应使用新的基于 Azure 资源管理器的部署模型 Azure 云服务(扩展支持)。

本文故障排除与解决在部署 Azure 云服务(经典)时,虚拟机(VM)大小不可用所导致的分配失败问题。

将实例部署到云服务(经典)或者添加新的 Web 角色或辅助角色实例时,Microsoft 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 southcentralus --size Standard_F --output table

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

使用 PowerShell 列出区域中的 SKU

可以使用 Get-AzComputeResourceSku 命令。

  • 按位置筛选结果。
  • 必须拥有最新版本 PowerShell 才能运行此命令。
  • 有关详细信息,请参阅 解决 SKU 不可用错误 指南。

此命令按位置进行筛选:

Get-AzComputeResourceSku | where {$_.Locations -icontains "centralus"}

查找包含尺寸 Standard_DS14_v2 的位置:

Get-AzComputeResourceSku | where {$_.Locations.Contains("centralus") -and $_.ResourceType.Contains("virtualMachines") -and $_.Name.Contains("Standard_DS14_v2")}

查找包含尺寸 V3 的位置:

Get-AzComputeResourceSku | where {$_.Locations.Contains("centralus") -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": [
        "eastus"
      ],
      "restrictions": []
    },
    {
      "resourceType": "virtualMachines",
      "name": "Standard_A1",
      "tier": "Standard",
      "size": "A1",
      "locations": [
        "eastus"
      ],
      "restrictions": []
    },
      <<The rest of your file is located here>>
  ]
}
    

后续步骤

若要了解更多的分配失败解决方案,并更好地了解分配失败是如何发生的,请执行以下操作:

如果本文未解决 Azure 问题,请访问 MSDN 和 Stack Overflow 上的 Azure 论坛。 可以在这些论坛中发布问题,也可以发布到 X 上的@AzureSupport。还可以提交 Azure 支持请求。 若要提交支持请求,请在 Azure 支持 页上选择“ 获取支持”。