实例生命周期

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

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

实例可能具有以下状态:

  • PROVISIONING - 正在为实例分配资源。该实例尚未运行。
  • STAGING - 实例已获取资源且正在准备首次启动。
  • RUNNING - 实例正在启动或运行。一旦实例进入此状态,您便可以连接到该实例。
  • STOPPING - 实例正在停止。这可能是因为用户发出停止实例的请求或发生了故障。这是一种临时状态,实例停止后,该实例将变成 TERMINATED 状态。
  • REPAIRING - 实例正在修复。当实例遇到内部错误时,就可能发生这种情况。在此期间,实例无法使用。成功修复后,实例会恢复到上述状态之一。
  • 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 地址价格
将保留静态外部 IP 地址。 静态外部 IP 将释放回您的项目。
内部 IP/MAC 地址 将保留内部 IP 和 MAC 地址。 将保留内部 IP 和 MAC 地址。 虚拟机删除后,系统将释放内部 IP。
虚拟机元数据 将保留虚拟机元数据。 将保留虚拟机元数据。 虚拟机元数据将随虚拟机一并删除

检查实例状态

每个实例都会通过实例属性报告其状态。如果您的实例出现问题、您刚启动了实例并想要确认其正在运行,或者您想要确认实例已停止,请检查该实例的状态。

列出所有实例及其状态:

gcloud compute instances list
    

描述单个实例的状态:

gcloud compute instances describe example-instance
    

后续步骤