排解預留項目使用問題

本文說明如何解決預留 Compute Engine 可用區資源時發生的問題。

難以追蹤預留項目使用情形

問題:即使您可以驗證預留項目用量,查看有多少 VM 正在使用預留項目,但無法追蹤哪些 VM 正在使用預留項目。

解決方法:如果可以成功建立指定特定預留項目的 VM,則 VM 會使用 VM 相依性屬性 (reservationAffinity) 中指定的預留項目。否則,由於屬性不符或 VM 所在區域沒有可用資源,因此無法建立 VM。

如要進一步瞭解如何追蹤預留項目使用情形,請參閱「確認預留項目使用情形」。

可供使用的 VM 數量減少

問題:實際預留的 VM 數量 (assuredCount 欄位) 與預留項目中指定的預留 VM 數量 (count 欄位) 不符。也就是說,您的專案和共用預留項目的任何專案,可預留的 VM 數量會減少。

這個問題可能是由以下一或多個原因造成:

  • 共用預留項目的用戶專案已停權遷移至其他機構。在這種情況下,Compute Engine 會將 assuredCount 欄位減少消費者專案使用的 VM 數量。

  • 建立預留項目的專案已遭停權。在本例中,Compute Engine 會將 assuredCount 欄位設為 0

  • 預訂項目受到房東錯誤影響。

解決方法:除非建立預留資源的專案遭到停權,否則 Compute Engine 會盡力在 24 小時內,自動解決預留資源中 assuredCountcount 欄位之間的差異。此外,在解決這項差異前, Google Cloud只會針對實際預留的容量向您收費。

VM 未使用預留項目時的問題

如果 VM 無法使用預留項目,可能是下列一或多個問題所致:

本節說明如何找出及解決這些問題,並驗證預訂消耗量。

不相符的 VM 屬性

問題:VM 無法使用具有不同 VM 屬性的預留項目。

如要找出 VM 和預留項目之間不相符的屬性,請按照下列步驟查看預留項目和 VM 的屬性:

  1. 查看預訂詳細資料

  2. 查看 VM 詳細資料

然後比較這兩項輸出內容,確認下列屬性完全相符:

  • project

    • 如果預留項目與多個專案共用 (具體來說,如果預留項目的 shareType 欄位設為 SPECIFIC_PROJECTS),則 VM 可能位於建立預留項目的專案 (擁有者專案),或與預留項目共用的任何專案 (消費者專案)。
  • zone

  • machineType

  • guestAccelerators.acceleratorType (如有)

  • guestAccelerators.acceleratorCount (如有)

  • minCpuPlatform

    • VM 和預留項目必須具有完全相同的minCpuPlatform設定。舉例來說,在建立 VM 時將 minCpuPlatform 設為 Intel Broadwell,不會與預留項目中的 minCpuPlatform 值相符。Automatic
  • localSsds.interface (如有)

    • 預留項目和 VM 的本機 SSD 磁碟數量必須相同,且每個本機 SSD 磁碟的 localSsds.interface 屬性必須相符。
  • resourcePolicies (如有)

  • locationHint (如有)

    • 只有在預訂項目指定 locationHint 欄位時才適用。只有在使用 REST 建立 VM 時,才能指定 locationHint 欄位。

解決方法:找出不相符的屬性後,請嘗試下列任一做法:

更新 VM 或建立新的預留項目後,請驗證預留項目使用情況,確認 VM 是否正在使用預留項目。

預留項目親和性有誤

問題:VM 的預留項目親和性設定有誤。VM 的預留項目親和性會控管 VM 可使用的預留項目。如要檢查 VM 的預留項目親和性,請執行下列操作:

  1. 查看預留項目的詳細資料,並確認預留項目是自動使用還是特定預留項目。詳情請參閱「消耗類型」。

  2. 查看 VM 詳細資料,並確認預留項目親和性。

解決方式:如果 VM 和預留項目的預留項目親和性不符,請執行下列任一操作:

  • 建立新的 VM,並使用與保留項目類型相符的保留項目相依性屬性。

  • 更新 VM 中的 reservationAffinity 屬性,指定 VM 是否可使用任何相符的預留項目,或只能使用特定預留項目。如要完成 VM 更新,請重新啟動 VM。

如要檢查 VM 是否正在使用預留項目,請參閱「確認預留項目使用情形」。

預留項目已用盡

問題:使用這項預留項目的 VM 數量,與預留的 VM 總數相符。這表示預訂已完全用盡。

解決方法:如要確認預留項目是否已完全用盡,請查看預留項目的詳細資料,然後確認使用預留項目的 VM 數量,是否與預留項目中預留的 VM 總數相符。

如果預留項目已用盡,請嘗試下列其中一種做法:

如果預留項目未完全用盡,但 VM 未使用預留項目,請按照下列步驟進一步排解問題:

  1. 建立具有相符屬性的特定預留項目

  2. 建立要使用預留項目的 VM。如果 VM 和預留項目的屬性不相符,系統就會無法建立 VM。

共用預留資源超出配額

問題:VM 未使用共用預留項目,因為專案的資源配額不足,無法使用您嘗試使用的資源。

解決方法:共用預留項目有額外的配額規定。如要增加專案配額來使用預留資源,請參閱 Cloud Quotas 說明文件中的「要求調整配額」。

停止或刪除 VM 後,VM 數量未還原

問題:如果您停止、暫停或刪除正在使用預留項目的 VM,則作業必須完成,VM 才會不再計入預留項目,且先前使用的資源會再次恢復可用狀態。

解決方法:請稍候幾分鐘,等待 VM 停止、暫停或刪除作業完成。接著,如要確認已停止、暫停或刪除的 VM 不再計入預留項目,請使用下列其中一種方法,檢查預留項目中已使用的 VM 總數:

  • 建議: 監控預訂,並查看預訂的測量結果是否有所變化。

  • 查看預訂詳細資料,並檢查 inUseCount 欄位的值是否減少。如果值沒有減少,表示在停止、暫停或刪除作業完成時,一或多個 VM 已開始使用預留資源。

VM 無意間使用了預留項目

問題:建立自動使用的預留項目 (預設) 時,VM 可能會意外使用這些預留項目。

解決方法:如要避免一或多個 VM 無意間耗用預訂項目,請採取下列任一做法: