Compartilhar via


Erros de provisionamento de extensão de VM em 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, recriar a imagem, iniciar ou dimensionar um Conjunto de Dimensionamento de Máquinas Virtuais.

Observação

No contexto dos 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áquinas Virtuais específico.

Sintomas

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

'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á travando ou falhou durante o estado de provisionamento.

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

Para começar a resolver esse erro, você deve primeiro determinar quais extensões e instâncias são afetadas. Para fazer isso, execute o seguinte comando da CLI 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 por ID de 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. Esta lista é seguida pela lista "extensão", 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 nessa instância, "Failed", 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 a 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.

Tentar escalar horizontalmente 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 da extensão foi 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:

  • Conjuntos de Dimensionamento de Máquinas Virtuais do Windows: C:\WindowsAzure\logs\plugins\ExtensionName\Extension.log
  • Conjuntos de dimensionamento de máquinas virtuais do Linux: /var/log/plugins/ExtensionName/Extension.log

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

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

Reinstale a extensão

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

  2. Clique em Desinstalar.

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

  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.