如果可用區沒有足夠的可用容量,無法佈建您要求的運算資源,來建立、重新啟動或更新 Compute Engine 執行個體,或預留可用區資源,就會發生資源可用性錯誤。
本文說明如何找出及解決資源可用性錯誤。這些錯誤代表可用區的實體硬體不足,而非專案用量限制,因此提高配額無法解決問題。或者,如要排解配額限制問題,請參閱「排解配額錯誤」。
瞭解資源可用性錯誤
如果可用區缺少下列一或多項實體資源,就會發生資源可用性錯誤:
加速器 (如有)
CPU 核心
磁碟
記憶體
舉例來說,假設您要建立使用 a2-highgpu-2g 機器類型,且連接兩個本機 SSD 磁碟的運算執行個體。這類機器搭載 Intel Xeon Platinum 8273CL 處理器,內含 24 個 vCPU、170 GB 記憶體和兩個 NVIDIA A100 GPU。如果提出要求時,您指定的可用區中提供「所有」這些資源,要求就會成功。否則要求會失敗,並顯示資源可用性錯誤。
發生資源可用性錯誤時,Compute Engine 會在 Google Cloud 控制台、Google Cloud CLI 或 API 回應中,傳回類似下列其中一則錯誤訊息:
ZONE_RESOURCE_POOL_EXHAUSTED
ZONE_RESOURCE_POOL_EXHAUSTED_WITH_DETAILS
REGION_RESOURCE_POOL_EXHAUSTED_WITH_DETAILS
POOL_CAPACITY_INSUFFICIENT
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 AVAILABLE_ZONES zones, which currently has capacity to accommodate your request. If you cannot move your VM to AVAILABLE_ZONES, review the instructions to resolve the REASON failure that are 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.
您可以查看資源可用性錯誤的錯誤訊息,如下所示:
如果是獨立運算執行個體、大量建立的運算執行個體、單一租戶節點或預留項目,Compute Engine 會在 Google Cloud 控制台、gcloud CLI 或 API 回應中傳回這些錯誤訊息。
如果是代管執行個體群組 (MIG),Compute Engine 會將這些錯誤記錄在 MIG 的執行個體錯誤清單中。如要查看錯誤訊息和導致錯誤的硬體限制,請參閱「列出執行個體錯誤」。
解決資源可用性錯誤
資源可用性錯誤分為兩類:可修正的設定錯誤 (例如嘗試在可用區要求不支援的機器類型),以及無法控制的實體硬體限制。
如要解決資源可用性錯誤,請完成下列步驟。如果您想根據工作負載可調整的項目來評估選項,請改為參閱「依工作負載需求分類的建議摘要」。
解決特定資源限制:如果錯誤訊息包含原因代碼,請參閱「依錯誤原因解決錯誤」。如果這些特定解決方案無法解決問題,請前往下一個步驟。
套用一般容量策略:如果錯誤訊息不含原因代碼,或特定調整不足,請參閱「解決常見錯誤」。
查看特定功能的建議:如果仍未解決問題,請根據部署方法或功能,參閱下列其中一節:
嘗試建立或自動調度 Google Kubernetes Engine (GKE) 叢集時,如果發生資源可用性錯誤,請參閱「排解叢集建立問題」。
依錯誤原因解決錯誤
Compute Engine 提供資源可用性錯誤的詳細診斷資料時,錯誤回應會指出導致 Compute Engine 無法執行要求的具體根本原因。
在 Google Cloud 控制台、gcloud CLI 或 Cloud Logging 中,根本原因會顯示在作業錯誤訊息中:
ERROR: (gcloud.compute.instances.create) Could not fetch resource:
- A n1-standard-1 VM instance with 2 local SSD(s) is currently unavailable in the us-central1-a zone, because of cpu_availability,local_ssd_availability root cause(s). Consider trying your request in the us-central1-b, us-central1-c zone(s), which currently has capacity to accommodate your request.
在 REST API 中,錯誤詳細資料會顯示在作業的 error.errors[] 陣列中,根本原因則會傳回 LocalizedMessage 和 google.rpc.ErrorInfo 詳細資料 (domain: "compute.googleapis.com"):
{
"code": "ZONE_RESOURCE_POOL_EXHAUSTED_WITH_DETAILS",
"message": "A n1-standard-1 VM instance with 2 local SSD(s) is currently unavailable in the us-central1-a zone, because of cpu_availability,local_ssd_availability root cause(s). Consider trying your request in the us-central1-b, us-central1-c zone(s), which currently has capacity to accommodate your request.",
"errorDetails": [
{
"errorInfo": {
"domain": "compute.googleapis.com",
"reason": "cpu_availability,local_ssd_availability",
"metadata": {
"vmType": "n1-standard-1",
"zone": "us-central1-a",
"attachment": "local-ssd:2",
"zonesAvailable": "us-central1-b,us-central1-c"
}
}
}
]
}
請根據回應中的錯誤代碼,採取下列行動:
ZONE_RESOURCE_POOL_EXHAUSTED_WITH_DETAILS:Compute Engine 會找出導致目標可用區無法完成作業的根本原因。如果相同區域中的其他可用區有足夠容量處理您的要求,錯誤詳細資料也會包含建議的可用區清單 (訊息中的AVAILABLE_ZONES或 APIErrorInfo中繼資料中的zonesAvailable)。如果錯誤詳細資料列出建議的可用區,請在其中一個可用區建立、遷移或預留運算執行個體。如果該區域中沒有其他可用區有容量,錯誤訊息就不會列出替代可用區。REGION_RESOURCE_POOL_EXHAUSTED_WITH_DETAILS:目標區域中所有評估過的可用區,都沒有足夠的容量來處理您的要求。請查看錯誤訊息中的限制原因,或在其他區域重試要求,並改用其他機器類型或彈性佈建模型。POOL_CAPACITY_INSUFFICIENT:所選可用區沒有足夠的可用資源,無法建立要求的運算執行個體數量。請要求較少資源、選取其他機型或可用區,或使用彈性啟動、Spot 或取決於預留項目的佈建模式。ACCELERATOR_INTERCONNECT_CONFIG_FAILED:Compute Engine 無法設定加速器切片 (例如 TPU 或多節點 GPU 切片) 所需的高速互連拓撲。請稍候幾分鐘,然後重試要求。如果問題持續發生,請與帳戶團隊或支援團隊聯絡。
如果要求同時遇到多個實體資源的限制,Compute Engine 會傳回以逗號分隔的 reason 代碼清單,例如 "reason": "gpu_availability,local_ssd_availability"。如果錯誤回應包含一或多個限制原因,請針對每個適用的資源限制,查看下列疑難排解步驟:
configuration_availability
configuration_availability 錯誤表示目標可用區不支援您要求的機型、CPU 平台或磁碟介面組合。與其他資源可用性錯誤不同,這項錯誤表示設定不受支援,而非暫時性資源限制。如果稍後重試要求,要求仍會失敗。
如要解決這個問題,請完成下列步驟:
修改要求:如果該可用區不支援您的硬體設定,請嘗試下列任一操作:
請修改要求,改用目標可用區支援的機型、CPU 平台或磁碟介面。
請改用支援所需機器系列、CPU 平台和磁碟類型的可用區,然後重試要求。
cpu_availability
cpu_availability 錯誤表示可用區的容量不足,無法提供您指定的 CPU 或 vCPU 數量。
如要解決這個錯誤,請嘗試下列一或多項操作:
在其他可用區或區域部署:如果錯誤訊息列出可用區 (
AVAILABLE_ZONES),請在其中一個建議的可用區建立或遷移運算執行個體。如果錯誤訊息未列出可用區域,請嘗試在相同區域的其他可用區或不同區域要求資源。清除 CPU 平台限制:如果要求指定最低 CPU 平台 (
minCpuPlatform),請將值設為AUTOMATIC。如果您要求特定 CPU 平台,Compute Engine 就無法將運算執行個體,放在該可用區中機器系列支援的其他 CPU 平台上。改用其他機器系列:如果特定機器系列在目標可用區中容量不足,請嘗試使用其他支援工作負載的機器系列或世代,例如 N2、N2D 或 N4。不同機器系列會使用不同的 CPU 平台和實體伺服器。新一代機器系列也提供更高的每 vCPU 效能,讓您能以較少的 vCPU 執行工作負載。
減少要求的 vCPU:如果您使用自訂機型,請將 vCPU 數量減少至工作負載所需的最低數量。較小的 vCPU 設定適合剩餘容量有限的實體伺服器,這會提高 Compute Engine 滿足您要求的可能性。
將運算需求分配給較小的機器類型:如果應用程式支援分散式架構,請將運算資源分配給同一機器家族中較小的機器類型。舉例來說,如果您無法使用
n2-standard-96機型 (每個機型有 96 個 vCPU) 建立 80 個運算執行個體,請嘗試使用n2-standard-48機型 (每個機型有 48 個 vCPU) 建立 160 個運算執行個體。
gpu_availability
gpu_availability 錯誤表示可用區沒有足夠的容量,無法提供您要求的 GPU 型號。
如要解決這個錯誤,請嘗試下列一或多項操作:
在其他可用區或區域部署:如果錯誤訊息列出可用區 (
AVAILABLE_ZONES),請在其中一個建議的可用區建立或遷移運算執行個體。如果錯誤訊息未列出可用區域,請嘗試在支援相同 GPU 型號的其他可用區或區域中要求資源。如需支援 GPU 的區域和可用區清單,請參閱「GPU 可用性」。使用替代佈建模式:如果無法使用標準佈建模式建立 GPU 執行個體,請嘗試使用彈性啟動、Spot 或預留項目繫結佈建模式要求資源。不同的佈建模式會從不同的容量集區提取資源。詳情請參閱「Compute Engine 執行個體佈建模式」。
local_ssd_availability
local_ssd_availability 錯誤表示可用區容量不足,無法提供您要求的本機 SSD 磁碟數量或類型。
如果工作負載可容忍永久儲存空間,請從本機 SSD 磁碟切換至 Hyperdisk Extreme、Hyperdisk Balanced 或 SSD 永久磁碟磁碟區。如需效能和耐用性權衡指南,請參閱「暫時性與持久儲存空間選項」。
memory_availability
memory_availability 錯誤表示可用區容量不足,無法提供您要求的記憶體量。
如要解決這個錯誤,請嘗試下列一或兩項操作:
在其他可用區或區域部署:如果錯誤訊息列出可用區 (
AVAILABLE_ZONES),請在其中一個建議的可用區建立或遷移運算執行個體。如果錯誤訊息未列出可用區域,請嘗試在相同區域的其他可用區或不同區域要求資源。將運算需求分散到較小的機器類型:如果應用程式支援分散式記憶體架構,請將記憶體用量分散到多個較小的運算執行個體。舉例來說,如果您無法建立記憶體為 1.88 TB 的運算執行個體 (例如
m1-ultramem-80),請將工作負載分配到多個較小的運算執行個體,這些執行個體提供的記憶體容量總和應達到 1.88 TB。
resource_availability
resource_availability 錯誤表示可用區沒有足夠容量,無法提供您要求的機型。如要解決這個錯誤,請嘗試下列一或多項操作:
指定替代可用區。
請選取支援工作負載的其他機器類型。如需選取替代機型的指引,請參閱「機型建議」。
如果工作負載可以容許中斷或彈性開始時間,請指定其他佈建模式。詳情請參閱「Compute Engine 執行個體佈建模式」。
如果您在要求
a3-highgpu-1g、a3-highgpu-2g或a3-highgpu-4g機器類型時遇到這項錯誤,請確認您是使用其中一種支援的部署方法佈建運算執行個體。
解決常見錯誤
如果錯誤訊息不含原因代碼,請調整運算執行個體的位置、硬體設定或開始時間。如要提高 Compute Engine 滿足要求的機率,請嘗試下列一或多項操作:
嘗試其他區域或可用區:如果工作負載允許,請在同一區域的其他可用區或不同區域要求資源。當您在某個區域大量建立區域性 MIG 或運算執行個體時,Compute Engine 會將運算執行個體分配到有可用硬體的可用區。詳情請參閱「位置彈性功能」。
驗證預留項目屬性:如果預留項目相符且未完全用盡,但您無法建立運算執行個體,請確認預留項目和運算執行個體的屬性相符。如果屬性不相符,Compute Engine 會嘗試在目標可用區中佈建隨選容量,而非使用預留項目。如果可用區容量不足,這項嘗試可能會失敗。如要排解使用預留項目時發生的錯誤,請參閱「排解預留項目使用問題」。
採用彈性機型:不要只用一種機型取代另一種機型,而是擴大選擇範圍。建立區域性 MIG 或大量運算執行個體時,請在執行個體彈性政策中指定多個備用機型。如果主要機型無法使用,Compute Engine 會從清單中佈建可用的備用機型。您也可以將運算需求分散到較小的機器類型,使用較少的 vCPU 和記憶體。詳情請參閱「機器類型彈性功能」和「機器類型建議」。
使用其他佈建模式:如果無法使用標準佈建模式建立運算執行個體,請嘗試使用彈性啟動、取決於預留項目或 Spot 佈建模式要求資源。不同的佈建模式會從不同的容量集區提取資源。詳情請參閱「Compute Engine 執行個體佈建模式」。
查看即時容量:建立、重新啟動或更新 Spot VM 前,請先查看取得容量的可能性 (可取得性分數),以及各機型和位置的預期運作時間。由於這些分數不保證或保留容量,因此請在確認可用性後立即提交要求。如需操作說明,請參閱「查看 Spot VM 的可用性」。
稍後再重試要求:可用區的容量會隨著 Google Cloud 中的工作負載完成並釋出實體硬體而變動。如果工作負載的時間彈性,請稍後再重試要求。詳情請參閱「時間彈性功能」。
解決建立獨立運算執行個體時發生的錯誤
如果因硬體限制而無法建立獨立運算執行個體,請嘗試下列一或多項操作:
變更要求方法:如果可用區的硬體資源受限,獨立運算執行個體的彈性較低。如果工作負載允許,請大量建立運算執行個體。這種建立方法可讓您執行下列操作:
提高位置彈性:您可以在區域 (而非單一可用區) 建立運算執行個體。這樣一來,Compute Engine 就能將運算執行個體分配到有可用硬體的可用區。
新增機型彈性:您可以在執行個體彈性政策中指定多個備用機型。如果主要選擇無法使用,Compute Engine 會選取清單中的其他機器類型。
減少要求的資源:選取 vCPU 數量、記憶體容量或連接磁碟數量較少的預先定義機型。較小的硬體設定適合剩餘容量有限的實體伺服器。
建立自訂機型:自訂機型與相同機器系列中的預先定義機型使用相同的實體伺服器,且沒有獨立的容量集區。如要配合容量有限的實體伺服器,請要求比大型預先定義機型更少的 vCPU (例如要求具有 20 個 vCPU 的自訂機型,而非
n2-standard-32)。如果是加速器最佳化機器系列 (例如 G2),自訂機型仍需要實體 GPU,無法解決 GPU 短缺的問題。如需操作說明,請參閱「使用自訂機型建立 VM」。變更儲存空間類型:如果機型支援其他儲存空間選項,則可在 Google Cloud Hyperdisk 和 Persistent Disk 之間切換。SSD 永久磁碟和平衡型永久磁碟共用同一個實體儲存空間集區。如果某個磁碟類型在可用區中容量不足,則在大多數情況下,其他磁碟類型也無法使用。如果 Persistent Disk 磁碟區容量不足,請確認專案有足夠的 Hyperdisk 配額,並切換至支援 Hyperdisk 磁碟區的機型。如要查看哪些機器系列同時支援 Persistent Disk 和 Hyperdisk 磁碟區,請參閱「機器系列比較」。
解決大量建立運算執行個體時發生的錯誤
大量建立運算執行個體 (bulkInsert) 時,Compute Engine 會預先檢查容量,不會將要求排入佇列或重試。根據預設,數量下限 (minCount) 等於要求的總數量 (count),因此如果 Compute Engine 在您提出要求時無法建立所有要求的運算執行個體,要求就會失敗,且不會建立任何運算執行個體。
如果因硬體限制而無法大量建立運算執行個體,請嘗試下列一或多項操作。如需評估取捨和最佳做法的指引,請參閱「評估並採用彈性基礎架構」。
接受部分容量 (
minCount):如果工作負載能以少於要求的運算執行個體總數啟動,請在「minCount」欄位中設定較低的值。只要 Compute Engine 能佈建至少達到最低數量的運算執行個體,這項設定就能讓要求成功。在區域中建立運算執行個體:如果您在特定可用區大量建立運算執行個體,當該可用區容量不足時,要求就會失敗。請改為指定區域,讓 Compute Engine 選取有可用硬體的可用區。根據預設,區域大量建立作業會使用
ANY_SINGLE_ZONE目標分配型態,將所有運算執行個體放在有容量的單一可用區。如果沒有任何單一可用區能容納整個批次,且運算執行個體可以跨多個可用區,請將目標分布型態設為BALANCED或ANY。如需操作說明,請參閱「在區域中大量建立 VM」。使用備用機型:在區域大量要求中,設定執行個體彈性政策,並指定相容的備用機型。如有需要,您也可以使用
--location-policy旗標,將位置限制在特定可用區。如果主要機型無法使用,Compute Engine 會從清單中佈建可用的備用機型。將要求分散到不同位置或時間:如果沒有任何可用區或區域有足夠容量處理完整批次,請將要求分成較小的批次,分散到不同可用區或區域,或錯開要求時間。請勿同時向同一個資源耗盡的可用區傳送多個較小的要求。
放寬密集配置限制:如果您在建立運算執行個體時指定密集配置政策,請考慮提高最大距離值或移除政策,以放寬配置限制。如果最大距離值較低,運算執行個體會更靠近,可減少網路延遲,但發生資源可用性錯誤的風險會增加。詳情請參閱「關於密集配置政策」。
解決建立、調度資源或修復 MIG 時發生的錯誤
與獨立或大量建立要求不同,MIG 會在目前容量允許的範圍內,佈建盡可能多的運算執行個體。對於 MIG 尚無法建立的任何運算執行個體,群組會在「List instance errors」(列出執行個體錯誤) 中記錄錯誤,並繼續在背景重試建立。
如果 MIG 在建立、水平擴展或修復運算執行個體時,發生資源可用性錯誤,請嘗試下列一或多項操作:
等待或調整目標大小:如果硬體短缺是暫時性的,且工作負載可在部分容量下執行,請讓 MIG 繼續重試,或縮減 MIG 的目標大小。
更新執行個體範本:如果執行個體錯誤清單顯示
configuration_availability錯誤 (可用區不支援硬體),或某個機型的永久容量耗盡,請建立並推出更新後的執行個體範本,使用支援或更可用的機型,或替代佈建模式。這個方法適用於任何現有的可用區或區域 MIG,不需遷移至新群組。將卡住的可用區 MIG 替換為區域 MIG:如果可用區 MIG 經常發生容量不足的問題,且工作負載需要持續的多可用區韌性,請建立區域 MIG,將工作負載遷移至新群組,然後刪除原始可用區 MIG。區域性 MIG 可在區域內的多個可用區佈建運算執行個體,因此更有可能取得硬體。
設定彈性目標分配型態:使用
EVEN分配型態時,區域性 MIG 會在每個可用區佈建相同數量的運算執行個體。如果某個可用區資源不足,該區域的其他可用區仍會建立其運算執行個體,而受限的可用區則會重試。採用EVEN分配型態的自動調度資源 MIG,也會繼續在可用區域中水平擴展。這項行為會導致手動調整大小的群組低於完整目標大小,直到受限可用區的容量恢復為止。如要避免這項限制,請設定區域性 MIG,使用符合工作負載需求的目標分配型態:BALANCED:將運算執行個體分散到有可用容量的可用區,同時盡可能平均分配。這款機型適用於高可用性服務和批次工作負載。ANY:將運算執行個體放在任何有可用容量的可用區,並優先使用區域中未使用的預留項目。如果批次工作負載不需要在可用區之間平衡分配,請使用這個型態。ANY_SINGLE_ZONE:將所有運算執行個體集中在有可用容量的單一可用區,避免跨可用區延遲和網路輸出費用。這類資源配置適用於緊耦合、對延遲敏感的工作負載。
在區域 MIG 中設定機型彈性:在採用
BALANCED、ANY或ANY_SINGLE_ZONE分布型態的區域 MIG 中,在執行個體彈性政策 (instanceFlexibilityPolicy) 中新增備用機型。如果 MIG 擴充時主要機型無法使用,MIG 就會佈建清單中的下一個可用機型。根據預設,修復作業只會重試失敗運算執行個體的原始機型。如要允許修復作業也使用備用機型,請將instanceLifecyclePolicy.forceUpdateOnRepair欄位設為"YES",啟用修復時更新功能。如果是單一可用區工作負載,請使用ANY_SINGLE_ZONE型態的區域性 MIG,或選取單一目標可用區。詳情請參閱「關於 MIG 的執行個體彈性」。允許在替代可用區修復:在採用
BALANCED或ANY分配型態的無狀態區域性 MIG 中,設定群組在修復期間,於其他可用區重新建立失敗的運算執行個體。只有在 MIG 修復現有故障的運算執行個體時,這項設定才會生效。如要在建立或水平擴展期間,將新的運算執行個體放在可用可用區中,請使用BALANCED或ANY分布形態。如要啟用替代可用區修復功能,請將instanceLifecyclePolicy.onRepair.allowChangingZone欄位和instanceLifecyclePolicy.forceUpdateOnRepair欄位設為"YES"。如需操作說明,請參閱「在替代可用區修復 VM」。排入稀缺硬體的容量要求:如果批次或 AI/機器學習工作負載需要稀缺硬體 (例如 GPU),且可接受彈性的開始時間,請使用 MIG 大小調整要求排入要求,並在容量可用時一併佈建要求的運算執行個體,或建立含有彈性啟動型 VM 的 MIG。
放寬密集配置限制:如果您在建立運算執行個體時指定密集配置政策,請考慮提高最大距離值或移除政策,以放寬配置限制。如果最大距離值較低,運算執行個體會更靠近,可減少網路延遲,但發生資源可用性錯誤的風險會增加。詳情請參閱「關於密集配置政策」。
監控運算執行個體分布情形:在建立群組和水平擴展期間,如果使用
BALANCED、ANY或ANY_SINGLE_ZONE分布型態的區域性 MIG 透過可用區域或備用機器類型達到目標大小,群組就不會記錄資源可用性錯誤。不過,在修復期間,如果故障運算執行個體的原始機器類型無法使用,即使您啟用修復時更新功能,MIG 仍會記錄ZONE_RESOURCE_POOL_EXHAUSTED錯誤。如要查看 Compute Engine 在各可用區和機器類型中放置運算執行個體的位置,請在Google Cloud 控制台中查看 MIG 的「Monitoring」(監控) 分頁,或查看 Cloud Monitoring 資訊主頁。如需操作說明,請參閱「監控 MIG 中的執行個體分布情形」。
解決建立單一租戶節點時發生的錯誤
如果 Compute Engine 無法為單一租戶節點分配實體伺服器,請嘗試下列一或兩項操作:
使用其他節點類型:選擇提供不同硬體設定的其他節點範本或節點類型。詳情請參閱「單一租戶總覽」。
透過 CPU 超額配置最佳化節點容量:如果現有節點的容量不足,無法新增運算執行個體,因此嘗試新增節點,請考慮啟用 CPU 超額配置。這項功能可讓您提高目前實體伺服器上的運算執行個體密度,避免需要佈建額外節點。詳情請參閱「超額配置單一租戶 VM 的 CPU」。
解決建立 TPU slice 時發生的錯誤
如果建立或擴充 TPU slice 的要求失敗,原因是可用區缺少連結的實體硬體,請嘗試下列一或多項操作:
使用彈性啟動型 VM、日曆模式的未來預留項目,或排入佇列的資源:請勿提交未預留的隨選 TPU 要求,而是使用彈性啟動型 VM或日曆模式的未來預留項目,在 Compute Engine 上排定 TPU 配量要求或將其排入佇列。如果您是透過 Cloud TPU API (而非 Compute Engine) 佈建 TPU,請使用 Queued Resources API 將要求排入佇列,直到可用區有連續容量可用為止。
評估較小的拓撲:如果機器學習 (ML) 架構支援較小的切片大小,請要求較小的拓撲。較大的 TPU 切片需要將實體硬體連接在一起,而單一可用區可能無法提供。如果模型需要所有 TPU 之間的高頻寬晶片間互連 (ICI),您可能需要調整模型分區或平行處理的設定。詳情請參閱「TPU 拓撲」。
在互連網路設定錯誤後重試:如果要求失敗並顯示
ACCELERATOR_INTERCONNECT_CONFIG_FAILED錯誤,請稍候幾分鐘,然後重試要求。如果問題持續發生,請與帳戶團隊或支援團隊聯絡。
解決建立預留項目時發生的錯誤
如果因容量限制而無法預留資源,請嘗試下列一或多項操作:
在日曆模式中查看未來可用性:如果您在日曆模式中建立未來預留項目要求,請先查看資源的未來可用性,再提交要求。指定特定時段可用的資源,可提高Google Cloud 核准要求的可能性。如需操作說明,請參閱「查看資源未來可用性」。
減少預留的運算執行個體數量:嘗試預留較少的運算執行個體。如果您需要大量預留運算執行個體,建議您在不同區域或可用區,為這些運算執行個體建立多個較小的預留項目。
放寬密集配置限制:如果您在建立隨需預留項目時指定密集配置政策,請考慮提高最大距離值或移除政策,以放寬配置限制。密集配置政策可協助您預留彼此相近的運算執行個體,以減少網路延遲,但會增加遇到資源可用性錯誤的風險。詳情請參閱「關於密集配置政策」。
解決更新機器類型時發生的錯誤
如要更新現有運算執行個體的機器類型,必須先停止運算執行個體,再套用變更。如果您嘗試使用新的機型啟動運算執行個體,但要求因硬體限制而失敗,則運算執行個體會保持停止狀態,直到您再次啟動為止。
如要更新並重新啟動運算執行個體,請嘗試下列一或兩項操作:
還原為原始機型或使用替代機型:如果目標硬體設定無法使用,請將機型變更回先前的設定,或使用支援工作負載的中繼機型。採取上述任一行動後,請重新啟動運算執行個體。由於運算執行個體在停止前是以該設定執行,因此這項還原作業可讓您重新啟動工作負載,同時評估其他選項或在其他可用區要求容量。
將工作負載移至其他可用區:如果目前的可用區不提供目標機型,請將工作負載移至有容量的可用區。由於運算執行個體是可用區資源,請為開機磁碟和任何附加磁碟建立快照。接著,在目標可用區中建立新的運算執行個體,並使用新的機型。如需操作說明,請參閱「在可用區或區域之間移動 VM 執行個體」。
依工作負載需求提供的建議摘要
如要根據可調整的工作負載層面評估替代方法,請參閱下表:
| 必須保留的項目 | 可調整的設定 | 建議 | 適用功能 |
|---|---|---|---|
| 位置 (特定可用區或區域) | 機器系列或類型 | 使用執行個體彈性設定備用機器類型,或將運算需求分配給支援工作負載的小型機器類型。 | |
| 機型 (特定設定) | 位置 | 在其他區域或可用區要求資源、使用彈性的目標分配型態 (BALANCED、ANY 或 ANY_SINGLE_ZONE),或為使用 BALANCED 或 ANY 型態的區域性 MIG 啟用替代可用區修復功能。 |
|
| 特定硬體 (例如特定 GPU 型號) | 開始時間或佈建模式 | 使用彈性啟動型 VM、MIG 大小調整要求、Spot VM (包括大量建立運算執行個體時)、日曆模式的未來預留項目,或 TPU 的佇列資源。 | |
| 立即啟動可用的運算執行個體 | 初始運算執行個體數量 | 大量建立運算執行個體時,請設定較低的 minCount 值,以接受部分容量,或使用 MIG 立即啟動可用的運算執行個體,同時讓群組重試取得剩餘的運算執行個體。 |
後續步驟
- 瞭解如何最佳化運算佈建。