共用方式為


虛擬機器擴展集 中的 VM 擴充功能布建錯誤

本文提供解決 VMExtensionProvisioningError、VMExtensionHandlerNonTransientErrorVMExtensionProvisioningTimeout 錯誤的指導,這些錯誤會在您嘗試部署、更新、重新映射、啟動或調整虛擬機擴展集時出現。

注意

在 虛擬機器擴展集 的內容中,這些錯誤訊息中的「VM」是指特定虛擬機擴展集內的實例。

徵兆

如下列範例所示,您會看到 VMExtensionProvisioningErrorVMExtensionHandlerNonTransientErrorVMExtensionProvisioningTimeout 錯誤:

'statusMessage': '{\\'status\\':\\'Failed\\',\\'error\\':{\\'code\\':\\'ResourceOperationFailure\\',\\'message\\':\\'The resource operation completed with terminal provisioning state 'Failed'.\\',\\'details\\':[{\\'code\\':\\'VMExtensionProvisioningError\\',\\'message\\':\\'Multiple VM extensions failed to be provisioned on the VM. Please see the VM extension instance view for other failures.

{'status': 'Failed','error': {'code':'VMExtensionHandlerNonTransientError','message': 'The handler for VM extension type 'Microsoft.EnterpriseCloud.Monitoring.OmsAgentForLinux' has reported terminal failure for VM extension 'OmsAgentForLinux' with error message: '[ExtensionOperationError] Non-zero exit code: 10

'statusMessage': '{\\'status\\':\\'Failed\\',\\'error\\':{\\'code\\':\\'ResourceOperationFailure\\',\\'message\\':\\'The resource operation completed with terminal provisioning state 'Failed'.\\',\\'details\\':[{\\'code\\':\\'VMExtensionProvisioningTimeout\\',\\'message\\':\\'Provisioning of VM extension configure-settings has timed out. Extension provisioning has taken too long to complete.

原因

VM 擴充功能在布建狀態期間已停止或失敗。

取得擴充功能失敗的詳細資訊

若要開始解決此錯誤,您應該先判斷受影響的擴充功能和實例。 若要這樣做,請執行下列 Azure 命令行介面 (Azure CLI) 命令:

az vmss list-instances --resource-group MyResourceGroup --name MyVmss --query "[].{instanceId:instanceId, extension:resources[].id, extProvisioningState:resources[].provisioningState}"

此命令的輸出會顯示每個實例上延伸模組的布建狀態。 下列範例輸出顯示此延伸模組資訊如何依實例標識符分組。

醒目提示實例標識碼的輸出螢幕快照。

在每個專用於特定實例的區段中,頂端的 「extProvisioningState」 列表會顯示該實例上所安裝延伸模組的布建狀態。 此清單後面接著 「extension」 清單,它會以相同的對應順序顯示延伸模組的名稱。

例如,在下列範例輸出中,此實例中的第一個布建狀態「失敗」會對應至第一個延伸模組 「customScript」。藉由比對列出的擴充功能,您也可以判斷在此範例中,列出的第二和第三個延伸模組已成功布建在相同的實例上。

顯示布建狀態和相符擴充功能名稱之輸出的螢幕快照。

嘗試相應放大虛擬機擴展集

如果每個實例上的擴充功能未失敗,請將新的實例新增至虛擬機擴展集,並查看延伸模組布建是否成功。 如果成功,請刪除擴充功能布建失敗的實例。

讀取受影響實例的記錄

若要進一步深入瞭解錯誤的原因,請登入受影響的實例。 視虛擬機擴展集的OS和受影響的擴充功能而定,流覽至適當的記錄,並檢閱受影響的時間範圍:

  • Windows 虛擬機器擴展集C:\WindowsAzure\logs\plugins\ExtensionName\Extension.log
  • Linux 虛擬機器擴展集/var/log/plugins/ExtensionName/Extension.log

確認失敗的擴充功能遵循最佳做法

如果擴充功能是可自定義的,例如自定義腳本擴充功能 (CSE) 或 Desired 狀態設定 (DSC),請確認您遵循所有必要的必要條件和建議的最佳做法。

重新安裝延伸模組

  1. 在 [虛擬機擴展集] 的 [ 擴充功能 ] 刀鋒視窗上,選取具有布建錯誤的擴充功能。

  2. 按一下 [解除安裝] 。

    [擴充功能] 刀鋒視窗的螢幕快照,其中已醒目提示 [卸載] 按鈕

  3. 在 [ 延伸模組] 刀鋒視窗上,按兩下 [ 新增]。

  4. 選取並重新安裝相同的擴充功能。

與我們連絡,以取得說明

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