Como usar o diagnóstico de inicialização para solucionar problemas de máquinas virtuais no Azure

Pode haver muitos motivos para uma máquina virtual entrar em um estado não inicializável. Para resolver problemas com suas máquinas virtuais criadas usando o modelo de implantação do Gerenciador de Recursos, você pode usar os seguintes recursos de depuração: Saída do Console e suporte à Captura de Tela para máquinas virtuais do Azure.

Para máquinas virtuais Linux, você pode visualizar a saída do log do console no Portal. Para máquinas virtuais Windows e Linux, o Azure permite que você veja uma captura de tela da VM do hipervisor. Ambos os recursos têm suporte para máquinas virtuais do Azure em todas as regiões. Observe que as capturas de tela e a saída podem levar até 10 minutos para aparecer em sua conta de armazenamento.

Você pode selecionar a opção Diagnóstico de inicialização para visualizar o log e a captura de tela.

Captura de tela da guia Captura de tela na página de diagnóstico de inicialização do Portal do Azure.

Erros comuns de inicialização

Habilite o diagnóstico em uma máquina virtual criada usando o Portal do Azure

O procedimento a seguir é para uma máquina virtual criada usando o modelo de implantação do Resource Manager.

Na guia Gerenciamento, na seção Monitoramento, verifique se o Diagnóstico de inicialização está ativado. A configuração padrão é habilitar o diagnóstico de inicialização usando uma conta de armazenamento gerenciado.

Captura de tela das opções na página de diagnóstico de inicialização de criação de VM

Observação

O recurso de diagnóstico de inicialização não oferece suporte a conta de armazenamento premium ou tipos de conta de armazenamento redundante de zona. Se você usar a conta de armazenamento premium para diagnóstico de inicialização, poderá receber o erro StorageAccountTypeNotSupported ao iniciar a VM.

Implantando de um modelo do Azure Resource Manager

Se você estiver implantando de um modelo do Azure Resource Manager, navegue até o recurso de máquina virtual e anexe a seção de perfil de diagnóstico. Defina o cabeçalho da versão da API como "2015-06-15" ou posterior. A versão mais recente é "2018-10-01".

{
  "apiVersion": "2018-10-01",
  "type": "Microsoft.Compute/virtualMachines",
  … 

O perfil de diagnóstico permite que você selecione a conta de armazenamento onde deseja colocar esses logs.

    "diagnosticsProfile": {
 "bootDiagnostics": {
 "enabled": true,
 "storageUri": "[concat('https://', parameters('newStorageAccountName'), '.blob.core.windows.net')]"
 }
    }
    }
}

Para obter mais informações sobre como implantar recursos usando modelos, consulte Início rápido: criar e implantar modelos do Azure Resource Manager usando o portal do Azure.

Habilite o diagnóstico de inicialização na máquina virtual existente

Para ativar o diagnóstico de inicialização em uma máquina virtual existente, siga estas etapas:

  1. Entre no portal do Azure e selecione a máquina virtual.

  2. Na seção Ajuda, selecione Diagnóstico de inicialização e selecione a guia Configurações.

  3. Nas configurações de Diagnóstico de inicialização, selecione o diagnóstico de inicialização com conta de armazenamento gerenciado ou conta de armazenamento personalizada. Captura de tela das opções na página de diagnóstico de inicialização da VM existente

  4. Salve a alteração.

Habilite o diagnóstico de inicialização usando a CLI do Azure

Você pode usar a CLI do Azure para habilitar o diagnóstico de inicialização em uma máquina virtual existente do Azure. Para obter mais informações, consulte az vm boot-diagnostics.

Corrigir captura de tela de diagnóstico de inicialização não atualizando

Se você perceber que a captura de tela de diagnóstico de inicialização para sua VM do Azure está desatualizada no portal do Azure, primeiro verifique se o tempo limite de exibição virtual está desabilitado no sistema operacional convidado. Por exemplo, você pode ver que a hora mostrada na tela de logon está desatualizada para uma VM do Windows.

Para Windows, execute o seguinte comando no CMD elevado

powercfg /setacvalueindex SCHEME_CURRENT SUB_VIDEO VIDEOIDLE 0

Execute o comando a seguir para o Linux

xset s off

Para VMs do Windows, o agente de provisionamento do Azure é diferente do agente de VM. Ele executa o comando acima durante o provisionamento de VMs criadas a partir de uma imagem generalizada. Você pode ver esse evento se pesquisar powercfg em C:\Windows\Panther\WaSetup.xml, que é o log do agente de provisionamento. Mas como o agente de provisionamento não precisa ser executado para VMs criadas a partir de um VHD especializado, esse é um cenário em que você precisaria executar o comando powercfg manualmente para desabilitar o tempo limite de exibição virtual. Além disso, é possível ter uma VM do Azure particularmente antiga criada a partir de uma imagem generalizada que pode não ter sido definida porque foi criada antes da atualização do agente de provisionamento para desabilitar o tempo limite de exibição virtual.

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.