Condividi tramite


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

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

Note

Nel contesto di set di scalabilità di macchine virtuali, la "macchina virtuale" in questi messaggi di errore 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 di macchina virtuale è bloccata o ha avuto esito negativo durante lo stato di provisioning.

Altre informazioni sull'errore dell'estensione

Per iniziare a risolvere questo errore, è necessario prima 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 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 delle seconde e delle terze estensioni elencate è stato eseguito correttamente nella stessa istanza.

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

Tentare di aumentare il numero di istanze del set di scalabilità di macchine virtuali

Se l'estensione non è riuscita 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 altre 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
  • Linux set di scalabilità di macchine virtuali: /var/log/plugins/ExtensionName/Extension.log

Verificare che l'estensione non riuscita se segue le procedure consigliate

Se l'estensione è personalizzabile, ad esempio Estensione script personalizzato (CSE) o DSC (Desired State Configuration), 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 Disinstalla 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.