針對還原點失敗進行疑難排解:與代理程式或延伸模組相關的問題
本文提供疑難排解步驟,協助您解決與 VM 代理程式和延伸模組通訊相關的還原點錯誤。
若本文未提及您遇到的 Azure 問題,請前往 Microsoft 問答集和 Stack Overflow 上的 Azure 論壇。 您可以在這些論壇中張貼您的問題,或將問題貼到 Twitter 上的 @AzureSupport。 您也可以提交 Azure 支援要求。 若要提交支援要求,請在 Azure 支援頁面上,選取 [取得支援]。
針對還原點失敗進行疑難排解的逐步指南
您可以遵循下面列出的疑難排解步驟,解決大部分常見的還原點失敗問題:
步驟 1:檢查 Azure VM 的健康情況
- 確定 Azure VM 佈建狀態為「執行中」:如果 VM 佈建狀態處於已停止/已解除配置/正在更新狀態,則其會干擾還原點作業。 在 Azure 入口網站中,移至 [虛擬機器]>[概觀],並確定 VM 狀態為 [執行中],然後重試還原點作業。
- 檢查擱置的 OS 更新或重新開機:確認沒有任何擱置的 OS 更新或擱置的 VM 重新開機。
步驟 2:檢查 Azure VM 客體代理程式服務的健康情況
確認 Azure VM 客體代理程式服務已啟動且為最新狀態:
- 瀏覽至 services.msc 並確認 Windows Azure VM 客體代理程式服務已啟動且正在執行中。 另請確定安裝的是最新版本。 深入了解。
- Azure VM 代理程式預設會安裝在使用入口網站、PowerShell、命令列介面或 Azure Resource Manager 範本,從 Azure Marketplace 映像部署的任何 Windows VM 上。 當您建立部署至 Azure 的自訂 VM 映像時,可能需要手動安裝代理程式。
- 請檢閱支援矩陣,檢查 VM 是否在支援的 Windows 作業系統上執行。
步驟 3:檢查 Azure VM 延伸模組的健康情況
- 確定所有 Azure VM 延伸模組都處於「佈建成功」狀態:如果任何延伸模組處於失敗狀態,則其會干擾還原點作業。
- 在 Azure 入口網站中,移至 [虛擬機器]>[設定]>[延伸模組]>[延伸模組狀態],並檢查所有延伸模組是否處於 [佈建成功] 狀態。
- 確定所有延伸模組問題都已解決,然後重試還原點作業。
- 確定 COM+ System Application 已啟動且正在執行中。 此外,分散式交易協調器服務應以網路服務帳戶的身分執行。
如果發生問題,請遵循針對 COM+ 和 MSDTC 問題進行疑難排解中的疑難排解步驟。
步驟 4:檢查 Azure VM 快照集延伸模組的健康情況
還原點會使用 VM 快照集延伸模組,讓應用程式與 Azure 虛擬機器的快照集保持一致。 還原點會安裝延伸模組,作為第一個還原點建立作業的一部分。
確定 VM 快照集延伸模組不是處於失敗狀態:請遵循疑難排解中的步驟,驗證並確保 Azure 快照集延伸模組的健康情況良好。
檢查防毒軟體是否封鎖延伸模組:某些防毒軟體可能會造成延伸模組無法執行。
還原點失敗時,請確認事件檢視器應用程式記錄中的記錄項目含有「發生失敗的應用程式名稱:IaaSBcdrExtension.exe」。 如果您看到這些項目,則 VM 中設定的防毒軟體可能正在限制 VM 快照集延伸模組的執行。 請在防毒軟體設定中排除下列目錄,測試後重試還原點作業。
C:\Packages\Plugins\Microsoft.Azure.RecoveryServices.VMSnapshot
C:\WindowsAzure\Logs\Plugins\Microsoft.Azure.RecoveryServices.VMSnapshot
檢查是否需要網路存取權:延伸模組套件可從 Azure 儲存體延伸模組存放庫下載,而延伸模組狀態上傳則會發佈至 Azure 儲存體。 深入了解。
- 如果您使用不受支援的代理程式版本,則必須允許從虛擬機器對該區域中的 Azure 儲存體進行存取。
- 如果您使用客體防火牆或 Proxy 來封鎖
168.63.129.16
的存取,則不論是否發生以上情況,延伸模組都會失敗。 需要連接埠 80、443 和 32526。 深入了解。
確定已在客體 VM 內啟用 DHCP:若要從 DHCP 取得主機或光纖位址,讓還原點能夠運作,則這是必要條件。 如果您需要靜態私人 IP,則應透過 Azure 入口網站或 PowerShell 加以設定,並確定已啟用 VM 內的 DHCP 選項。 深入了解。
確定 VSS 寫入器服務已啟動且正在執行中:請遵循以下步驟,針對 VSS 寫入器問題進行疑難排解。
常見問題
DiskRestorePointUsedByCustomer - 磁碟還原點有未完成的作用中共用存取簽章
錯誤碼:DiskRestorePointUsedByCustomer
錯誤訊息:磁碟還原點有未完成的作用中共用存取簽章。 刪除還原點之前,請先呼叫 EndGetAccess。
若在任何基礎磁碟還原點上有作用中的共用存取簽章 (SAS),則您無法刪除還原點。 請結束磁碟還原點上的共用存取,然後重試作業。
OperationNotAllowed - 在「建立還原點」作業正在進行時,已對虛擬機器做了變更。
錯誤碼:OperationNotAllowed
錯誤訊息:在「建立還原點」作業正在進行時,已對虛擬機器做了變更。 「建立還原點」作業目前無法完成。 請稍後再試一次。
如果正在以平行方式對 VM 模型進行變更 (例如,正在連結新磁碟或正在中斷連結現有磁碟),還原點建立就會失敗。 這是為了確保所建立還原點的資料完整性。 一旦更新了 VM 模型,就會重試建立還原點。
OperationNotAllowed - 不允許「建立還原點」作業,因為尚未成功配置磁碟。
錯誤碼:OperationNotAllowed
錯誤訊息:不允許「建立還原點」作業,因為尚未成功配置磁碟。 請使用 excludeDisks 屬性來排除這些磁碟,然後再試一次。
如果任何一個連結至 VM 的磁碟未正確配置,還原點就會失敗。 您必須先排除這些磁碟,然後才能觸發 VM 還原點的建立。 如果您是使用 ARM 處理器 API 來建立還原點,則若要排除磁碟,請在要求主體中將其識別碼新增至 excludeDisks 屬性。 如果您是使用 CLI、PowerShell 或入口網站,請設定各自的參數。
OperationNotAllowed - 如果虛擬機器具有共用磁碟,則不支援為其建立還原點。
錯誤碼:VMRestorePointClientError
錯誤訊息:如果虛擬機器具有共用磁碟,則不支援為其建立還原點。 您可以透過 excludeDisks 屬性,從還原點排除此磁碟。
共用磁碟目前不支援還原點。 您必須先排除這些磁碟,然後才能觸發 VM 還原點的建立。 如果您是使用 ARM 處理器 API 來建立還原點,則若要排除磁碟,請在要求主體中將其識別碼新增至 excludeDisks 屬性。 如果您是使用 CLI、PowerShell 或入口網站,請遵循各自的步驟。
VMAgentStatusCommunicationError - VM 代理程式無法與計算服務通訊
錯誤碼VMAgentStatusCommunicationError
錯誤訊息:VM 未報告 VM 代理程式或延伸模組的狀態。
Azure VM 代理程式可能已停止、過期、處於不一致狀態或未安裝。 這些狀態會阻止建立還原點。
- 在 Azure 入口網站中,移至 [虛擬機器]>[設定]>[屬性],並確定 [VM 狀態] 為 [執行中] 且 [代理程式狀態] 為 [就緒]。 如果 VM 代理程式已停止或處於不一致狀態,請重新啟動代理程式。
- 在 Azure 入口網站中,移至 [虛擬機器]>[設定]>[延伸模組],並確定所有延伸模組都處於 [佈建成功] 狀態。 否則,請遵循下列步驟來解決此問題。
VMRestorePointInternalError - 還原點建立失敗,因為建立 VM 快照集時發生內部執行錯誤。 請在一段時間之後重試此作業。
錯誤碼VMRestorePointInternalError
錯誤訊息:還原點建立失敗,因為建立 VM 快照集時發生內部執行錯誤。 請在一段時間之後重試此操作。
在您觸發還原點作業之後,計算服務會藉由與 VM 備份延伸模組通訊以取得時間點快照集,來啟動作業。 下列任一種狀況都可能會阻止觸發快照集。 如果未觸發快照集,還原點建立將會失敗。 請依照列出的順序完成下列疑難排解步驟,然後重試作業:
原因 1:代理程式已安裝到 VM 中,但沒有回應 (適用於 Windows VM)
原因 2︰VM 中安裝的代理程式已過時 (適用於 Linux VM)
原因 3︰無法擷取快照集狀態或無法取得快照集
原因 4:VM 代理程式設定選項未設定 (適用於 Linux VM)
原因 5:應用程式控制解決方案封鎖了 IaaSBcdrExtension.exe
當其中一個延伸模組失敗將 VM 放入佈建失敗狀態時,也會發生此錯誤。 如果上述步驟並未解決您的問題,請執行下列動作:
在 Azure 入口網站中,移至 [虛擬機器]>[設定]>[延伸模組],並確定所有延伸模組都處於 [佈建成功] 狀態。 深入了解佈建狀態。
- 如果任何延伸模組處於失敗狀態,則其可能會干擾還原點作業。 確定延伸模組問題已解決,然後重試還原點作業。
- 如果 VM 佈建狀態處於正在更新狀態,則其可能會干擾還原點作業。 確定其健康情況良好,然後重試還原點作業。
VMRestorePointClientError - 還原點建立失敗,因為發生 COM+ 錯誤。
錯誤碼:VMRestorePointClientError
錯誤訊息:還原點建立失敗,因為發生 COM+ 錯誤。 請重新啟動 Windows 服務「COM+ 系統應用程式」(COMSysApp)。 如果問題持續發生,請重新啟動 VM。
如果 COM+ 服務未執行,或如果此服務發生任何錯誤,還原點作業就會失敗。 請重新啟動 COM+ 系統應用程式,然後重新啟動 VM 並重試還原點作業。
VMRestorePointClientError - 還原點建立失敗,因為 COM+ 記憶體配額中可用的記憶體不足。
錯誤碼:VMRestorePointClientError
錯誤訊息:還原點建立失敗,因為 COM+ 記憶體配額中可用的記憶體不足。 請重新啟動 Windows 服務「COM+ 系統應用程式」(COMSysApp)。 如果問題持續發生,請重新啟動 VM。
如果 COM+ 服務中的記憶體不足,還原點作業就會失敗。 請重新啟動 COM+ 系統應用程式服務,而且 VM 通常會釋放記憶體。 一旦重新啟動,請重試還原點作業。
VMRestorePointClientError - 還原點建立失敗,因為 VSS 寫入器處於不良狀態。
錯誤碼:VMRestorePointClientError
錯誤訊息:還原點建立失敗,因為 VSS 寫入器處於不良狀態。 請重新啟動 VSS 寫入器服務並將 VM 重新開機。
還原點建立會叫用 VSS 寫入器,先將記憶體內部 IO 排清至磁碟,再取得快照集以實現應用程式一致性。 如果 VSS 寫入器處於不良狀態,則其會影響還原點建立作業。 請重新啟動 VSS 寫入器服務,並在重試作業之前重新啟動 VM。
VMRestorePointClientError - 還原點建立失敗,因為安裝適用於 Visual Studio 2012 的 Visual C++ 可轉散發套件時發生失敗。
錯誤碼:VMRestorePointClientError
錯誤訊息:還原點建立失敗,因為安裝適用於 Visual Studio 2012 的 Visual C++ 可轉散發套件時發生失敗。 請安裝適用於 Visual Studio 2012 的 Visual C++ 可轉散發套件。 如果您發現安裝出現問題,或已安裝此套件但發現這項錯誤,請重新啟動 VM 以清除安裝問題。
還原點作業需要適用於 Visual Studio 2021 的 Visual C++ 可轉散發套件。 下載適用於 Visual Studio 2012 的 Visual C++ 可轉散發套件,並在重試還原點作業之前重新啟動 VM。
VMRestorePointClientError - 還原點建立失敗,因為已達到一或多個磁碟 Blob 允許的快照集限制上限。 請刪除此 VM 的某些現有還原點,然後再試一次。
錯誤碼:VMRestorePointClientError
錯誤訊息:還原點建立失敗,因為已達到一或多個磁碟 Blob 允許的快照集限制上限。 請刪除此 VM 的某些現有還原點,然後再試一次。
所有還原點集合上的還原點數目和 VM 的資源群組數不能超過 500。 若要建立新的還原點,請刪除現有的還原點。
VMRestorePointClientError - 還原點建立失敗,發生錯誤「COM+ 無法與 Microsoft Distributed Transaction Coordinator 交談」。
錯誤碼:VMRestorePointClientError
錯誤訊息:還原點建立失敗,發生錯誤「COM+ 無法與 Microsoft Distributed Transaction Coordinator 交談」。
請依照下列步驟解決此錯誤:
- 從提高權限的命令提示字元開啟 services.msc
- 請確定 [分散式交易協調器] 服務的 [登入身分] 值已設定為 [網路服務],且服務執行中。
- 如果此服務無法啟動,請重新安裝此服務。
VMRestorePointClientError - 還原點建立失敗,因為 VM 資源不足。
錯誤碼:VMRestorePointClientError
錯誤訊息:還原點建立失敗,因為 VM 資源不足。 請變更 VM 大小來增加 VM 資源,然後重試作業。 若要調整虛擬機器大小,請參閱 https://azure.microsoft.com/blog/resize-virtual-machines/。
建立還原點需要足夠的計算資源可用。 如果在建立還原點時收到上述錯誤,您需要調整 VM 大小,然後選擇較高的 VM 大小。 請遵循如何調整 VM 大小中的步驟。 一旦調整了 VM 大小,請重試還原點作業。
VMRestorePointClientError - 還原點建立失敗,因為虛擬機器上沒有網路連線能力。
錯誤碼:VMRestorePointClientError
錯誤訊息:還原點建立失敗,因為虛擬機器上沒有網路連線能力。 請確定 VM 可以存取網路。 將 Azure 資料中心 IP 範圍加入允許清單中,或設定 Proxy 伺服器進行網路存取。 如需詳細資訊,請參閱https://go.microsoft.com/fwlink/?LinkId=800034。 如果您已經使用 Proxy 伺服器,請確定已正確設定 Proxy 伺服器設定。
在您觸發還原點的建立之後,計算服務會開始與 VM 快照集延伸模組通訊,以取得時間點快照集。 下列任一種狀況都可能會阻止觸發快照集。 如果未觸發快照集,可能會發生還原點失敗。 請完成下列疑難排解步驟,然後重試作業:
[無法擷取快照集狀態,或無法取得快照集].(#the-snapshot-status-cant-be-retrieved-or-a-snapshot-cant-be-taken)
VMRestorePointClientError - 還原點建立失敗,因為已在 VM 上觸發並行「建立還原點」作業。
錯誤碼:VMRestorePointClientError
錯誤訊息:還原點建立失敗,因為已在 VM 上觸發並行「建立還原點」作業。
最近的還原點建立失敗,因為已建立現有的還原點。 在目前還原點完全建立之前,您無法建立新的還原點。 在觸發另一個還原點建立作業之前,請確定目前正在進行中的還原點建立作業已完成。
若要檢查進行中的還原點,請執行下列步驟:
- 登入 Azure 入口網站,選取 [所有服務]。 輸入復原服務,然後選取 [還原點集合]。 還原點集合清單隨即出現。
- 從還原點集合清單中,選取要在其中建立還原點的還原點集合。
- 選取 [設定]>[還原點] 以檢視所有還原點。 如果還原點進行中,請等候其完成。
- 重試建立新的還原點。
DiskRestorePointClientError - 找不到與 DiskEncryptionSet 相關聯的 Keyvault。
錯誤碼DiskRestorePointClientError
錯誤訊息:找不到與 DiskEncryptionSet 相關聯的 Keyvault。 資源可能由於還原點建立失敗而遭到刪除。 請以相同名稱重新建立遺漏的資源之後重試作業。
如果您要為具有加密磁碟的 VM 建立還原點,則必須確保金鑰儲存所在的金鑰保存庫可用。 我們會使用相同的金鑰來建立加密的還原點。
BadRequest - 可以使用 api-version '2021-03-01' 或更新版本提出此要求
錯誤碼:BadRequest
錯誤訊息:可以使用 api-version '2022-03-01' 或更新版本提出此要求。
只有 API 版本 2022-03-01 或更新版本才支援還原點。 如果您是使用 REST API 來建立和管理還原點,請在呼叫還原點 API 時使用指定的 API 版本。
InternalError / InternalExecutionError / InternalOperationError / InternalDiskRestorePointError - - 發生內部執行錯誤。 請稍後重試。
錯誤碼:InternalError / InternalExecutionError / InternalOperationError / InternalDiskRestorePointError
錯誤訊息:發生內部執行錯誤。 請稍後重試。
在您觸發還原點的建立之後,計算服務會開始與 VM 快照集延伸模組通訊,以取得時間點快照集。 下列任一種狀況都可能會阻止觸發快照集。 如果未觸發快照集,可能會發生還原點失敗。 請依照列出的順序完成下列疑難排解步驟,然後重試作業:
原因 3︰無法擷取快照集狀態或無法取得快照集。
原因 4:計算服務因資源群組鎖定而沒有刪除舊還原點的權限。
原因 5:延伸模組版本/位元與您執行的 Windows 版本不符,或下列模組已毀損:
C:\Packages\Plugins\Microsoft.Azure.RecoveryServices.VMSnapshot\<extension version>\iaasvmprovider.dll
若要解決此問題,請檢查模組是否與 x86 (32 位元)/x64 (64 位元) 版本的 regsvr32.exe 相容,然後遵循下列步驟:
- 在受影響的 VM 中,移至 [控制台]>[程式和功能]。
- 解除安裝適用於 Visual Studio 2013 的 Visual C++ 可轉散發套件 x64。
- 在 VM 中,重新安裝適用於 Visual Studio 2013 的 Visual C++ 可轉散發套件。 若要安裝,請遵循下列步驟:
- 移至資料夾:C:\Packages\Plugins\Microsoft.Azure.RecoveryServices.VMSnapshot\<LatestVersion>。
- 搜尋並執行 vcredist2013_x64 檔案進行安裝。
- 重試還原點作業。
OSProvisioningClientError - 還原點作業因錯誤而失敗。 如需詳細資料,請參閱還原點佈建錯誤訊息詳細資料
錯誤碼:OSProvisioningClientError
錯誤訊息:OS 佈建未在配置的時間內完成。 此錯誤在映像中連續發生太多次。 請確認已正確備妥 (一般化) 映像。
此錯誤是由 IaaS VM 報告。 請採取錯誤訊息中所述的必要動作,然後重試作業。
AllocationFailed - 還原點作業因錯誤而失敗。 如需詳細資料,請參閱還原點佈建錯誤訊息詳細資料
錯誤碼:AllocationFailed
錯誤訊息:配置失敗。 如果您嘗試將新的 VM 新增到可用性設定組,或更新/重設可用性設定組中的現有 VM,請注意,這種可用性設定組配置的範圍為單一叢集,而且叢集的容量可能已用盡。 深入了解提升配置成功的可能性。
此錯誤是由 IaaS VM 報告。 請採取錯誤訊息中所述的必要動作,然後重試作業。
原因和解決方案
代理程式已安裝在 VM 中,但沒有回應 (適用於 Windows VM)
解決方案
VM 代理程式可能已損毀,或服務可能已停止。 重新安裝 VM 代理程式有助於取得最新版本。 也有助於重新開始與服務通訊。
- 判斷 Microsoft Azure 客體代理程式服務是否在 VM 服務 (services.msc) 中執行。 請嘗試重新啟動 Microsoft Azure 客體代理程式服務並起始還原點作業。
- 如果 Microsoft Azure 客體代理程式服務未顯示在控制台的服務中,請移至 [程式和功能] 來判斷是否已安裝 Microsoft Azure 客體代理程式服務。
- 如果 Microsoft Azure 客體代理程式顯示在 [程式和功能] 中,請將 Microsoft Azure 客體代理程式解除安裝。
- 下載並安裝最新版的代理程式 MSI。 您必須擁有系統管理員權限,才能完成安裝。
- 驗證 Microsoft Azure 客體代理程式服務是否出現在服務中。
- 重試還原點作業。
此外,確認 VM 中已安裝 Microsoft .NET 4.5。 VM 代理程式需有 .NET 4.5 才能與服務通訊。
VM 中安裝的代理程式已過時 (適用於 Linux VM)
解決方案
針對 Linux VM,與代理程式或擴充功能相關的多數失敗是由於會影響過時 VM 代理程式的問題所造成。 若要對此問題進行疑難排解,請遵循下列一般方針:
請遵循更新 Linux VM 代理程式的指示。
注意
我們強烈建議您只透過散發套件存放庫更新代理程式。 我們不建議直接從 GitHub 下載代理程式程式碼,並加以更新。 如果最新的代理程式不適用於您的散發套件,請連絡散發套件支援以取得如何進行安裝的指示。 若要檢查最新的代理程式,請移至 GitHub 儲存機制中的 Microsoft Azure Linux 代理程式 (英文) 頁面。
執行下列命令,確定 Azure 代理程式正在 VM 上執行:
ps -e
如果此程序不在執行中,請使用下列命令來重新啟動它:
- 若為 Ubuntu/Debian:
sudo systemctl start walinuxagent
- 其他 Linux 散發套件:
sudo systemctl start waagent
重試還原點作業。 如果失敗持續發生,請從 VM 收集下列記錄:
- /var/lib/waagent/*.xml
- /var/log/waagent.log
- /var/log/azure/*
如果您需要 waagent 的詳細資訊記錄,請遵循下列步驟:
- 在
/etc/waagent.conf
檔案中,找出以下這行︰Enable verbose logging (y|n)。 - 將 Logs.Verbose 值從 n 變更為 y。
- 儲存變更,然後完成本節前面所述的步驟來重新啟動 waagent。
VM 代理程式設定選項未設定 (適用於 Linux VM)
設定檔 (/etc/waagent.conf
) 控制 waagent 的動作。 設定檔選項 Extensions.Enable 應設為 y,且 Provisioning.Agent 應設為 auto,讓還原點作業能夠運作。
如需 VM 代理程式設定檔選項的完整清單,請參閱https://github.com/Azure/WALinuxAgent#configuration-file-options。
應用程式控制解決方案封鎖了 IaaSBcdrExtension.exe
如果您正在執行 AppLocker (或另一個應用程式控制解決方案),而且規則是以發行者或路徑為基礎,則可能會封鎖 IaaSBcdrExtension.exe,造成此執行檔無法執行。
解決方案
從 AppLocker (或其他應用程式控制軟體) 中排除 /var/lib
路徑或 IaaSBcdrExtension.exe 執行檔。
無法擷取快照集狀態,或無法取得快照集
還原點依賴將快照集命令發給基礎儲存體帳戶。 還原點可能會失敗,因為其無權存取儲存體帳戶,或是因為快照集工作延遲執行。
解決方案
下列狀況可能導致快照集工作失敗:
原因 | 解決方法 |
---|---|
因為遠端桌面通訊協定 (RDP) 中的 VM 關機,而導致報告的 VM 狀態不正確。 | 如果您關閉 RDP 中的 VM,請檢查入口網站,以判斷 VM 狀態是否正確。 如果不正確,可使用 VM 儀表板上的 [關閉] 選項來關閉入口網站中的 VM。 |
VM 無法從 DHCP 取得主機或網狀架構位址。 | 必須在來賓內啟用 DHCP,還原點才能運作。 如果 VM 無法從 DHCP 回應 245 取得主機或網狀架構位址,則無法下載或執行任何延伸模組。 如果您需要靜態私人 IP,則應透過 Azure 入口網站或 PowerShell 加以設定,並確定已啟用 VM 內的 DHCP 選項。 深入了解如何使用 PowerShell 設定靜態 IP 位址。 |
從還原點資源群組中移除鎖定
登入 Azure 入口網站。
移至 [所有資源],選取還原點集合資源群組。
在 [設定] 區段中,選取 [鎖定] 來顯示鎖定項目。
若要移除鎖定,請選取 [刪除]。