Azure 虚拟机的状态和计费状态

适用于:✔️ Linux VM ✔️ Windows VM ✔️ 灵活规模集 ✔️ 统一规模集

Azure 虚拟机 (VM) 实例经历不同的状态。 有“预配”和“电源”状态。 本文介绍这些状态,并重点介绍客户何时支付实例使用费用。

使用实例视图获取状态

实例视图 API 提供 VM 运行状态信息。 有关详细信息,请参阅虚拟机 - 实例视图

VM 预配状态在 VM 属性 provisioningState 和 InstanceView 中提供(形式略有不同)。 在 VM InstanceView 中,status 数组中将有一个 ProvisioningState/<state>[/<errorCode>] 形式的元素。

若要检索订阅中所有 VM 的电源状态,请使用虚拟机 - 列出所有 API,并将参数 statusOnly 设置为 true

注意

虚拟机 - 列出所有 API 的参数 statusOnly 设置为 true 后,它可以检索订阅中所有 VM 的电源状态。 但在一些罕见的情况下,由于检索过程中的间歇性问题,可能无法获取电源状态。 在这种情况下,我们建议使用同一 API 重试,或者使用 Azure 资源运行状况来检查 VM 的电源状态。

电源状态和计费

电源状态表示 VM 的上一个已知状态。

图表显示了 VM 可以经历的电源状态,如下所述。

下表描述每个实例状态并指示是否会对其收取实例使用费用。

电源状态 说明 计费
Creating 虚拟机正在分配资源。 不计费*
正在启动 虚拟机正在启动。 计费
运行 虚拟机已启动。 此状态是标准工作状态。 计费
正在停止 此状态是运行和停止之间的过渡状态。 计费
已停止 虚拟机已在主机上分配,但未运行。 也称为 PoweredOff 状态或“已停止(已分配)”。 这可能是调用 PowerOff API 操作或从来宾 OS 中调用关闭而导致的。 在 VM 创建期间或从“解除分配”状态启动 VM 时,也可能会暂时看到“已停止”状态 计费
正在解除分配 此状态是运行和解除分配的过渡状态。 不计费*
已解除分配 虚拟机已解除对基础硬件的租用,并且已关闭电源。 这种状态也称为“已停止(已解除分配)”。 不计费*

*某些 Azure 资源(如磁盘网络)仍会继续产生费用。

JSON 中的 PowerState 示例:

        {
          "code": "PowerState/running",
          "level": "Info",
          "displayStatus": "VM running"
        }

预配状态

预配状态是用户在 VM 上启动的控制平面操作的状态。 以下状态独立于 VM 的电源状态。

正在设置状态 说明
Creating 正在创建虚拟机。
更新 虚拟机正在更新到最新模型。 对虚拟机的一些非模型更改,如启动和重启,都属于更新状态。
失败 对虚拟机资源的上次操作未成功。
已成功 对虚拟机资源的上次操作成功。
正在删除 正在删除虚拟机。
迁移 从 Azure Service Manager 迁移到 Azure 资源管理器时显示。

OS 预配状态

OS 预配状态仅适用于使用通用 OS 映像创建的虚拟机。 作为 OS 磁盘附加的专用映像和磁盘不会显示这些状态。 OS 预配状态不会单独显示。 它是 VM instanceView 中预配状态的子状态。 例如 ProvisioningState/creating/osProvisioningComplete

图表显示了 VM 可以经历的 OS 预配状态,如下所述。

OS 预配状态 说明
OSProvisioningInProgress VM 正在运行,并且正在初始化(安装)来宾 OS。
OSProvisioningComplete 此状态是一种短暂的状态。 虚拟机将从此状态快速转换为“成功”。 如果仍在安装扩展,你将继续看到此状态,直到安装完成。
成功 用户发起的操作已完成。
失败 表示操作失败。 有关详细信息和可能的解决方案,请参阅错误代码。

VM 状态故障排除

若要排查特定 VM 状态问题,请参阅排查 Windows VM 部署问题排查 Linux VM 部署问题

有关其他故障排除帮助,请访问 Azure 虚拟机故障排除文档

后续步骤