本文說明如何解決建立預留項目時發生的問題。如要進一步瞭解預留項目,請參閱「關於預留項目」。
除了本頁列出的錯誤,建立 Compute Engine 資源時發生的問題,也可能導致預留項目建立失敗。如果本頁未列出您遇到的問題,請按照下列步驟操作:
使用要預留的資源建立虛擬機器 (VM) 執行個體。
如果仍發生錯誤,請參閱「排解 VM 建立問題」。
預訂建立錯誤
如果無法建立預留項目,可能是本節所述的其中一項錯誤所致。如果無法建立共用預留項目,請一併參閱本文中的「共用預留項目建立錯誤」一節。
配額不足
如果資源要求超出配額,就會發生配額錯誤。
錯誤訊息:
RESOURCE_NAME creation failed: Quota QUOTA_NAME exceeded. Limit: QUOTA_LIMIT in region REGION
RESOURCE_NAME creation failed: Quota QUOTA_NAME exceeded. Limit: QUOTA_LIMIT in zone ZONE
Resource exhausted (HTTP 429): QUOTA_EXCEEDED
解決方法:要求提高配額限制。詳情請參閱「編輯配額」。
資源可用性
如要建立預留項目,您在預留項目中指定的所有資源都必須在指定位置可用,才能為您預留。
以下是要求新的 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.
如要瞭解如何解決資源錯誤,請參閱「排解資源可用性錯誤」。
可用區
如果您在要求新資源時收到 notFound 或 does not exist in zone 錯誤,表示您要求資源的可用區不提供您要求的資源或機器類型。
錯誤訊息:
notFound
does not exist in zone
解決方法:請參閱「區域和可用區」,瞭解各可用區支援的功能。
資源名稱
如果您在嘗試建立資源時收到 resource already exists 錯誤,表示建立要求失敗,因為您為指定位置和專案的資源指定了非不重複的名稱。
錯誤訊息:
The resource 'projects/PROJECT_NAME/zones/ZONE/RESOURCE_TYPE/RESOURCE_NAME' already exists"
The resource 'projects/PROJECT_NAME/regions/REGION/RESOURCE_TYPE/RESOURCE_NAME' already exists"
解決方法:使用不重複的資源名稱,重新提出建立要求。
超過 VM 數量上限
如果嘗試預留的 VM 數量超過預留項目允許的數量,就會發生下列錯誤。
錯誤訊息:
Invalid value for field 'resource.specificReservation.count': VM_COUNT. Must be less than or equal to 1000
解決方法:建立多個預留項目,並指定相同的可用區、專案和 VM 屬性。不過,請確保每個預留項目預留的 VM 數量不超過下列限制:
如果在預留項目中指定密集配置政策,且最大距離值為
2,則最多可預留支援的 VM 數量。否則最多 1,000 個 VM。
超過預留容量上限
嘗試建立隨需預留項目時,如果可用區沒有足夠的預留容量,無法提供您要求的機器家族,就會發生下列錯誤。
錯誤訊息:
RESERVATION_CAPACITY_LIMIT_EXCEEDED
Failed to reserve additional capacity for 'MACHINE_FAMILY' because reservation capacity limit exceeded in 'ZONE'. Select a different machine family or zone.
解決方法:如要解決這項錯誤,請嘗試下列一或多個選項:
使用其他可用區。在可用區中建立預留項目,並確保該可用區有足夠容量,可容納您要求的機器家族。
使用其他機器家族。建立預留項目,並指定其他機器家族的機器類型。
要求較少 VM。 建立預留項目時,請減少 VM 數量。
請稍後再試。請稍後再重新提交建立要求。
共用預留項目建立錯誤
如果無法建立共用預留項目,可能是因為本節或「預留項目建立錯誤」中的錯誤。
不屬於任何組織的專案
如果您嘗試在不屬於組織的專案中建立共用預留項目,就會發生下列錯誤。
錯誤訊息:
Cannot create Shared Reservations in a project that does not belong to an organization.
解決方法:請執行下列任一操作:
- 請先將這項專案遷移至組織,再使用這項專案建立共用預留項目。
- 使用屬於組織的專案建立共用預留項目。
違反限制
如果共用預留項目擁有者專案 (compute.sharedReservationsOwnerProjects) 組織政策限制不允許專案建立及修改共用預留項目,就會發生下列錯誤。
錯誤訊息:
Constraint constraints/compute.sharedReservationsOwnerProjects violated for project projects/PROJECT_NUMBER Shared reservation can not be created in this project for your organization.
解決方法:請執行下列任一操作:
- 請使用可建立及修改共用預留項目的專案。如要查看組織中哪些專案具備這項權限,請查看共用預留項目組織政策限制。
- 編輯共用預留項目組織政策限制,授予專案建立及修改共用預留項目的權限。如果編輯後仍看到這則錯誤訊息,可能只要等待幾分鐘,編輯內容就會生效。
用戶專案無效
本節說明為共用預留項目指定無效的用戶專案時,會發生的錯誤。
在這個組織中找不到專案
如果指定的用戶專案與您使用的專案不在同一個組織中,就會發生下列錯誤。
錯誤訊息:
Project PROJECT_ID doesn't exist or doesn't belong to the same organization of the current project.
其中 PROJECT_ID 是您指定為用戶專案的專案 ID。
解決方法:請執行下列操作:
- 查看組織中的所有專案,確認指定的消費者專案存在於這個組織中。
- 查看專案,確認您指定的專案 ID (PROJECT_ID) 正確無誤。
指定為消費者專案的擁有者專案
嘗試將共用預留項目的擁有者專案 (用於建立共用預留項目的專案) 指定為用戶專案時,會發生下列錯誤。
錯誤訊息:
Project PROJECT_ID which is the owner project of this reservation is always included in the share projects, please do not add it.
解決方法:從用戶專案清單中移除擁有者專案。共用預留項目一律可由擁有者專案中的 VM 使用,因此您無法將其納入用戶專案清單。
零消費者專案
如果共用預留項目沒有任何用戶專案,就會發生下列錯誤:
錯誤訊息:
Have to share with at least 1 project.
解決方法:請執行下列任一操作:
超過用戶端專案數量上限
如果共用預留項目超過 100 個用戶專案,就會發生下列錯誤:
錯誤訊息:
Can only share with at most 100 projects.
解決方法:請執行下列操作:
- 將共用預留項目的用戶專案數量減少至最多 100 個。
- 如果仍須為任何省略的專案預留容量,請建立另一個共用預留項目,並與這些專案共用。
超過共用預留項目數量上限
如果組織已有 100 個共用預留項目,且 VM 屬性相同,就會發生下列錯誤。
錯誤訊息:
Cannot support more than 100 shared reservations of the same shape under an organization.
解決方法:請按照最佳做法,盡量減少組織中具有相同 VM 屬性的獨立共用預留項目數量,方法如下:
調整現有預留項目的大小,增加 VM 數量。如果您有多個相同的共用預留項目,且未超過 VM 數量上限,請考慮是否能將這些項目合併為較少的共用預留項目,並維持相同的 VM 總數。
修改共用預留項目的用戶專案,納入更多專案。舉例來說,如果您有多個共用預留項目,其 VM 屬性和可用區相同,但擁有者和用戶專案類似,請考慮是否能將這些項目合併為一個共用預留項目,供所有專案使用。
依執行個體範本建立預留項目時發生錯誤
如果無法透過指定執行個體範本建立預留項目,可能是因為本節中的其中一項錯誤。
不允許跨專案參照
嘗試指定其他專案的執行個體範本來建立預留項目時,會發生下列錯誤。
錯誤訊息:
Cross project referencing is not allowed for this resource.
解決方法:請執行下列操作:
請確認您在預留項目中指定的專案 ID 和執行個體範本名稱正確無誤。如要確認執行個體範本是否存在,請取得範本相關資訊或列出範本。
執行個體範本包含專案專屬設定,因此您只能在同一個專案中存取及使用執行個體範本。建議改用下列方法:
如要透過指定執行個體範本建立預留項目,請按照下列步驟操作:
在專案中建立新的執行個體範本。
找不到執行個體範本
如果嘗試指定不存在的執行個體範本來建立預留項目,就會發生下列錯誤。
錯誤訊息:
Source resource reference provided invalid.
解決方法:檢查您指定的執行個體範本名稱是否正確。接著,在列出執行個體範本,確認範本不存在,且專案中沒有其他要使用的範本後,您就可以建立新的執行個體範本。
本機 SSD 磁碟大小無效
如果您嘗試建立預留項目,並指定包含一或多個本機 SSD 磁碟的執行個體範本,但範本未指定本機 SSD 磁碟的大小,就會發生下列錯誤。
錯誤訊息:
Disk LOCAL_SSD_NAME provided in the instance template has invalid size: 0 GB.
解決方法:您無法更新執行個體範本。請改為執行下列操作:
建立新的執行個體範本,並務必指定範本中任何本機 SSD 磁碟的磁碟大小。
選用:刪除舊版執行個體範本。
執行個體範本的可用區無效
如果您嘗試透過指定執行個體範本來建立預留項目,但為執行個體範本指定的位置無效,就會發生下列錯誤。
錯誤訊息:
Reservation cannot be created outside the zone/region of source resource.
解決方法:請執行下列任一操作:
請務必在執行個體範本中資源所在的區域和可用區建立預留項目。在執行個體範本中指定的任何區域或可用區資源 (例如機器類型或 Persistent Disk),都會限制範本只能在這些資源所在的地區使用。舉例來說,如果執行個體範本指定
us-central1-a可用區中的現有永久磁碟,則必須在同一個可用區建立預留項目。否則,建立預留項目或可使用預留項目的 VM 時會失敗。如要檢查現有範本是否指定任何資源,將範本繫結至特定區域或可用區,請取得範本相關資訊,並在範本中尋找區域或可用區資源的參照。
使用不限於特定區域或可用區的執行個體範本。由於無法更新執行個體範本,請按照下列步驟操作:
根據現有範本建立新的執行個體範本,並更新屬性。
選用:刪除舊版執行個體範本。
覆寫執行個體範本屬性
如果您在建立預留項目時,同時指定執行個體範本和 VM 屬性,就會發生下列錯誤。
錯誤訊息:
Reservation cannot override properties populated by source resource.
解決方法:請執行下列任一操作:
如要透過指定執行個體範本來建立預留項目,請務必移除「任何」指定 VM 屬性的欄位。
如要指定具有不同 VM 屬性的執行個體範本來建立預留項目,請按照下列步驟操作:
您無法更新現有的執行個體範本。請改為根據現有範本建立新的執行個體範本。
選用:刪除舊版執行個體範本。
預留項目建立錯誤:密集配置政策
如果指定密集配置政策後無法建立預留項目,可能是本節所述的錯誤所致。
嘗試建立自動耗用的預留項目
嘗試建立自動耗用的預留項目並指定密集配置政策時,會發生下列錯誤。
Placement policy only supports specific reservations.
解決方法:建立指定目標預留項目時,只能指定密集配置政策。
嘗試建立共用預留項目
嘗試指定密集配置政策來建立共用預留項目時,會發生下列錯誤。
錯誤訊息:
Creating shared reservations with placement policy is not supported.
解決方法:您只能為單一專案預留項目指定密集配置政策。因此,請為您原本要共用預留項目的每個專案,建立新的預留項目「和」新的密集配置政策。
嘗試指定 max-distance 值為 1 的政策
在單一專案預留項目中,嘗試指定 max-distance 值為 1 的密集配置政策時,會發生下列錯誤。
錯誤訊息:
Resource policies with max-distance less than 2 are not supported.
解決方法:建立單一專案預留項目時,無法指定 max-distance 值為 1 的密集配置政策。請改為執行下列操作:
建立新的密集配置政策,不指定
1的max-distance值。執行下列其中一個步驟:
如要指定執行個體範本來建立單一專案預留項目,請按照下列步驟操作:
您無法修改現有執行個體範本的屬性。請改為建立新的執行個體範本,並指定新建立的密集配置政策。
選用:刪除舊的執行個體範本。
直接指定屬性,建立單一專案預留項目,並指定新建立的密集配置政策。
此外,如果不再需要舊的密集配置政策,請參閱這篇文章,瞭解如何刪除配置政策。
嘗試指定分散配置政策
嘗試在預留項目中指定分散配置政策時,會發生下列錯誤。
錯誤訊息:
Failed to create reservation with policy
SPREAD_PLACEMENT_POLICY_NAME. Reservations do not support
spread placement policies.
解決方法:建立預留項目時,只能指定密集配置政策。不支援分散配置政策。
資源政策類型無效
如果嘗試指定其他類型的資源政策來建立預留項目,就會發生下列錯誤。
錯誤訊息:
Reservation can only be supported by placement policy.
解決方法:建立預留項目時,只能指定密集配置政策。不支援其他類型的資源政策,例如執行個體排程或快照排程。
政策的區域無效
如果您嘗試在預留項目中指定密集配置政策,但指定的可用區不在指定密集配置政策的區域內,就會發生下列錯誤。
錯誤訊息:
ZONE does not match placement policy region.
其中 ZONE 是您嘗試預留 VM 的可用區。
解決方法:請嘗試下列任一做法:
請確認可用區與您在預留項目或預留項目的執行個體範本中,指定的密集配置政策位於相同區域。
您無法更新密集配置政策。請改為執行下列操作:
使用更新後的屬性建立新的密集配置政策。
選取下列任一做法:
直接指定屬性來建立新的預留項目,並指定新建立的密集配置政策。
請執行下列步驟:
您無法更新執行個體範本,請改為指定新建立的密集配置政策,建立新的執行個體範本。
指定新建立的執行個體範本,建立新的預留項目。
選用:刪除舊版執行個體範本。
選用:刪除舊的密集配置政策。
超過 VM 數量上限
如果嘗試預留的 VM 數量超過支援上限,且密集配置政策的最大距離值為 2,就會發生下列錯誤。
錯誤訊息:
No more than SUPPORTED_NUMBER_OF_VMS instances of machine type can be created with this policy.
解決方法:如要為距離上限值為 2 的密集配置政策預留超過支援的 VM 數量上限,請執行下列任一操作:
建立多個預留項目,並指定相符的可用區、專案和屬性。由於您無法在預留項目之間共用密集配置政策,因此必須為每個預留項目指定不同的政策,且距離上限值為
2。指定密集配置政策,並將距離上限值設為
3(建議),或不設定距離上限值。
覆寫密集配置政策
如果您嘗試建立預留項目,並指定包含密集配置政策的執行個體範本,同時直接指定密集配置政策,就會發生下列錯誤。
錯誤訊息:
Setting resource policy in both reservation and instance template is not allowed.
解決方法:建立預留項目時,您可以直接指定密集配置政策,或使用執行個體範本指定。
如要建立預留項目,請指定執行個體範本,以及與範本中指定的政策不同的政策,步驟如下:
如果您尚未建立,請建立新的密集配置政策。
由於無法更新執行個體範本,請建立新範本,並指定新的密集配置政策。
選用:刪除舊的執行個體範本。
選用:刪除舊的密集配置政策。
這項政策已在其他預留項目中指定
如果您嘗試透過指定密集配置政策來建立預留項目,但該政策已在其他預留項目中指定,就會發生下列錯誤。
錯誤訊息:
Placement policy has been used by another reservation.
解決方法:每個預留項目只能使用一個密集配置政策。您無法在預留項目之間共用密集配置政策。如要為其他預留項目使用類似的密集配置政策,請選取下列其中一種方法:
如要建立預留項目,並指定包含密集配置政策的執行個體範本,請按照下列步驟操作:
指定新建立的密集配置政策,建立新的執行個體範本。
指定新建立的執行個體範本,建立預留項目。
選用:刪除舊版執行個體範本。
如要直接指定 VM 屬性和密集配置政策來建立預留項目,請按照下列步驟操作:
直接指定新的密集配置政策,建立預留項目。
不支援的機型
如果嘗試建立預留項目時,指定的機型不適用於密集配置政策,就會發生下列錯誤。
錯誤訊息:
Placement policy with reservation is not applicable to machine type MACHINE_TYPE.
其中 MACHINE_TYPE 是您在建立預留項目時嘗試指定的機型。
解決方法:建立指定密集配置政策的預留項目時,請務必指定密集配置政策支援的機型。