实例在其生命周期中可以在许多实例状态间转换。首次创建实例时,Compute Engine 会预配资源以启动实例。接下来,实例进入暂存阶段,准备进行首次启动,然后实例最终启动并被视为正在运行。正在运行的实例可以在其生命周期内反复停止和重启,也可以反复暂停和恢复。
实例可能具有以下状态:
PROVISIONING
:正在为实例分配资源。实例尚未运行。STAGING
:实例已获取资源且正在准备首次启动。RUNNING
:实例正在启动或运行。实例进入这种状态后,您不久(但不是立即)就应能够通过 SSH 登录实例。STOPPING
:实例正在停止。这可能是因为用户发出停止实例的请求或发生了故障。这是一种临时状态,之后实例将变成TERMINATED
状态。REPAIRING
- 实例正在修复。当实例遇到内部错误或底层机器由于维护而不可用时,就可能发生这种情况。在此期间,实例无法使用。 如果修复成功,则实例会返回上述状态之一。TERMINATED
:用户关停实例,或者实例遇到了故障。您可以选择重启实例或删除实例。SUSPENDING
:实例正在暂停。用户已暂停实例。SUSPENDED
:实例已暂停。您可以选择恢复实例或删除实例。
下图展示了每种实例状态之间的转换:
停止、暂停或重置实例
如果您不再需要某个实例,但希望保留该实例以备将来使用,可以停止或暂停该实例。停止还是暂停实例取决于您是否需要保留实例的客机操作系统内存和应用状态。
以下情况同时适用于暂停和停止实例:
- 您需要为仍关联到虚拟机实例的资源(例如静态 IP 和永久性磁盘数据)付费。
- 您不需要为正在运行的虚拟机实例付费。
- 临时外部 IP 地址从实例中释放,但当该实例重启或恢复时,Google 会分配新的临时外部 IP 地址。静态外部 IP 地址会保留。如果您希望临时外部 IP 地址通过重启保持不变,则应提升临时外部 IP。
停止实例
停止实例会使 Compute Engine 向实例发送 ACPI 关闭信号。最新的客机操作系统被配置为在关闭电源之前执行彻底关闭,以响应关闭电源信号。Compute Engine 会等待片刻以待客机完成关闭,然后将实例转换为 TERMINATED
状态。
您可能希望在以下情况下停止实例:
- 您不希望为当前不需要的实例付费,但希望保留该实例并保留其内部 IP、MAC 地址和永久性磁盘以供将来使用。
- 您不需要保留客机操作系统内存、设备状态和应用状态。
- 您希望更改实例的某些属性,但必须首先停止该实例。
如果需要再次使用已停止的实例,您可以重启该实例。
暂停实例
暂停实例会向实例的操作系统发送 ACPI S3 暂停信号。暂停实例类似于关闭笔记本电脑的盖子,让实例处于暂停状态。暂停实例后,该实例将转换为 SUSPENDED
状态。
您可能希望在以下情况下暂停实例:
- 您目前不需要该实例,但希望能够在其操作系统和应用状态已初始化的情况下快速恢复该实例。
- 您无需付费让 Google 保留虚拟机实例的状态。
当您需要再次使用已暂停的实例时,可以恢复该实例。
重置实例
另外,您也可以重置实例以擦除虚拟机实例的内存内容,并将虚拟机重置为其初始状态。重置实例会导致虚拟机立即硬重置;虚拟机不会正常关闭访客操作系统。但是,虚拟机会保留所有永久性磁盘数据,并且所有实例属性都不会更改。通过重置,实例可以保持 RUNNING
状态。
对照表
使用下表可以比较停止、暂停和重置实例对实例及其资源的影响:
停止 | 暂停 | 重置 | |
---|---|---|---|
结算 | Google 不会对处于 STOPPED 状态的虚拟机资源收费。 |
Google 会对存储已暂停虚拟机的保留状态收费。 | 由于虚拟机在重置时保持 RUNNING 状态,因此 Google 会根据标准虚拟机价格对实例收费。 |
虚拟机状态 | TERMINATED |
SUSPENDED |
RUNNING |
永久性磁盘 | 永久性磁盘会被保留,甚至标记为自动删除的永久性磁盘也会被保留。 您需要为与已停止的虚拟机关联的永久性磁盘付费,就像您需要为未与任何虚拟机关联的永久性磁盘付费一样。 |
永久性磁盘会被保留,甚至标记为自动删除的永久性磁盘也会被保留。 您需要为与已暂停的虚拟机关联的永久性磁盘付费,就像您需要为未与任何虚拟机关联的永久性磁盘付费一样。 |
永久性磁盘会被保留,甚至标记为自动删除的永久性磁盘也会被保留。 只要虚拟机保持 RUNNING 状态,您就需要为永久性磁盘付费。 |
RAM 和虚拟机状态 | 重置为开机状态,不保存任何数据。 | 客机操作系统和应用状态会在实例恢复后得到保留和恢复。 您需要按特定费率为存储保留的数据付费。如需了解详情,请参阅已暂停实例的结算。 |
重置为开机状态,并且不会保存任何数据。 |
GPU | 实例停止后,您不需要为 GPU 付费。 挂接到已停止的实例的 GPU 不会计入您的项目配额。 |
不受支持。 您无法暂停挂接了 GPU 的实例。 |
您需要按标准 GPU 价格付费。 |
本地 SSD | 不受支持。 您无法停止挂接了本地 SSD 的实例。 |
不受支持。 您可以暂停具有本地 SSD 的实例,但必须在该过程中明确舍弃本地 SSD 数据。 |
本地 SSD 会被保留。 |
外部临时 IP | 实例停止后,临时 IP 会被释放。但当该实例重启时,系统会获取新的临时 IP 地址。 | 实例暂停后,临时 IP 会被释放。但当该实例重启时,系统会获取新的临时 IP 地址。 | 实例重置后,临时 IP 会被释放。但当该实例重启时,系统会获取新的临时 IP 地址。 |
外部静态 IP | 静态外部 IP 会被保留。 系统会对分配给已停止实例的静态 IP 收费,就像它们未关联到任何实例一样。如需了解详情,请参阅价格。 |
静态外部 IP 会被保留。 系统会对分配给已停止实例的静态 IP 收费,就像它们未关联到任何实例一样。如需了解详情,请参阅价格。 |
静态外部 IP 会被保留。 |
内部 IP 或 MAC 地址 | 内部 IP 和 MAC 地址会被保留。 | 将保留内部 IP 和 MAC 地址。 | 虚拟机删除后,内部 IP 会被释放。 系统会根据内部 IP 生成 MAC 地址。如果要重复使用 MAC 地址,请设置相同的内部 IP 地址或使用预留的内部 IP。 |
虚拟机元数据 | 将保留虚拟机元数据。 | 虚拟机元数据会被保留。 | 虚拟机元数据会被保留。 |
检查实例状态
每个实例都会报告其状态,作为实例属性的一部分。检查实例的状态:如果实例出现问题、您刚启动了实例并且想要确认其正在运行,或者如果您想要确认实例已暂停或已停止。
列出所有实例及其状态:
gcloud compute instances list
描述单个实例的状态:
gcloud compute instances describe example-instance