在 Azure 中建立或調整 VM 大小時,對配置失敗進行疑難排解
適用於:✔️ Linux VM ✔️ Windows VM
當您建立虛擬機 (VM)、啟動任何已停止的 VM 或調整 VM 大小時,Microsoft Azure 會將計算資源配置給您的訂用帳戶。 在 Microsoft,我們致力於持續投資額外的基礎結構和功能,以確保所有 VM 類型都可供使用,以支援客戶需求。 您可能偶爾會遇到因特定區域中對 Azure 服務的空前需求成長,而導致資源配置失敗的情況。 當您嘗試在區域中建立、啟動或調整 VM 大小時,可能會發生此問題,而 VM 可能會顯示如下文字的錯誤碼和訊息:
錯誤碼:AllocationFailed 或 ZonalAllocationFailed
錯誤訊息:「配置失敗。 我們在此區域的容量不足,無法供應所要求的 VM 大小 請參閱https://aka.ms/allocation-guidance"以瞭解有關提高配置成功可能性的更多資訊;
替代建議:當您收到替代建議時,這意味著您請求的 VM 大小目前在所選區域或可用區中不可用。 若要增加成功配置虛擬機的機會,您可以選取其中一個替代方案。 只需將變更套用到您的 VM 輸入選擇或使用所需選項調整目前存在的 VM 的大小,然後嘗試再次啟動或建立 VM。
例如,嘗試以下替代方案之一來提高配置成功的機會:
- 同一可用區和區域的替代 VM 大小:Standard_A2_v2、Standard_A2m_v2或Standard_D2a_v4
- 相同 VM 大小和區域的替代可用區:可用區 1 和 3
注意事項
如果您要針對虛擬機擴展集進行疑難解答(VMSS),此程序與標準 VM 相同。 若要解決此問題,您應該遵循本文中的指示。
錯誤訊息:「配置失敗。 如果您嘗試將新的 VM 新增至具有單一放置群組的虛擬機器擴展集 (VMSS),或在具有單一放置群組的虛擬機器擴展集中更新/調整現有 VM 的大小,請注意,這種配置的範圍限於單一叢集,而且叢集的容量可能不足。 請參閱http://aka.ms/allocation-guidance."以瞭解有關提高分配成功可能性的更多資訊;
本文說明一些常見配置失敗的原因,並建議可能的補救方法。
在您慣用的區域中提供慣用的 VM 類型之前,我們建議遇到部署問題的客戶將指引視為暫時的因應措施。
找出最符合案例的案例,然後使用對應的建議因應措施重試配置要求,以增加配置成功的可能性。 或者,您也可以稍後再重試。 這是因為叢集、區域或可用區可能已釋放足夠的資源,以因應您的要求。
為確保始終有足夠的容量供您的工作負載使用,請考量使用按需容量預留。 此選項可讓您事先保留計算容量,確保 VM 可以視需要部署,而不會發生配置失敗。 這種方法可以改善部署的可靠性與可預測性。
獨立 VM
原因
如果您在 Azure 中擁有獨立 VM,這表示它不是可用性設定組或鄰近放置群組與其他 VM 的一部分,而且您在嘗試 建立、 啟動或 重新部署 作業時遇到配置失敗,這表示 Azure 目前沒有足夠的容量來滿足指定區域或可用區中的要求。
解決方法
若要解決這個問題,請使用下列其中一個方法:
重試配置
有時候,問題可能是暫時性的,而且在短時間內重試配置可以解決問題。
調整 VM 的大小
請考慮將 VM 變更為在區域或可用區中具有更多可用性的不同大小。
變更區域或可用區
如果目前的區域或可用區遇到高需求,請嘗試在不同的區域或可用區中部署 VM,其中可能有更多容量。
調整 VM 的大小、將 VM 新增至現有的可用性設定組,或啟動部分停止(已解除配置)VM
注意事項
只有在建立 VM 時,才能將 VM 新增到可用性設定組中。 若要將現有的 VM 新增至可用性設定組,或變更 VM 的可用性設定組,必須刪除並重新建立 VM。 有關更多資訊,請參閱使用 Azure PowerShell 變更虛擬機器的可用性設定組。
原因
必須在裝載現有可用性設定組的原始叢集上,嘗試要求調整 VM 大小,或將 VM 新增至現有的可用性設定組。 該叢集可能不支援請求的 VM 大小或目前沒有足夠的容量。
部分解除配置意味著您停止(解除配置)了可用性設定組中的一個或多個(但不是全部)VM。 當您解除配置 VM 時,會釋放相關聯的資源。 在部分解除配置的可用性設定組中啟動 VM,與將 VM 新增至現有的可用性設定組相同。 因此,必須在裝載可能沒有足夠的容量的現有可用性設定組的原始叢集上提出配置要求。
解決方法
若要解決這個問題,請使用下列其中一個方法:
如果 VM 可以屬於不同的可用性設定組,請在不同的可用性設定組 (位於相同區域或可用區) 中建立 VM。 然後,這個新的 VM 就可以加入至相同的虛擬網路。
請考慮將 VM 大小調整為在區域或可用區中可能有更多可用性的不同大小。 若要確保您的可用性設定組支援 VM 大小,請使用 可用性設定組 - 列出可用大小 - REST API。
停止(解除配置)相同可用性設定組中的所有 VM,然後啟動批次中的所有適用 VM,以允許來自所有可用叢集的配置,而不只是目前配置可用性設定組的叢集。
若要停止可用性設定組中的所有 VM,請遵循下列步驟:
- 在 Azure 入口網站中,瀏覽至虛擬機器。
- 選取新增篩選 ,然後為您要管理的可用性設定組新增篩選。
- 核取可用性組設定中所有 VM 的方塊。
- 選擇停止,等待操作完成且所有虛擬機器報告已停止(已解除配置)狀態。
- 選取開始以重新配置所有 VM。
在可用性設定組中啟動完全停止(已解除配置)的 VM
原因
完整解除配置表示您已停止(解除配置)可用性設定組中的所有 VM。 啟動這些 VM 的配置要求會以支援區域或可用區內所需大小的所有叢集為目標。
解決方法
若要解決這個問題,請使用下列其中一個方法:
重試配置
有時候,問題可能是暫時性的,而且在短時間內重試配置可以解決問題。
調整 VM 的大小
請考慮將 VM 大小調整為在區域或可用區中可能有更多可用性的不同大小。 若要確保您的可用性設定組支援 VM 大小,請使用 可用性設定組 - 列出可用的大小 - REST API。
變更區域或可用區
如果目前的區域或可用區遇到高需求,請嘗試將 VM 部署或移轉至可能有更多容量的不同區域或可用區。
可用區中 VM 的配置失敗
原因
可用區是 Azure 區域中實際獨立的資料中心。 可用區擁有獨立的電源、冷卻和網路基礎架構。 其設計目的是藉由將失敗隔離至單一可用區,以確保高可用性和復原能力,從而將相同區域內其他可用區的影響降到最低。
但是,由於與可用區相關的額外部署約束條件,可能會發生配置失敗情況。
解決方法
若要解決這個問題,請使用下列其中一個方法:
重試配置
有時候,稍後重試配置要求會有所幫助,因為資源可能已在可用區中釋出。
調整 VM 的大小
請考慮將 VM 大小調整為在區域或可用區中可能有更多可用性的不同大小。
變更區域或可用區
如果目前的區域或可用區遇到高需求,請嘗試將 VM 部署或移轉至可能有更多容量的不同區域或可用區。 您可以使用下列方法變更區域或可用區:
在不同的可用區中或沒有區域條件約束的情況下,使用 OS 磁碟副本建立新的 VM。 取消區域限制可將配置選項擴充到整個區域,而不是將其限制在單一可用區。
如需詳細資訊,請參閱下列文章:
在不同的區域中移轉或建立 VM。 如需詳細資訊,請參閱跨區域移動 Azure VM。
過度限制的配置失敗
原因
當 Azure 計算平台無法設定 VM 以符合要求中指定的必要條件約束時,會發生過度限制的配置失敗。 當可用的資源內無法符合特定需求時,通常會發生這些失敗。 它們通常以諸如OverconstrainedZonalAllocationRequest
或OverconstrainedAllocationRequest
之類的錯誤表示。
這些條件約束通常(但不一定)包含下列項目:
- VM 大小/SKU
- 加速網路
- 可用性區域
- 暫時性磁碟
- 鄰近放置群組 (PPG)
- Ultra 磁碟或 PremiumSSDv2
解決方法
若要解決這個問題,請使用下列其中一個方法:
重試配置
有時候,稍後重試配置要求會有所幫助,因為資源可能已在可用區中釋出。
調整 VM 的大小
請考慮將 VM 大小調整為在區域或可用區中可能有更多可用性的不同大小。
變更區域或可用區
如果目前的區域或可用區遇到高需求,請嘗試將 VM 部署或移轉至可能有更多容量的不同區域或可用區。 您可以使用下列方法變更區域或可用區:
在不同的可用區中或沒有區域條件約束的情況下,使用 OS 磁碟副本建立新的 VM。 取消區域限制可將配置選項擴充到整個區域,而不是將其限制在單一可用區。
如需詳細資訊,請參閱下列文章:
在不同的區域中移轉或建立 VM。 如需詳細資訊,請參閱跨區域移動 Azure VM。
調整可能會限制配置的條件約束:可用區中的 VM SKU 可能有足夠的可用性。 不過,定義的條件約束可能會防止配置。 若要增加成功配置的可能性,請考慮依照下列方式調整條件約束:
- 停用加速網路。
- 從任何鄰近放置群組中移除 VM。
- 移除任何 UltraSSD 或 PemiumSSDv2 磁碟。
使用鄰近放置群組的 VM 配置失敗
鄰近放置群組確保資源在同一個資料中心內共置,以減少延遲。 然而,新增的部署條件約束有時會導致配置失敗。 如需詳細資訊和最佳做法,請參閱鄰近放置群組。
原因
當您請求啟動或分配鄰近放置群組中的第一個 VM 時,會自動選擇資料中心。 如果該資料中心內無法使用所需的 VM 大小,要求就會失敗。 在以動態方式新增或移除 VM 執行個體的彈性工作負載的情況下,強制執行鄰近放置群組條件約束可能會導致配置失敗,表示無法完成配置要求。
因應措施
解除配置鄰近放置群組中的所有 VM,並嘗試變更您啟動 VM 的順序。 首先,使用最嚴格的 SKU 啟動 VM 可以增加成功配置的機會。
較舊版 VM 大小 (Av1、Dv1、DSv1、D15v2、DS15v2 等) 的配置失敗
隨著 Azure 基礎結構的擴充,我們會部署更新一代、專為支援最新虛擬機器類型而設計的硬體。 有些較舊系列的 VM 無法在我們最新一代的基礎結構上執行。 因此,客戶可能偶爾會遇到這些舊版 SKU 的配置失敗問題。 為了避免這個問題,我們鼓勵使用舊版系列虛擬機器的客戶考慮依據下列建議移轉至對等的較新版 VM。 這些 VM 已針對最新的硬體進行優化,並可讓您利用更好的定價和效能。
傳統 VM 系列/大小 | 建議的較新版 VM 系列/大小 | 其他相關資訊 |
---|---|---|
Av1 系列 | Av2 系列 | https://azure.microsoft.com/blog/new-av2-series-vm-sizes/ |
Dv1 或 DSv1 系列 (D1 到 D5) | Dv3 或 DSv3 系列 | https://azure.microsoft.com/blog/introducing-the-new-dv3-and-ev3-vm-sizes/ |
Dv1 或 DSv1 系列 (D11 到 D14) | Ev3 或 ESv3 系列 | |
D15v2 或 DS15v2 | 請考慮移至 D16v3/DS16v3 或 D32v3/DS32v3。 這些設計目的是在最新一代硬體上執行。 如果您想要確定 VM 執行個體與單一客戶專用的硬體隔離,請考慮移至新的隔離 VM 大小,E64i_v3 或 E64is_v3,其設計目的是要在最新一代硬體上執行。 | https://azure.microsoft.com/blog/new-isolated-vm-sizes-now-available/ |
大型部署 (超過 500 個核心) 的配置失敗
請縮減所要求 VM 大小的執行個體數目,然後重試部署作業。 此外,針對較大型的部署,您可以評估具有多個放置群組的 Azure 虛擬機器擴展集。 VM 執行個體的數目可以因應需求或已定義的排程來自動增加或減少,您的配置成功率將可提高,因為部署為多重放置群組時可將部署分散到多個叢集。 詳細瞭解如何使用大型虛擬機器擴充集以及如何轉換現有擴充集以跨越多個放置群組。 請注意,您可以變更擴展集,使其無法支援單一放置群組,以支援多個放置群組,但您無法以另一個方向執行轉換。
背景資訊
配置的運作方式
Azure 資料中心的伺服器分割成叢集。 通常,會在多個叢集中嘗試配置請求,但配置請求中的某些條件約束(例如 VM 大小、Ultra SSD 和鄰近放置群組)可能會強制 Azure 平台僅在一個叢集中嘗試請求。 下圖 1 說明在多個叢集中嘗試的一般配置案例。
配置失敗的原因
當配置有大量的限制時,因為可用的資源集區較小,因此找不到閑置資源的機會較高。 此外,如果您的配置要求受到限制(例如,使用鄰近放置群組時,但您所要求的資源類型不受叢集和附近資源組支援),即使叢集有閑置資源,您的要求仍會失敗。 下圖 2 說明配置失敗的情況,因為與鄰近放置群組相關聯的候選叢集沒有閑置資源。 圖 3 說明配置失敗的情況,因為與鄰近放置群組相關聯的候選叢集不支援要求的 VM 大小,即使叢集具有閑置資源也一樣。
與我們連絡,以取得說明
如果您有問題或需要相關協助,請建立支援要求,或詢問 Azure community 支援。 您也可以向 Azure 意見反應社群提交產品意見反應。