Errori di provisioning dell'estensione della macchina virtuale in set di scalabilità di macchine virtuali

Questo articolo fornisce indicazioni sulla risoluzione degli errori VMExtensionProvisioningError, VMExtensionHandlerNonTransientError o VMExtensionProvisioningTimeout visualizzati quando si tenta di distribuire, aggiornare, ricreare l'immagine, avviare o ridimensionare un set di scalabilità di macchine virtuali.

Nota

Nel contesto di set di scalabilità di macchine virtuali, la "macchina virtuale" in questi messaggi di errori fa riferimento a un'istanza all'interno di un set di scalabilità di macchine virtuali specifico.

Sintomi

Vengono visualizzati errori VMExtensionProvisioningError, VMExtensionHandlerNonTransientError o VMExtensionProvisioningTimeout , come negli esempi seguenti:

'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.

Causa

Un'estensione della macchina virtuale è bloccata o non è riuscita durante lo stato di provisioning.

Ottenere altre informazioni sull'errore dell'estensione

Per iniziare a risolvere questo errore, è necessario innanzitutto determinare quali estensioni e istanze sono interessate. A tale scopo, eseguire il comando dell'interfaccia della riga di comando di Azure seguente:

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

L'output di questo comando visualizzerà gli stati di provisioning delle estensioni in ogni istanza. L'output di esempio seguente mostra come queste informazioni sull'estensione vengono raggruppate in base all'ID istanza.

Screenshot dell'output con gli ID istanza evidenziati.

All'interno di ogni sezione dedicata a una particolare istanza, l'elenco "extProvisioningState" nella parte superiore visualizza gli stati di provisioning delle estensioni installate in tale istanza. Questo elenco è seguito dall'elenco "estensione", che visualizza i nomi delle estensioni nello stesso ordine corrispondente.

Nell'output di esempio seguente, ad esempio, il primo stato di provisioning in questa istanza, "Failed", corrisponde alla prima estensione, "customScript". Associando gli stati di provisioning alle estensioni elencate, è anche possibile determinare che in questo esempio il provisioning della seconda e della terza estensioni elencate è stato eseguito correttamente nella stessa istanza.

Screenshot dell'output che mostra lo stato di provisioning e i nomi di estensione corrispondenti.

Tentativo di scalabilità orizzontale del set di scalabilità di macchine virtuali

Se l'estensione non ha avuto esito negativo in ogni istanza, aggiungere nuove istanze al set di scalabilità di macchine virtuali e verificare se il provisioning dell'estensione ha esito positivo. Se ha esito positivo, eliminare le istanze in cui il provisioning dell'estensione non è riuscito.

Leggere i log sulle istanze interessate

Per ottenere ulteriori informazioni sulla causa dell'errore, accedere alle istanze interessate. A seconda del sistema operativo del set di scalabilità di macchine virtuali e dell'estensione interessata, passare ai log appropriati ed esaminare l'intervallo di tempo interessato:

  • Windows set di scalabilità di macchine virtuali: C:\WindowsAzure\logs\plugins\ExtensionName\Extension.log
  • Set di scalabilità di macchine virtuali Linux: /var/log/plugins/ExtensionName/Extension.log

Verificare che l'estensione non riuscita stia seguendo le procedure consigliate

Se l'estensione è personalizzabile, ad esempio Cse (Custom Script Extension) o Desired State Configuration (DSC), verificare di seguire tutti i prerequisiti necessari e le procedure consigliate.

Reinstallare l'estensione

  1. Nel pannello Estensioni del set di scalabilità di macchine virtuali selezionare l'estensione con gli errori di provisioning.

  2. Fare clic su Disinstalla.

    Screenshot del pannello delle estensioni con il pulsante di disinstallazione evidenziato

  3. Nel pannello Estensioni fare clic su Aggiungi.

  4. Selezionare e reinstallare la stessa estensione.

Contattaci per ricevere assistenza

In caso di domande o bisogno di assistenza, creare una richiesta di supporto tecnico oppure formula una domanda nel Supporto della community di Azure. È possibile anche inviare un feedback sul prodotto al feedback della community di Azure.