共用方式為


修正您在 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 可用性設定組,其中包含自己的容錯網域和升級網域。 設定 singlePlacementGroupfalse時,您很有可能成功配置,因為部署可以在部署為多位置群組時分散到多個叢集。 深入瞭解如何使用大型虛擬機擴展集,特別是如何將現有的擴展集轉換為跨越多個放置群組。

    注意

    您可以將擴展集從支援單一放置群組變更為支援多個放置群組,但您無法在其他方向執行轉換。 一旦 singlePlacementGroup 設定為 false,就無法將它變更回去。

請縮減所要求 VM 大小的執行個體數目,然後重試部署作業。 針對較大的部署,您可能想要使用多個放置群組評估 Azure 虛擬機器擴展集。 VM 執行個體的數目可以自動增加或減少,以因應需求或已定義的排程。

其他祕訣

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

找出最符合您案例的案例。 若要增加配置成功的可能性,請使用對應的建議解決方案重試配置要求。 或者,您稍後一律可以重試。 叢集、區域或區域可能已釋放足夠的資源,以在另一次容納您的要求。

原因

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

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

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

原因 1 的解決方案

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

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

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

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

    2. 選取擴展集的名稱。

    3. 選取 [停止]。

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

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

    請參閱 建立大型擴展集

原因 2:重新啟動部分停止 (已解除分配) 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 系列 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 意見反應社群提交產品意見反應。