我想使用GCE服务器和VNC来运行我编写的一些桌面程序。但是,我不想让GCE服务器一直运行(为了省钱)而且我希望保持我的VNC桌面设置(以节省时间)。似乎最简单的方法是以某种方式休眠GCE实例。有没有办法从脚本或命令行执行此操作?
答案 0 :(得分:5)
我所知道的唯一当前支持的技术是使用可启动的永久磁盘,它比虚拟机更长,因此您可以以适度快速(30秒以下)的启动时间删除并重新启动VM但我不这样做认为这将满足您的需求,因为除非您的应用程序具有内置的,强大的检查点/恢复逻辑,否则您可能无法从桌面上的中断处继续。
另一种解决方法是使用轻量级容器,如Docker,它在设计中内置了暂停/恢复和检查点。您目前无法在Google Compute Engine上运行Docker容器,但我们有兴趣探索Docker在GCE上的潜力,敬请期待。
听起来你真正喜欢的是具有接近瞬时恢复的本机挂起功能,并且对于处于挂起状态的VM没有或非常低的费用。我认为这是一个有趣的想法 - 我已经向Compute Engine工程团队提交了一份内部功能请求,以供将来考虑。
答案 1 :(得分:2)
计算引擎有alpha support for suspending virtual machines。该文件的引用:
gcloud alpha compute instances suspend
用于暂停Google Compute Engine虚拟机。挂起VM相当于睡眠或待机模式:guest虚拟机接收ACPI S3挂起信号,之后所有VM状态都保存到临时存储。实例只能在RUNNING状态下暂停。暂停的实例将处于SUSPENDED状态。
该命令尚未在Compute Engine Web UI中提供,但可以从命令行调用,如:
gcloud alpha compute instances suspend my-vm