如何在不终止实例的情况下停止计算引擎实例?

时间:2013-11-22 20:13:43

标签: google-compute-engine

我正在使用debian作为源图像使用Google Compute Engine。据我所知,只要实例正在运行,我将按小时收费,无论是否输入。 shutdown -h命令显然将实例置于终止模式,我将不得不再次创建实例。

我的问题是,如何在不终止虚拟机的情况下关闭虚拟机? 这是一个选项吗?

谷歌说: https://developers.google.com/compute/docs/troubleshooting 如果使用sudo shutdown或sudo poweroff关闭实例,则相当于终止它。无法“冻结”实例并在以后重新启动它。如果选择将其关闭,则必须重新创建实例。当一个实例从内部关闭时,它将进入TERMINATED状态但仍会出现在API中(例如列出实例时)。要从列表中删除它,您必须显式删除该实例。但是,TERMINATED实例的正常运行时间不计费。

6 个答案:

答案 0 :(得分:15)

我知道这个线程有点旧,但Shutdown/Start功能现已在开发人员控制台和命令行中引入,因此不再需要创建快照。

文档可用here

答案 1 :(得分:7)

您可以通过以下任何一种方式stop an instance

有关详细信息,请参阅instances.stop(),其中包括此对资源的影响以及您可以对已停止的实例执行的操作。

在相关说明中,另请参阅the docs的文档。

答案 2 :(得分:6)

您可以做的是将所有数据保存到硬盘,然后关闭,下次使用相同的磁盘创建实例。

通过以下方式从Web控制台关闭:

Compute Engine > VM INSTANCES > Click on engine name > Delete

有一个复选框说:

Also delete boot disk "instance0"

如果您取消选中该项,则下次为项目创建另一个实例时,您可以选择:

Boot source > Existing persistent disk

然后:

Source disk > Name of project

您的旧磁盘将完好无损。

以这种方式删除实例会将其从实例列表中删除,而执行poweroff时不会立即将其删除。

注意:用于磁盘的永久存储器具有(相对较小的)每月成本。我收取了一些未使用数据的费用,没有任何电子邮件警告。

答案 3 :(得分:5)

  

我的问题是,如何在不终止虚拟机的情况下关闭虚拟机?这是一个选择吗?

不幸的是,你做不到。在关闭时保留实例时,AWS EC2是个例外。即使OpenStack提供商也不支持开箱即用。解决方法是基于所需的快照创建映像,然后基于该映像创建新实例。

答案 4 :(得分:0)

除了rdodev之外,您还可以分离永久磁盘。启动另一个实例时,您可以通过启动脚本检测先前的配置。不太一样,但另类。

答案 5 :(得分:0)

最接近的解决方案是在删除永久磁盘时删除实例。当您需要重新启动实例时,只需使用该磁盘创建一个新实例。您可以选择具有相同特征或不同特征的实例。没关系。