排解資源可用性錯誤

本文說明如何解決嘗試要求新的 Compute Engine 資源或建立 Compute Engine 資源預留時,可能發生的資源可用性錯誤。如果您嘗試在無法滿足要求的區域中要求資源,就會發生資源錯誤,因為該區域目前無法提供 Compute Engine 資源,例如 GPU 或 CPU。

資源錯誤只會影響區域中的新資源要求,不會影響現有資源。資源錯誤與 Compute Engine 配額無關,且只適用於您傳送要求時在要求中指定的資源,不適用於可用區中的所有資源。

常見錯誤訊息

以下是您在要求新的 Compute Engine 資源或建立新的預留項目時,可能會遇到的常見資源錯誤範例:

ZONE_RESOURCE_POOL_EXHAUSTED
ZONE_RESOURCE_POOL_EXHAUSTED_WITH_DETAILS
The zone 'projects/PROJECT_ID/zones/ZONE' does not have enough resources available to fulfill the request.
Try a different zone, or try again later.
A VM_TYPE_AND_SIZE VM instance with RESOURCE_ATTACHMENT is currently unavailable in the ZONE zone.

Capacity changes frequently, so try your request in a different zone, with a different VM hardware
configuration, or at a later time. For more options, see troubleshooting documentation.
A VM_TYPE_AND_SIZE VM instance with RESOURCE_ATTACHMENT is currently unavailable in the ZONE zone, because of  REASON.

Consider trying your request in the ZONE zone(s), which currently has capacity to accommodate your request.

If you cannot move your VM to ZONE, review the REASON failure resolution instructions available in troubleshooting documentation, then try your request again.
If your workload can't accommodate the suggested resolution, try your request with a different VM hardware configuration or at a later time.

部分錯誤訊息會包含 reason 欄位,提供 Compute Engine 無法滿足您要求時的特定資源相關資訊。如要進一步瞭解發生資源錯誤的原因,以及各項錯誤的解決策略,請參閱本文的「資源錯誤原因和建議」一節 reason

解決資源錯誤

一般而言,解決資源錯誤的最佳方式是嘗試在不同區域、不同時間或使用不同 VM 設定重試要求。如果收到的錯誤訊息包含 reason 欄位,請參閱本文的「資源錯誤原因和建議」一節,瞭解具體的修正建議,協助解決錯誤。

如要建立含 GPU VM 的區域代管執行個體群組 (MIG),請在 MIG 中建立大小調整要求。您可以使用大小調整要求,一次在 MIG 中取得需求量高的資源,並在特定時間執行 VM。指定執行時間可提高高需求資源的取得率,並避免不必要的費用。

如要建立區域性 MIG,請嘗試將 MIG 的分配形狀變更為 BALANCEDANYANY_SINGLE_ZONE。如要進一步瞭解分配型態,請參閱「區域性 MIG 目標分配型態」。

如果您嘗試建立 Spot VM (或舊版先占 VM),請記住,這些 VM 是備用容量,屬於未規劃的變動資源,因此可能無法在尖峰需求期間取得。因此,建議只將 Spot VM 用於時間、位置和 VM 設定需求彈性的工作負載。如要避免 Spot VM 發生這項錯誤,請按照最佳做法操作,讓工作負載更具彈性。如果這個錯誤持續發生,請改用標準 VM

如要避免資源錯誤,最好的方法是在需要資源前,先建立 Compute Engine 預留項目。預留功能可確保您在需要時可以使用資源。

資源錯誤原因和建議

下表提供部分資源錯誤訊息中 reason 欄位的相關資訊,以及各 reason 的解決策略建議。

錯誤 reason 說明 建議
resource_availability 您要求的 VM 類型和大小目前無法在您要求的可用區中使用。

請嘗試下列任一做法:

  • 在其他可用區要求 VM。
  • 如果您在要求 a3-highgpu-1ga3-highgpu-2ga3-highgpu-4g 機器類型時收到資源可用性錯誤,請確認您是使用這些支援的方法佈建 VM。
cpu_availability 您要求的可用區目前沒有 CPU 數量符合需求的 VM。

請嘗試下列任一做法:

  • 如果您要求單一 VM,請在另一個可用區中要求 VM。
  • 如果要要求多個 VM,請嘗試下列一或多項做法:

    • 要求其他可用區的 VM。
    • 將 vCPU 總量分配給較小的 VM。舉例來說,如果您要求 80 個 VM,每個 VM 有 224 個 vCPU,請嘗試要求 160 個 VM,每個 VM 有 128 個 vCPU。
memory_availability 您要求的可用區目前沒有具備所需記憶體大小的 VM。

請嘗試下列任一做法:

  • 如果您要求單一 VM,請在另一個可用區中要求 VM。
  • 如果要要求多個 VM,請嘗試下列一或多項做法:

    • 要求其他可用區的 VM。
    • 將記憶體要求分割到多個 VM。舉例來說,如果您要求三部 VM,每部 VM 的記憶體為 1.88 TB,請將要求分成多部 VM,總記憶體加起來為 1.88 TB。
local_ssd_availability 您要求的可用區目前沒有具備您要求本機 SSD 數量的 VM。

請嘗試下列任一做法:

  • 如果您要求單一 VM,請在另一個可用區中要求 VM。
  • 如果要要求多個 VM,請嘗試下列一或多項做法:

    • 要求其他可用區的 VM。
    • 如果工作負載允許,請要求使用可用區或區域性 SSD 永久磁碟,而非本機 SSD。
    • 將本機 SSD 要求拆分成多個 VM。舉例來說,如果您要求一個 VM 搭配 600 GB 的本機 SSD,請將要求分成多個 VM,本機 SSD 總大小為 600 GB。
gpu_availability 您要求的可用區目前沒有搭載 GPU 的 VM。 請嘗試在其他可用區要求 VM。
configuration_availability 您要求的區域不支援具有您所要求設定的 VM。

請在支援所需機器類型和設定的可用區中,重新提交要求。

如要進一步瞭解各個地區和區域支援的機器類型,請參閱「可用的地區和區域」。如要進一步瞭解各機器類型支援的設定,請參閱「機器系列比較」。

如果無法透過上述任何建議解決錯誤,請嘗試取得支援