本文說明如何解決預留 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 小時內,自動解決預留資源中 assuredCount
和 count
欄位之間的差異。此外,在解決這項差異前, Google Cloud只會針對實際預留的容量向您收費。
VM 未使用預留項目時的問題
如果 VM 無法使用預留項目,可能是下列一或多個問題所致:
本節說明如何找出及解決這些問題,並驗證預訂消耗量。
不相符的 VM 屬性
問題:VM 無法使用具有不同 VM 屬性的預留項目。
如要找出 VM 和預留項目之間不相符的屬性,請按照下列步驟查看預留項目和 VM 的屬性:
然後比較這兩項輸出內容,確認下列屬性完全相符:
project
- 如果預留項目與多個專案共用 (具體來說,如果預留項目的
shareType
欄位設為SPECIFIC_PROJECTS
),則 VM 可能位於建立預留項目的專案 (擁有者專案),或與預留項目共用的任何專案 (消費者專案)。
- 如果預留項目與多個專案共用 (具體來說,如果預留項目的
zone
machineType
guestAccelerators.acceleratorType
(如有)guestAccelerators.acceleratorCount
(如有)minCpuPlatform
- VM 和預留項目必須具有完全相同的
minCpuPlatform
設定。舉例來說,在建立 VM 時將minCpuPlatform
設為Intel Broadwell
,不會與預留項目中的minCpuPlatform
值相符。Automatic
- VM 和預留項目必須具有完全相同的
localSsds.interface
(如有)- 預留項目和 VM 的本機 SSD 磁碟數量必須相同,且每個本機 SSD 磁碟的
localSsds.interface
屬性必須相符。
- 預留項目和 VM 的本機 SSD 磁碟數量必須相同,且每個本機 SSD 磁碟的
resourcePolicies
(如有)- 只有在預留項目指定密集配置政策時,才需要執行這項操作。
locationHint
(如有)- 只有在預訂項目指定
locationHint
欄位時才適用。只有在使用 REST 建立 VM 時,才能指定locationHint
欄位。
- 只有在預訂項目指定
解決方法:找出不相符的屬性後,請嘗試下列任一做法:
如果 VM 屬性與預留項目不符,請執行下列任一操作:
如果保留項目的屬性應與 VM 的屬性相符,請刪除保留項目,然後建立與 VM 屬性相符的新保留項目。您也可以選擇建立特定預留項目。 建立 VM 來使用特定預留項目時,如果 VM 的屬性與預留項目的屬性不符,就會發生錯誤。
更新 VM 或建立新的預留項目後,請驗證預留項目使用情況,確認 VM 是否正在使用預留項目。
預留項目親和性有誤
問題:VM 的預留項目親和性設定有誤。VM 的預留項目親和性會控管 VM 可使用的預留項目。如要檢查 VM 的預留項目親和性,請執行下列操作:
查看預留項目的詳細資料,並確認預留項目是自動使用還是特定預留項目。詳情請參閱「消耗類型」。
查看 VM 詳細資料,並確認預留項目親和性。
解決方式:如果 VM 和預留項目的預留項目親和性不符,請執行下列任一操作:
建立新的 VM,並使用與保留項目類型相符的保留項目相依性屬性。
更新 VM 中的
reservationAffinity
屬性,指定 VM 是否可使用任何相符的預留項目,或只能使用特定預留項目。如要完成 VM 更新,請重新啟動 VM。
如要檢查 VM 是否正在使用預留項目,請參閱「確認預留項目使用情形」。
預留項目已用盡
問題:使用這項預留項目的 VM 數量,與預留的 VM 總數相符。這表示預訂已完全用盡。
解決方法:如要確認預留項目是否已完全用盡,請查看預留項目的詳細資料,然後確認使用預留項目的 VM 數量,是否與預留項目中預留的 VM 總數相符。
如果預留項目已用盡,請嘗試下列其中一種做法:
如要增加預留的 VM 數量,請修改預留項目中的預留 VM 數量。
如果預留項目已預留最大 VM 數量,請建立新的預留項目。
減少使用預留項目的 VM 數量。詳情請參閱「VM 無意中耗用預留項目」一文。
如果預留項目未完全用盡,但 VM 未使用預留項目,請按照下列步驟進一步排解問題:
建立要使用預留項目的 VM。如果 VM 和預留項目的屬性不相符,系統就會無法建立 VM。
共用預留資源超出配額
問題:VM 未使用共用預留項目,因為專案的資源配額不足,無法使用您嘗試使用的資源。
解決方法:共用預留項目有額外的配額規定。如要增加專案配額來使用預留資源,請參閱 Cloud Quotas 說明文件中的「要求調整配額」。
停止或刪除 VM 後,VM 數量未還原
問題:如果您停止、暫停或刪除正在使用預留項目的 VM,則作業必須完成,VM 才會不再計入預留項目,且先前使用的資源會再次恢復可用狀態。
解決方法:請稍候幾分鐘,等待 VM 停止、暫停或刪除作業完成。接著,如要確認已停止、暫停或刪除的 VM 不再計入預留項目,請使用下列其中一種方法,檢查預留項目中已使用的 VM 總數:
建議: 監控預訂,並查看預訂的測量結果是否有所變化。
查看預訂詳細資料,並檢查
inUseCount
欄位的值是否減少。如果值沒有減少,表示在停止、暫停或刪除作業完成時,一或多個 VM 已開始使用預留資源。
VM 無意間使用了預留項目
問題:建立自動使用的預留項目 (預設) 時,VM 可能會意外使用這些預留項目。
解決方法:如要避免一或多個 VM 無意間耗用預訂項目,請採取下列任一做法: