此文章发布于62
个月前,部分信息可能已经过时
,请自行斟酌确认。
今天在维护一台 Google Cloud VM 虚拟机实例
的时候发现一个很让人郁闷的问题,搜索后发现这个问题非常普遍,并且 Google 在好长时间里一直没有解决这个问题,这感觉不像 Google 的办事风格,一下好感 -3 分。
问题描述
Google Cloud 的 VM 实例在停止后无法再次重启,总是提示以下错误
Starting VM instance "" failed. Error: The zone 'projects//zones/*' does not have enough resources available to fulfill the request. Try a different zone, or try again later.
解决方案
看问题描述似乎是目前资源不够用了,可以换个区域或者过会再试,而事实上你再等我长时间也可能不好使,并且可以尝试一下再新一台 VM 实例
是没有问题的,这说明根本不是资源不够的问题。
终于在这里找到了解决方案,操作也不是很麻烦。
其实不想说,解决方案就是再新开一台 VM 实例
,是不是很坑爹,数据怎么办?没关系,看步骤。
1、基于现有实例创建快照
操作很简单,过程不详细说,如图微酷这里将无法启动的 VM 实例
创建了快照 snapshot-1
。
2、创建映像
映像
可以从快照
创建,那么将上一步建立的快照创建一个映像。微酷这里创建映像名为 image-1
,来源为快照
,来源快照为 snapshot-1
。
3、新建虚拟机实例
创建一个新的 VM 实例,映像选择上面创建的自定义映像 image-1
,启动后发现之前实例的数据全都在。但问题是 IP 怎么办。
微酷是把原来的实例先删除后再新建实例,删除实例后外部 IP 是会被保留的,新建时选择原 IP 即可。
所以以后不敢再随意停止实例了,Google 这个问题真恶心~
参考资料
https://tourcoder.com/get-dbs-from-terminated-vm-of-google-cloud/
我也遇到了同样的问题,经过测试确实是这个区域的地区没有资源了,在创建实例的时候,要选择区域和地区,香港区域下面有abc三个地区,实测a地区ip延迟最低,但是资源总是不够,创建不了实例,而且关了实例,再启动就会提示该地区没有资源。最后努力尝试终于创建成功了。
我遇到的情况是:启动不了旧的,新开是可以的,所以感觉资源还是有的~有点郁闷~