该区域没有足够的资源来满足请求/资源尚未准备好

时间:2018-10-07 01:11:12

标签: google-cloud-platform gcloud

我无法通过网络浏览器启动实例,这给了我错误:

  

“区域'projects / XXXXX / zones / europe-west4-b'没有足够的空间   可用于满足请求的资源。尝试其他区域,或者   请稍后重试。”

我认为一开始可能是配额问题,在检查了配额之后,一切都很好。实际上,我列出了可用的区域,europe-west4-b可用,但是我仍然做出了移动该区域的尝试。然后我尝试了"gcloud compute instances move XXXX --zone europe-west4-b --destination-zone europe-west4-c",但是它仍然失败,并弹出了错误消息:

  

“错误:(gcloud.compute.instances.move)实例在   处于终止状态:

好的,终止了...然后我尝试通过"gcloud compute instances reset XXX"重新启动它,该错误以以下方式显示:

  

错误:(gcloud.compute.instances.reset)无法获取资源:    -资源“项目/ XXXXX /区域/ europe-west4-b / instances / XXX”   还没准备好

我搜索了错误,有些人通过删除磁盘解决了此问题。虽然我不想擦除内存,但如何解决此问题?

顺便说一句,我只有一个实例,并附有一个永久性磁盘。

8 个答案:

答案 0 :(得分:10)

所以我在24小时内遇到了同样的问题。

试图将我的VM移到另一个区域,但是由于它处于终止状态,并且由于我所在的区域没有足够的资源而无法重新启动它,所以我无法将其移动。

好的,但是据我了解,连接到VM的永久磁盘是另一回事,您可以在不启动VM的情况下复制它。

所以我通过以下方法解决了这个问题:

  1. 转到我的Google Cloud Platform >>>计算引擎
  2. 去快照>>>为我的实例创建快照(已复制VM磁盘)
  3. 快照完成后,我单击了快照。
  4. 最终进入“快照详细信息”下。在顶部,只需单击创建实例。在这里,您基本上是用磁盘副​​本创建一个实例。
  5. 选择您的新区域,别忘了连接GPU,所有以前的设置,创建新名称。
  6. 单击“创建”就可以了,图像现在应该在新区域中运行了。

答案 1 :(得分:6)

即使我遇到同样的错误。我已经等了24小时并尝试了。但是仍然没有运气。 对我而言,这不是暂时的。区域“ projects / XXXX / zones / europe-west2-c”没有足够的资源来满足请求。请尝试其他区域,或稍后再试。我必须创建一个全新的实例来对其进行处理。

答案 2 :(得分:5)

首先,很抱歉您遇到此问题,很高兴得知此问题已为您解决。

我们的目标是确保所有区域中都有可用资源。这个 问题类型很少见。当发生这种情况或将要发生这种情况时 发生时,我们的团队会立即得到通知,并对此问题进行调查。

我们建议跨多个区域部署和平衡您的工作负载,或者 减少停电的可能性。请查看our documentation 概述了如何在Google上构建弹性和可扩展的架构 云平台。您已经注意到,在接下来的几个小时内再次尝试解决了您的问题,因为这是暂时性错误。它不会持续很长时间。由于我们的系统是动态的并且始终在扩展,因此在这种情况下,建议您在其他区域中创建实例,或者稍后再尝试在错误消息中已经看到的实例。

此外,我还将建议reviewing this link建议将实例分布在各个区域中以提高可用性。您还可以查看此other link,从中可以找到有关在GCE(Google Compute Engine)上设计功能强大的系统的一些最佳做法。

答案 3 :(得分:1)

正如其他人指出的那样,这会在GCP区域被超额认购时发生,并且通常是暂时的。不过,您可以采取一些措施来防范将来发生的事情。

当区域中的资源不足时,几乎可以肯定不能解决该错误,您可以提前Method details来防止将来发生此错误-有效地保证您使用该资源时需要他们。

当然,当您要求GCP保留计算资源以备将来使用时,您需要为实例预留支付费用,就好像它是一个完全运行的实例一样(但是在实例实际运行时无需额外付费) )。他们还像其他VM实例一样有Understanding what to do when type-safe model accessors are not availableReserving Zonal Resources折扣。

您可以保留的内容有很多可配置性,但是用于保留单个实例的最小gcloud命令可能看起来像这样:

<iostream>

并在完成后将其删除:

std::pair

您也可以通过控制台在“计算引擎>承诺的使用折扣>预订”标签上进行此操作。

答案 4 :(得分:0)

错误“ ZONE_RESOURCE_POOL_EXHAUSTED”通常表示Compute Engine后端中有一个或多个资源已被完全分配,或者由于某种原因暂时变得不可分配。将来最大程度地减少遇到此错误的最佳方法是让您通过多个区域分布实例,而不是将它们全部放置在europe-west4-b上。这样,如果某个区域中的可用资源不足,那么您将拥有其他区域来尝试分配所需的那些资源。 https://cloud.google.com/compute/quotas#quotas_and_resource_availability

答案 5 :(得分:0)

要获得最新的答案,今天我在us-central1-a区域遇到了同样的问题。我收到错误消息“区域'projects // zones / us-central1-a'没有足够的资源来满足请求。'(资源类型:计算)'。”。只需等待5分钟然后再试一次,就可以克服错误。

答案 6 :(得分:0)

我今天遇到了这个错误。供参考,我在圣何塞,无法启动任何美国西部VM。对我来说,解决方法是仅创建要尝试使用的VM的映像,调整区域,直到找到要创建的VM,然后使用该映像。

尽管不是所有区域都可以访问相同的GPU,这还是一个问题。

答案 7 :(得分:0)

上周末我想将K80换成新的P100实例时发生。

我的设置:

  • 'GPUS_ALL_REGIONS'配额设置为1。
  • europe-west1(区域:europe-west1-b)上的单个GPU(K80)实例

产生错误的步骤:

  1. 删除了K80实例。
  2. 删除后,我总共有0个实例在运行。
  3. 每次在同一区域中创建新实例的尝试都会产生错误消息。

在其他具有相同区域标识符(来自europe-west1-b的区域)中创建的所有实例也会产生此错误。


如何解决此问题:

在不同的区域和不同的区域标识符上创建GPU实例 (“ a”,“ c”,“ d”,...)。就是这样。

相关问题