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.
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.
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.
- Procedure consigliate per l'estensione script personalizzata
- Prerequisiti di Configurazione dello stato desiderato
Reinstallare l'estensione
Nel pannello Estensioni del set di scalabilità di macchine virtuali selezionare l'estensione con gli errori di provisioning.
Fare clic su Disinstalla.
Nel pannello Estensioni fare clic su Aggiungi.
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.