創建 VM、重啟已停止(解除分配)的 VM 和重設 VM 大小時,Azure 會為訂閱分配計算資源。 執行這些操作時,即使尚未達到 Azure 訂閱限制,也可能偶爾收到錯誤。 本文說明一些常見分配故障的原因,并建議可能的補救方法。 計劃服務的部署時,本信息可能也有用。 還可以用于排查在 Azure 中創建、重啟 Windows VM 或調整其大小時發生的分配故障。
如果本文未解決你的 Azure 問題,請訪問MSDN 和 CSDN上的 CSDN Azure 論壇。 你可以在這些論壇上發布你的問題。 此外,還可以通過在Azure 支持站點上選擇“獲取支持”來發出 Azure 支持請求。
常規故障排除步驟
對經典部署模型中的常見分配失敗進行故障排除
這些步驟可幫助解決虛擬機中的許多分配失敗:
將 VM 重設為不同的 VM 大小。
單擊“瀏覽全部內容” > “虛擬機(經典)” > 你的虛擬機 >“設置” > “大小”****************。 有關詳細步驟,請參閱調整虛擬機的大小。
從云服務刪除所有 VM,然后重新創建 VM。
單擊“瀏覽全部內容” > “虛擬機(經典)”> 你的虛擬機 >“刪除”************。 然后,單擊“新建” > “計算”> [虛擬機映像]。
對 Azure Resource Manager 部署模型中的常見分配失敗進行故障排除
這些步驟可幫助解決虛擬機中的許多分配失敗:
停止(解除分配)同一可用性集中的所有 VM,然后重啟每個 VM。
若要停止:單擊“資源組”> 你的資源組 >“資源”> 你的可用性集 >“虛擬機”> 你的虛擬機 >“停止”****************。
所有 VM 都停止后,選中第一個 VM 并單擊“啟動”。
背景信息
分配的工作原理
Azure 數據中心的服務器分區成群集。 通常會嘗試向多個群集發出分配請求,但分配請求可能帶有某些約束,從而強制 Azure 平臺只嘗試向一個群集發出請求。 在本文中,這種情況稱為“固定到群集”。 下圖 1 演示了在多個群集中嘗試進行一般分配的情況。 圖 2 演示了固定到群集 2(因為現有的云服務 CS_1 或可用性集托管于此處)的分配情況。
發生分配失敗的原因
當分配請求固定到某個群集時,由于可用的資源池較小,很可能找不到可用的資源。 此外,如果分配請求固定到某個群集,但該群集不支持你所請求的資源類型,那么,即使該群集有可用的資源,你的請求仍會失敗。 下圖 3 說明由于唯一候選群集沒有可用的資源,導致已固定的分配失敗的情況。 圖 4 說明由于唯一候選群集不支持所請求的 VM 大小(雖然群集有可用的資源),導致已固定的分配失敗的情況。
針對經典部署模型中的具體分配失敗情況進行故障排除的步驟
以下是造成分配請求被固定的常見分配案例。 我們將在本文稍后深入探討每一個案例。
重設 VM 大小或向現有云服務添加 VM 或角色實例
重啟部分停止(已解除分配)的 VM
重啟完全停止(已解除分配)的 VM
過渡/生產環境部署(僅適用于平臺即服務)
地緣組(VM/服務鄰近性)
基于地緣組的虛擬網絡
發生分配錯誤時,請查看以下是否有任何案例符合你所處的情況。 使用 Azure 平臺返回的分配錯誤來識別對應的案例。 如果你的請求已固定,請嘗試刪除一些固定約束,向更多群集展現你的請求,以增加分配成功的機會。
一般而言,只要錯誤不指示“不支持所請求的 VM 大小”,你永遠都可以稍后再試,因為到時群集可能釋放足夠的資源來滿足你的請求。 如果問題在于不支持所請求的 VM 大小,請嘗試使用不同的 VM 大小。 否則,唯一的做法就是刪除固定約束。
有兩個常見的故障案例與地緣組有關。 在過去,地緣組用于支持 VM/服務實例的鄰近性,或用于支持創建虛擬網絡。 在引進區域虛擬網絡之后,創建虛擬網絡已不再需要地緣組。 由于 Azure 基礎結構中的網絡延遲時間縮短,原本建議使用地緣組來支持 VM/服務鄰近性的情況已有所改變。
下圖 5 顯示(固定的)分配案例的分類。
Note
每個分配案例中列出的錯誤均已縮略。 如需詳細的錯誤字符串,請參閱錯誤字符串查找。
分配案例:重設 VM 大小或向現有云服務添加 VM 或角色實例
錯誤
Upgrade_VMSizeNotSupported 或 GeneralError
群集固定的原因
必須在托管現有云服務的原始群集上,嘗試請求重設 VM 大小或向現有云服務添加 VM 或角色實例。 創建新的云服務可讓 Azure 平臺尋找另一個有可用資源的群集,或另一個支持你所請求的 VM 大小的群集。
解決方法
如果錯誤是 Upgrade_VMSizeNotSupported*,請嘗試使用不同的 VM 大小。 如果使用不同的 VM 大小不可行,但可接受使用不同的虛擬 IP 地址 (VIP),則創建新的云服務來托管新的 VM,并將新的云服務添加到運行現有 VM 的區域虛擬網絡中。 如果現有的云服務未使用區域虛擬網絡,你仍然可以為新的云服務創建新的虛擬網絡,然后將現有虛擬網絡連接到新的虛擬網絡。 請參閱有關區域虛擬網絡的詳細信息。
如果錯誤是 GeneralError*,很可能是因為群集雖然支持資源的類型(例如特定的 VM 大小),但群集目前沒有可用的資源。 類似上述,通過創建新的云服務(請注意,新的云服務必須使用不同的 VIP)添加所需的計算資源,并使用區域虛擬網絡連接云服務。
分配案例:重啟部分停止(已解除分配)的 VM
錯誤
GeneralError*
群集固定的原因
部分解除分配表示已停止(解除分配)云服務中的一或多個 VM,但不是全部。 停止(解除分配)VM 時會釋放相關聯的資源。 因此,重啟已停止(解除分配)的 VM 是一項新的分配請求。 重新啟動已部分解除分配的云服務中的 VM 相當于向現有云服務添加 VM。 必須在托管現有云服務的原始群集上嘗試發出分配請求。 創建不同的云服務可讓 Azure 平臺尋找另一個有可用資源的群集,或另一個支持你所請求的 VM 大小的群集。
解決方法
如果可接受使用不同的 VIP,請刪除已停止(解除分配)的 VM(但保留相關聯的磁盤),并通過不同的云服務加回 VM。 使用區域虛擬網絡連接你的云服務:
如果現有的云服務使用區域虛擬網絡,只要將新的云服務添加到相同的虛擬網絡即可。
如果現有的云服務未使用區域虛擬網絡,請為新的云服務創建新的虛擬網絡,然后將現有虛擬網絡連接到新的虛擬網絡。 請參閱有關區域虛擬網絡的詳細信息。
分配案例:重啟完全停止(已解除分配)的 VM
錯誤
GeneralError*
群集固定的原因
完全解除分配表示已從云服務停止(解除分配)所有 VM。 必須在托管云服務的原始群集上嘗試發出分配請求來重新啟動這些 VM。 創建新的云服務可讓 Azure 平臺尋找另一個有可用資源的群集,或另一個支持你所請求的 VM 大小的群集。
解決方法
如果可接受使用不同的 VIP,請刪除已停止(解除分配)的原始 VM(但保留相關聯的磁盤),并刪除對應的云服務(停止(解除分配)VM 時就已釋放相關聯的計算資源)。 創建新的云服務來加回 VM。
分配案例:過渡/生產環境部署(僅適用于平臺即服務)
錯誤
New_General* 或 New_VMSizeNotSupported*
群集固定的原因
云服務的過渡環境部署和生產環境部署托管于同一個群集中。 添加第二個部署時,將會在托管第一個部署的相同群集中嘗試發出對應的分配請求。
解決方法
刪除第一個部署和原始的云服務,然后重新部署云服務。 此操作可能將第一個部署安排到有足夠可用資源可滿足這兩個部署的群集,或安排到支持所請求 VM 大小的群集。
分配案例:地緣組(VM/服務鄰近性)
錯誤
New_General* 或 New_VMSizeNotSupported*
群集固定的原因
任何分配給地緣組的計算資源都綁定到一個群集。 該地緣組中新的計算資源請求將于托管現有資源的相同群集中嘗試發出。 無論是通過新的云服務還是現有的云服務創建新資源,都是如此。
解決方法
如果不一定需要地緣組,請不要使用地緣組或嘗試將計算資源分組為多個地緣組。
分配案例:基于地緣組的虛擬網絡
錯誤
New_General* 或 New_VMSizeNotSupported*
群集固定的原因
在引入區域虛擬網絡之前,必須先將虛擬網絡與地緣組進行關聯。 這樣,便會根據上一部分“分配案例:地緣組(VM/服務鄰近性)”中所述的相同約束,綁定已放入地緣組中的計算資源。 計算資源已綁定到一個群集。
解決方法
如果不需要地緣組,請為要添加的新資源創建新的區域虛擬網絡,然后將現有虛擬網絡連接到新的虛擬網絡。 請參閱有關區域虛擬網絡的詳細信息。
此外,你也可以將基于地緣組的虛擬網絡遷移到區域虛擬網絡,然后重新添加所需的資源。
針對 Azure Resource Manager 部署模型中的具體分配失敗情況進行故障排除的步驟
以下是造成分配請求被固定的常見分配案例。 我們將在本文稍后深入探討每一個案例。
重設 VM 大小或向現有云服務添加 VM 或角色實例
重啟部分停止(已解除分配)的 VM
重啟完全停止(已解除分配)的 VM
發生分配錯誤時,請查看以下是否有任何案例符合你所處的情況。 使用 Azure 平臺返回的分配錯誤來識別對應的案例。 如果你的請求已固定到現有的群集,請刪除一些固定約束,向更多群集展現你的請求,以增加分配成功的機會。
一般而言,只要錯誤不指示“不支持所請求的 VM 大小”,你永遠都可以稍后再試,因為到時群集可能釋放足夠的資源來滿足你的請求。 如果問題在于不支持所請求的 VM 大小,請參閱下面的解決方法。
分配案例:重設 VM 大小或向現有可用性集添加 VM
錯誤
Upgrade_VMSizeNotSupported* 或 GeneralError*
群集固定的原因
必須在托管現有可用性集的原始群集上,嘗試請求重設 VM 大小或向現有可用性集添加 VM。 創建新的可用性集可讓 Azure 平臺尋找另一個有可用資源的群集,或另一個支持你所請求的 VM 大小的群集。
解決方法
如果錯誤是 Upgrade_VMSizeNotSupported*,請嘗試使用不同的 VM 大小。 如果使用不同的 VM 大小不可行,請停止可用性集中的所有 VM。 然后,你可以更改虛擬機的大小,將 VM 分配到支持所需 VM 大小的群集。
如果錯誤是 GeneralError*,很可能是因為群集雖然支持資源的類型(例如特定的 VM 大小),但群集目前沒有可用的資源。 如果 VM 可以屬于不同的可用性集,請在(位于相同區域的)不同的可用性集中創建新的 VM。 然后,可以將這個新的 VM 添加到相同的虛擬網絡中。
分配案例:重啟部分停止(已解除分配)的 VM
錯誤
GeneralError*
群集固定的原因
部分解除分配表示已停止(解除分配)可用性集中的一或多個(但不是全部)VM。 停止(解除分配)VM 時會釋放相關聯的資源。 因此,重啟已停止(解除分配)的 VM 是一項新的分配請求。 重新啟動已部分解除分配的可用性集相當于向現有可用性集添加 VM。 必須在托管現有可用性集的原始群集上嘗試發出分配請求。
解決方法
停止可用性集中的所有 VM,再重新啟動第一個 VM。 這可確保運行新的分配嘗試,而且可以選擇有可用容量的新群集。
分配案例:重啟完全停止(已解除分配)的 VM
錯誤
GeneralError*
群集固定的原因
完全解除分配表示已停止(解除分配)可用性集中的所有 VM。 發出分配請求來重新啟動這些 VM 時,將會以支持所需大小的所有群集為目標。
解決方法
選擇要分配的新 VM 大小。 如果這不起作用,請稍后重試。
錯誤字符串查找
New_VMSizeNotSupported*
“由于部署請求約束,無法預配此部署所需的 VM 大小(或 VM 大小的組合)。 可能的話,請嘗試放寬約束(例如虛擬網絡綁定)、部署到不具有其他部署的托管服務及不同的地緣組(或不具有地緣組的托管服務),或嘗試部署到不同的區域。”
New_General*
“分配失敗;無法滿足請求中的約束。 請求的新服務部署綁定至地緣組,或以虛擬網絡為目標,或此托管服務下已經有部署。 上述任一情況都會將新的部署局限于特定的 Azure 資源。 請稍后重試,或嘗試減少 VM 大小或角色實例數目。 或者,可能的話,刪除先前提到的約束,或嘗試部署到不同的區域。”
Upgrade_VMSizeNotSupported*
“無法升級部署。 在支持現有部署的資源中,可能沒有所請求的 VM 大小 XXX。 請稍后再試,嘗試使用不同的 VM 大小或較少數量的角色實例,或在空的托管服務下通過創建新的地緣組或沒有地緣組綁定來創建部署。”
GeneralError*
“服務器遇到內部錯誤。 請重試請求。” 或者“無法為服務生成分配。”
立即訪問http://market.azure.cn