实例生命周期

本页面介绍单个虚拟机实例从创建到可能被删除的生命周期。

实例状态是实例生命周期的一部分,实例可以在许多状态间转换。首次创建实例时,Compute Engine 会预配资源以启动实例。接下来,实例进入暂存阶段,准备进行首次启动,这是实例最终启动并被视为正在运行之前的阶段。正在运行的实例可以在其生命周期内重复停止和重新启动。

实例可能具有以下状态:

  • PROVISIONING - 正在为实例分配资源。该实例尚未运行。
  • STAGING - 已获取资源且实例正在准备首次启动。
  • RUNNING - 实例正在启动或运行。实例进入这种状态后,您不久(但不是立即)就可以通过 SSH 登录实例。
  • STOPPING - 实例正在停止。这可能是因为用户发出停止实例的请求或发生了故障。这是一种临时状态,实例停止后,该实例将变成 TERMINATED 状态。
  • TERMINATED - 用户停止了实例,或者实例遇到了故障。您可以重启实例或删除实例。

下图描述了每种实例状态之间的转换:

实例生命周期图

停止或重置实例

如果您不再需要某个实例,但希望保留该实例以备将来使用,可以停止该实例。或者,如果只需擦除实例内存内容或应用状态,可以重置该实例。停止实例时,该实例将进入另一种实例状态 (TERMINATED),而重置实例会使该实例在整个过程中保持 RUNNING 状态。

停止实例

停止实例会导致 Compute Engine 将 ACPI 关闭电源信号发送给该实例。最新的来宾操作系统都被配置为在关闭电源之前执行彻底关闭,以响应关闭电源信号。Compute Engine 会等待片刻以待来宾完成关闭,然后将实例转换为 TERMINATED 状态。

以下情况适用于停止实例时:

  • 您需要为仍附加到虚拟机实例的资源(例如静态 IP 和永久性磁盘数据)付费。
  • 您不需要为正在运行的虚拟机实例付费。
  • 系统会释放实例的临时外部 IP 地址,但当该示例重启时,系统会分配新的临时外部 IP 地址。静态外部 IP 地址会保留。

您可能希望在以下情况下停止实例:

  • 您不希望为当前不需要的实例付费,但希望保留该实例并保留其内部 IP、MAC 地址和永久性磁盘以供将来使用。
  • 您不需要保留来宾虚拟机操作系统内存、设备状态和应用状态。
  • 您希望更改实例的某些属性,例如更改机器类型,但必须首先停止该实例。

需要再次使用时可重启已停止的实例

重置实例

另外,您也可以重置实例以擦除虚拟机实例的内存内容,并将虚拟机重置为其初始状态。重置实例会导致虚拟机立即硬重置;虚拟机不会正常关闭来宾操作系统。但是,虚拟机会保留所有永久性磁盘数据,并且所有实例属性都不会更改。通过重置,实例可以保持 RUNNING 状态。

如果需要清除来宾虚拟机操作系统内存、设备状态或虚拟机应用,请重置实例,以便进行问题排查或将虚拟机恢复到其初始启动状态。

删除实例

删除实例会从项目中移除该实例及其附加的资源,但有一些例外。具体来说,如果磁盘的自动删除状态为 false,则 Compute Engine 会为已删除的实例保留永久性磁盘,并且任何静态外部 IP 都将返回您的项目,以便您再次将该 IP 用于其他资源。删除虚拟机实例是永久性的,因此您无法重启已删除的实例。您可以使用相同的名称和属性重新创建实例,但实际上,Compute Engine 会将此视为具有新属性的新实例(例如,系统生成的新实例 ID)。

如果您目前不需要某个实例,但将来可能需要该实例,请考虑停止该实例,以便日后重启。

对照表

使用下表比较停止、重置和删除实例如何影响实例及其资源:

停止 重置 删除
计费

一旦虚拟机处于 TERMINATED 状态,Google 就不会对虚拟机资源计费。

具体来说,当虚拟机处于 RUNNING 状态并且正在停止(但尚未处于 TERMINATED 状态)时,Google 会对 vCPU、内存、GPU 及本地 SSD 使用量计费。一旦 STOPPING 状态结束并且虚拟机进入 TERMINATED 状态,Google 就会停止对上述资源进行计费。

请记住,仍然附加至 TERMINATED 状态虚拟机的任何其他资源仍会产生费用,例如永久性磁盘、静态外部 IP 地址等。

在重置虚拟机时,Google 会向虚拟机资源收费。

Google 将此虚拟机视为 RUNNING 状态的虚拟机,标准定价适用于此虚拟机以及附加到此虚拟机的所有资源。
Google 不会为已删除的虚拟机资源收费。
虚拟机状态 TERMINATED RUNNING
永久性磁盘 永久性磁盘会被保留,甚至标记为自动删除的永久性磁盘也会被保留。

您将继续支付与已停止的虚拟机关联的永久性磁盘的费用,就像支付未与任何虚拟机关联的永久性磁盘费用一样。
永久性磁盘会被保留,甚至标记为自动删除的永久性磁盘也会被保留。

当虚拟机保持 RUNNING 状态时,您将继续为永久性磁盘付费。
如果将永久性磁盘的自动删除状态设置为 false,则将保留永久性磁盘。
只要磁盘存在于项目中,您就需要继续为永久性磁盘付费。
RAM 和虚拟机状态 重置为开机状态,不保存任何数据。 重置为开机状态,不保存任何数据。
GPU 实例停止后,您不需要为 GPU 支付费用。附加到已停止的实例的 GPU 将不会计入您的项目配额。 根据标准 GPU 价格,GPU 会继续收费。 实例删除后,GPU 将不再收费。
本地 SSD 不受支持。

您无法停止挂接了本地 SSD 的实例。
保留本地 SSD。 本地 SSD 与虚拟机一起被删除。
外部临时 IP 实例停止后,临时 IP 会被释放。但是当该实例重启时,系统会获取新的临时 IP 地址。 实例重置后,临时 IP 会被释放。但是当该实例重启时,系统会获取新的临时 IP 地址。 实例删除后,临时 IP 会被释放。
外部静态 IP 静态外部 IP 会被保留。

分配给已停止实例的静态 IP 将会计费,就像它们未附加到任何实例一样。如需了解详情,请参阅价格页面。
静态外部 IP 会被保留。 静态外部 IP 将释放回您的项目。
内部 IP/MAC 地址 内部 IP 和 MAC 地址将会保留。 内部 IP 和 MAC 地址将会保留。 虚拟机删除后,内部 IP 会被释放。
虚拟机元数据 保留虚拟机元数据。 保留虚拟机元数据。 虚拟机元数据与虚拟机一起被删除

检查实例状态

每个实例都会报告其状态,作为实例属性的一部分。如果您遇到实例问题,如果您刚刚启动实例并希望确认该实例正在运行,或者您希望确认实例已停止,请检查该实例的状态。

列出所有实例及其状态:

gcloud compute instances list

描述单个实例的状态:

gcloud compute instances describe example-instance

后续步骤

此页内容是否有用?请给出您的反馈和评价:

发送以下问题的反馈:

此网页
Compute Engine 文档