我正在使用debian作为源图像使用Google Compute Engine。据我所知,只要实例正在运行,我将按小时收费,无论是否输入。 shutdown -h命令显然将实例置于终止模式,我将不得不再次创建实例。
我的问题是,如何在不终止虚拟机的情况下关闭虚拟机? 这是一个选项吗?
谷歌说: https://developers.google.com/compute/docs/troubleshooting 如果使用sudo shutdown或sudo poweroff关闭实例,则相当于终止它。无法“冻结”实例并在以后重新启动它。如果选择将其关闭,则必须重新创建实例。当一个实例从内部关闭时,它将进入TERMINATED状态但仍会出现在API中(例如列出实例时)。要从列表中删除它,您必须显式删除该实例。但是,TERMINATED实例的正常运行时间不计费。
答案 0 :(得分:15)
我知道这个线程有点旧,但Shutdown/Start
功能现已在开发人员控制台和命令行中引入,因此不再需要创建快照。
文档可用here
答案 1 :(得分:7)
您可以通过以下任何一种方式stop an instance:
gcloud compute instances stop
sudo shutdown
有关详细信息,请参阅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)
最接近的解决方案是在不删除永久磁盘时删除实例。当您需要重新启动实例时,只需使用该磁盘创建一个新实例。您可以选择具有相同特征或不同特征的实例。没关系。