排查在 Azure 中创建新 Linux 虚拟机时遇到的 Resource Manager 部署问题

尝试创建新的 Azure 虚拟机 (VM) 时,遇到的常见错误是预配失败或分配失败。

  • 当由于准备步骤不当,或者在从门户捕获映像期间选择了错误的设置而导致 OS 映像无法加载时,将发生预配失败。
  • 当群集或区域没有可用的资源或无法支持所请求的 VM 大小时,将发生分配失败。

如果本文未解决你的 Azure 问题,请访问 MSDN 和 CSDN 上的 Azure 论坛。 你可以在这些论坛上发布你的问题。 此外,还可以通过在 Azure 支持站点上选择“获取支持”来发出 Azure 支持请求。

常见问题

以下的最主要问题可能有助于解决你遇到的问题。 若要开始故障排除,请查看以下步骤:

若有其他 VM 部署问题和疑问,请参阅排查 Azure 中的 Linux 虚拟机部署问题

收集活动日志

若要开始故障排除,请收集活动日志,以识别与问题相关的错误。 以下链接包含有关要遵循的过程的详细信息。

查看部署操作

通过查看活动日志管理 Azure 资源

问题:自定义映像;预配错误

当你上传或捕获用作专用 VM 映像的通用化 VM 映像时,将发生预配错误,反之亦然。 前者会导致预配超时错误,后者会导致预配失败。 若要部署自定义映像且不出错,必须确保在捕获过程中映像类型不会更改。

下表列出了通用化和专用映像的可能组合、你会遇到的错误类型,以及需要执行哪些操作来解决错误。

下表列出了可能的 Linux 通用和专用 OS 映像的上传与捕获组合。 使用 Y 表示处理不会有任何错误的组合,使用 N 表示会出现错误的组合。下表提供了有关各种错误的原因和解决方法。

操作系统 上传专用 OS 映像 上传通用 OS 映像 捕获专用 OS 映像 捕获通用 OS 映像
Linux 通用 N1 Y N3 Y
Linux 专用 Y N2 Y N4

Y: 如果 OS 是通用的 Linux,并且是使用通用设置上传和/或捕获的,则不会有任何错误。 同理,如果 OS 是专用的 Linux,并且是使用专用设置上传和/或捕获的,也不会有任何错误。

上传错误:

N1: 如果 OS 是通用的 Linux,但是以专用设置上传的,则会发生预配超时错误,并且 VM 会卡在预配阶段。

N2: 如果 OS 是专用的 Linux,但是以通用设置上传的,则会发生预配失败错误,因为新 VM 是以原始计算机名称、用户名和密码运行的。

解决方法:

若要解决这两个错误,请上传原始 VHD、可用的本地设置、以及与该 OS(通用/专用)相同的设置。 若要以通用设置上传,请记得先运行 -deprovision。

捕获错误:

N3: 如果 OS 是通用的 Linux,但是以专用设置捕获的,则会发生预配超时错误,因为标记为通用的原始 VM 不可用。

N4: 如果 OS 是专用的 Linux,但是以通用设置捕获的,则会发生预配失败错误,因为新 VM 是以原始计算机名称、用户名和密码运行的。 此外,标记为专用的原始 VM 不可用。

解决方法:

若要解决这两个错误,请从门户中删除当前映像,并从当前 VHD 重新捕获映像,其设置与 OS 的设置相同(通用/专用)。

问题:自定义/库/应用商店映像;分配失败

当新的 VM 请求被固定到不支持所请求的 VM 大小、或没有可用空间可处理请求的群集时,便会发生此错误。

原因 1: 群集不支持请求的 VM 大小。

解决方法 1:

  • 使用更小的 VM 大小来重试请求。
  • 如果无法更改请求的 VM 大小:
    • 停止可用性集中的所有 VM。 单击“资源组” > 你的资源组 > “资源” > 你的可用性集 > “虚拟机” > 你的虚拟机 > “停止”。
    • 所有 VM 都停止后,创建所需大小的新 VM。
    • 先启动新 VM,选择每个已停止的 VM,然后单击“启动”。

原因 2: 群集没有可用的资源。

解决方法 2:

  • 稍后重试请求。
  • 如果新 VM 属于不同的可用性集
    • 在不同的可用性集(位于同一区域)中创建新 VM。
    • 将新 VM 添加到同一虚拟网络。

后续步骤

如果在 Azure 中启动已停止的 Linux VM 或调整现有 Linux VM 的大小时遇到问题,请参阅排查在 Azure 中重新启动或调整现有 Linux 虚拟机大小时遇到的 Resource Manager 部署问题

上一篇:MySQL中实现DROP USER if EXISTS `test`,即创建新用户时检测用户是否存在


下一篇:Oracle中创建自增字段方法