Erros de provisionamento de extensão de VM no Conjuntos de Dimensionamento de Máquinas Virtuais

Este artigo fornece diretrizes sobre como resolver erros VMExtensionProvisioningError, VMExtensionHandlerNonTransientError ou VMExtensionProvisioningTimeout que aparecem quando você tenta implantar, atualizar, reimagem, iniciar ou escalar um Conjunto de Dimensionamento de Máquina Virtual.

Observação

No contexto de Conjuntos de Dimensionamento de Máquinas Virtuais, a "VM" nessas mensagens de erros refere-se a uma instância dentro de um conjunto de dimensionamento de máquina virtual específico.

Sintomas

Você vê erros VMExtensionProvisioningError, VMExtensionHandlerNonTransientError ou VMExtensionProvisioningTimeout , como nos seguintes exemplos:

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

Motivo

Uma extensão de VM está suspensa ou falhou durante o estado de provisionamento.

Obter mais informações sobre falha de extensão

Para começar a resolver esse erro, primeiro você deve determinar quais extensões e instâncias são afetadas. Para fazer isso, execute o seguinte comando da CLI (interface de linha de comando) do Azure:

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

A saída desse comando exibirá os estados de provisionamento das extensões em cada instância. A saída de exemplo a seguir mostra como essas informações de extensão são agrupadas pela ID da instância.

Captura de tela da saída com IDs de instância realçadas.

Em cada seção dedicada a uma instância específica, a lista "extProvisioningState" na parte superior exibe os estados de provisionamento das extensões instaladas nessa instância. Essa lista é seguida pela lista "extension", que exibe os nomes das extensões na mesma ordem correspondente.

Por exemplo, na saída de exemplo a seguir, o primeiro estado de provisionamento nesta instância, "Falha", corresponde à primeira extensão, "customScript". Ao corresponder os estados de provisionamento às extensões listadas, você também pode determinar que, neste exemplo, a segunda e terceira extensões listadas foram provisionadas com êxito na mesma instância.

Captura de tela da saída mostrando o estado de provisionamento e os nomes de extensão correspondentes.

Tentativa de dimensionar o Conjunto de Dimensionamento de Máquinas Virtuais

Se a extensão não tiver falhado em todas as instâncias, adicione novas instâncias ao Conjunto de Dimensionamento de Máquinas Virtuais e veja se o provisionamento de extensão será bem-sucedido. Se for bem-sucedido, exclua as instâncias nas quais o provisionamento de extensão falhou.

Ler logs em instâncias afetadas

Para obter mais informações sobre a causa do erro, entre nas instâncias afetadas. Dependendo do sistema operacional do Conjunto de Dimensionamento de Máquinas Virtuais e da extensão afetada, navegue até os logs apropriados e examine o período afetado:

  • Windows Conjuntos de Dimensionamento de Máquinas Virtuais: C:\WindowsAzure\logs\plugins\ExtensionName\Extension.log
  • Linux Conjuntos de Dimensionamento de Máquinas Virtuais: /var/log/plug-ins/ExtensionName/Extension.log

Verifique se a extensão com falha está seguindo as melhores práticas

Se a extensão for personalizável, como CSE (Extensão de Script Personalizado) ou DSC (Desired State Configuration), verifique se você está seguindo todos os pré-requisitos necessários e as melhores práticas recomendadas.

Reinstalar a extensão

  1. Na folha Extensões do Conjunto de Dimensionamento de Máquina Virtual, selecione a extensão com os erros de provisionamento.

  2. Clique em Desinstalar.

    Captura de tela da folha extensões com o botão de desinstalação realçado

  3. Na folha Extensões , clique em Adicionar.

  4. Selecione e reinstale a mesma extensão.

Entre em contato conosco para obter ajuda

Se você tiver dúvidas ou precisar de ajuda, crie uma solicitação de suporte ou peça ajuda à comunidade de suporte do Azure. Você também pode enviar comentários sobre o produto para a comunidade de comentários do Azure.