Share via


修正在 Azure 中建立、重新啟動或調整 虛擬機器擴展集 大小時的 AllocationFailed 或 ZonalAllocationFailed 錯誤

警告

如果您的 Microsoft Azure 虛擬機擴展集是 Azure Service Fabric 叢集的一部分,請勿遵循此疑難解答指引。 本指南可能會在此案例中造成數據遺失和無法復原的叢集損毀。 如需詳細資訊,請參閱 我可以在我的 Service Fabric 叢集中使用大型虛擬機擴展集嗎?

在本文中,取得下列資訊:

  • Microsoft Azure 虛擬機器擴展集 中的 AllocationFailed 或 ZonalAllocationFailed 錯誤。
  • 如何避免配置失敗。
  • 配置失敗的原因。
  • 如何在發生配置失敗時進行疑難解答。

若要針對 VM) (標準虛擬機的配置失敗進行疑難解答,請參閱 針對在 Azure 中建立、重新啟動或調整 VM 大小時的配置失敗進行疑難解答

徵兆

由於 Azure 服務的高需求,如果您嘗試在特定區域中建立或啟動 VM 實例,可能會發生配置失敗。 Azure 會嘗試在您每次下列狀況下,將計算資源配置給您的訂用帳戶:

  • 建立虛擬機擴展集。
  • 重新啟動已停止 (已解除分配) 擴展集 VM 實例。
  • 調整擴展集的大小。

下列錯誤詳細數據是配置失敗訊息的範例。

錯誤碼:AllocationFailed 或 ZonalAllocationFailed

錯誤訊息 1:配置失敗。 我們在這個區域中沒有足夠的容量來容納要求的 VM 大小。 如需改善設定成功可能性的詳細資訊,請參 https://aka.ms/allocation-guidance閱 。

錯誤訊息 2:配置失敗。 無法配置具有下列條件約束的 VM () ,因為條件太嚴格。 請移除一些條件約束,然後再試一次。 套用的條件約束包括:

  • 可用性區域
  • VM 大小

錯誤訊息 3:配置失敗。 如果您嘗試將新的 VM 新增至具有單一放置群組的虛擬機擴展集,或使用單一放置群組更新/調整虛擬機擴展集中現有 VM 的大小,請注意,這類配置的範圍為單一叢集,而且叢集可能已超出容量。 請在 深入瞭解如何改善配置成功 https://aka.ms/allocation-guidance的可能性。

如何避免配置失敗

若要避免配置失敗,您可以將一些組態設定套用至擴展集,以優化配置要求。

  • 過度布建。 開啟過度布建后,擴展集實際上會啟動比您要求更多的 VM 實例。 然後在成功布建要求的 VM 實例數目之後,它會刪除額外的 VM 實例。 此做法可改善布建成功率,並縮短部署時間。 您不需支付額外的 VM 實例費用,也不會計入您的配額限制。 若要啟用過度布建:

    1. Azure 入口網站 中,搜尋並選取 [虛擬機擴展集]

    2. 選取擴展集的名稱。

    3. 在功能表窗格中,選取 [ 設定]

    4. 在 [ 過度布建] 標題中 ,將 [ 啟用過度布 建] 設定為 [開啟]

    5. 選取 [儲存]

    深入瞭解 過度布建

  • 啟用大型擴展集。 大型 虛擬機器擴展集 定義為可調整為大於100個 VM 實例的擴展集。 這項功能是由擴展集屬性 () singlePlacementGroup=false 所設定。 讓大型擴展集變得特殊的不是 VM 實例的數目,而是它所包含的放置群組數目。 放置群組類似於 Azure 可用性設定組,具有自己的容錯網域和升級網域。 當 singlePlacementGroup 設定為 false時,您有更大的機會成功配置,因為部署可在部署為多重群組時分散到多個叢集。 深入瞭解如何 使用大型虛擬機擴展集,特別是如何 將現有的擴展集轉換成跨多個放置群組

    注意事項

    您可以將擴展集從支援單一放置群組變更為支援多個放置群組,但無法執行另一個方向的轉換。 設定 singlePlacementGroupfalse之後,您就無法將它變更回來。

減少所要求 VM 大小的實例數目,然後重試部署作業。 對於較大的部署,您可能想要評估具有多個放置群組的 Azure 虛擬機器擴展集。 VM 實例的數目可以自動增加或減少,以回應需求或定義的排程。

其他秘訣

在慣用的區域中提供您慣用的 VM 類型之前,遇到部署問題的客戶應該將下列各節中的指引視為暫時解決方案。

識別最符合您案例的案例。 若要提高配置成功的可能性,請使用對應的建議解決方案重試配置要求。 或者,您隨時可以稍後重試。 叢集、區域或區域中可能已釋放足夠的資源,以便在其他時間容納您的要求。

原因

區域或區域沒有足夠的核心容量可供要求的 SKU 使用。

原因 1:調整擴展集的大小,或將 VM 實例新增至現有的擴展集

如果有調整擴展集大小或將 VM 實例新增至現有擴展集的要求,則必須在裝載現有擴展集的原始叢集上嘗試。 或者叢集支援要求的 VM 大小,但目前可能沒有足夠的容量。

原因 1 的解決方案

請嘗試下列其中一個動作:

  • 嘗試將擴展集移至相同區域中具有足夠容量的不同叢集。

    停止 (解除分配) 擴展集中的所有 VM 實例,然後視需要調整擴展集的大小。 重設大小完成之後,請重新啟動 VM 實例。 若要停止 VM 實例:

    1. Azure 入口網站 中,搜尋並選取 [虛擬機擴展集]

    2. 選取擴展集的名稱。

    3. 選取 [停止]

    停止所有 VM 實例以執行重設大小,然後啟動擴展集之後,新的配置嘗試可以識別具有足夠容量來裝載整個擴展集的叢集。

  • 將擴展集設定為跨多個放置群組進行調整。

    請參閱 建立大型擴展集

原因 2:重新啟動部分停止 (解除分配) VM

部分解除分配表示您已停止 (已解除分配) 擴展集中的一或多個 VM 實例,但不是所有 VM 實例。 當您解除分配 VM 實例時,會釋放相關聯的資源。 在部分解除分配的可用性設定組中重新啟動 VM 實例,與將 VM 實例新增至現有的可用性設定組相同。 因此,您必須在裝載現有可用性設定組的原始叢集上嘗試配置要求,這可能沒有足夠的容量。

原因 2 的解決方案

停止 () 擴展集中的所有 VM 實例解除分配,然後重新啟動每個 VM 實例。 若要停止 VM 實例:

  1. Azure 入口網站 中,搜尋並選取 [虛擬機擴展集]

  2. 選取擴展集的名稱。

  3. 在功能表窗格中,選取 [ 實例]

  4. 選取列出的所有虛擬機實例。

  5. 選取 [停止]

在所有 VM 停止之後,選取第一個 VM 實例,然後選取 [ 啟動]。 Azure 會進行新的配置嘗試,並選取具有足夠容量的新叢集。

原因 3:已完全停止的已重新啟動 VM 實例

完整解除分配表示您已停止 (解除分配) 可用性設定組中的所有 VM 實例。 重新啟動這些 VM 實例的配置要求會以支援區域或區域內所需大小的所有叢集為目標。

原因 3 的解決方案

使用本文中的建議來變更配置要求。 然後重試要求,以改善配置成功的機會。

如果您使用較舊的 VM 系列或大小 (例如 Dv1、DSv1、Av1、D15v2 或 DS15v2) ,請考慮移至較新的版本。 請參閱這些特定 VM 大小的建議。 您不允許使用不同的 VM 大小嗎? 然後嘗試部署到相同地理位置內的不同區域。 如需每個區域中可用 VM 大小的詳細資訊,請參閱 https://aka.ms/azureregions

如果您使用可用性區域,請嘗試區域內可能具有所要求 VM 大小可用容量的另一個區域。

如果您的配置要求很大 (超過 500 個核心) ,請參閱下列各節,將要求分解成較小的部署。

請嘗試 重新部署 VM 實例,以將 VM 實例配置給區域內的新叢集。

舊版 VM 大小的配置失敗

某些較舊的系列 VM 大小不會在我們的最新一代基礎結構上執行。 客戶偶爾可能會遇到這些舊版 SKU 的配置失敗。 我們鼓勵使用舊版系列虛擬機的客戶考慮移轉至相等的較新 VM。 較新的 VM 已針對最新的硬體進行優化,可讓您利用更好的定價和效能。

請參閱下列建議:

舊版 VM 系列或大小 建議的較新 VM 系列或大小 部落格連結
Av1 系列 Av2 系列 新的 A_v2-Series VM 大小
Dv1 或 DSv1 系列 (D1 到 D5) Dv3 或 DSv3 系列 介紹新的 Dv3 和 Ev3 VM 大小
Dv1 或 DSv1 系列 (D11 到 D14) Ev3 或 ESv3 系列
D15v2 或 DS15v2

如果您使用 Resource Manager 部署模型來利用較大的 VM 大小,請考慮移至 D16v3/DS16v3 或 D32v3/DS32v3。 這些大小是設計來在最新一代硬體上執行。

您是否使用 Resource Manager 部署模型,以確保您的 VM 實例與單一客戶專用的硬體隔離? 然後考慮移至新的隔離 VM 大小,E64i_v3或E64is_v3,其設計目的是在最新一代的硬體上執行。

新的隔離 VM 大小現已可供使用

背景資訊

配置的運作方式

Azure 平台會嘗試將數據中心伺服器分割成叢集。 一般而言,它會在多個叢集中嘗試配置要求。 但是,配置要求的某些條件約束可能會強制 Azure 平臺只在一個叢集中嘗試要求, (「釘選到叢集」) 。 下圖 1 顯示在叢集 1 到叢集 n) (多個叢集中嘗試的一般配置。 在圖表 2 中,配置會釘選到叢集 2,因為該叢集裝載現有的雲端服務 (CS_1) 或可用性設定組。

圖表 1:嘗試在多個叢集中進行 Azure 平臺配置。圖表 2:釘選到一個叢集的 Azure 平臺配置。

配置失敗的原因

如果將配置要求釘選到叢集,則因為可用的資源集區較小,所以找不到可用資源的機率較高。 如果您的配置要求釘選到不支援您要求之資源類型的叢集,該怎麼辦? 然後,即使叢集有免費資源,您的要求也會失敗。 下圖 3 顯示釘選配置失敗的位置,因為唯一的候選叢集沒有免費資源。 圖表 4 顯示釘選配置失敗的位置,因為唯一的候選叢集不支援要求的 VM 大小,即使叢集有可用的資源也一般。

配置失敗的圖表是固定的叢集。圖表 3 顯示沒有可用的資源。圖表 4 顯示不支援的大小。

與我們連絡,以取得說明

如果您有問題或需要相關協助,請建立支援要求,或詢問 Azure community 支援。 您也可以將產品意見反應提交給 Azure 意應見反社群