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

Aplica-se a: ✔️ VMs do Linux ✔️ VMs do Windows

Pode haver vários motivos pelos quais uma máquina virtual entra em um estado não inicializável. Para resolver problemas com suas máquinas virtuais criadas usando o modelo de implantação do Resource Manager, 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 do Linux, exiba a saída do log de console no portal. Para Máquinas Virtuais do Windows e do Linux, o Azure permite que você veja uma captura de tela da VM no hipervisor. Há suporte para os dois recursos nas 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ósticos de inicialização para exibir o log e a captura de tela.

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

Erros comuns de inicialização

Habilitar o diagnóstico em uma máquina virtual criada usando o portal do Azure

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

Na guia Gerenciamento, na seção Monitoramento, verifique se a opção Diagnóstico de inicialização está ativada. A configuração padrão é ter o diagnóstico de inicialização habilitado usando uma conta de armazenamento gerenciada.

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

Observação

O recurso de diagnóstico de inicialização não dá suporte a conta de armazenamento premium ou a tipos de conta de armazenamento com redundância de zona. Se você usar a conta de armazenamento premium para o diagnóstico de inicialização, você poderá receber o erro StorageAccountTypeNotSupported quando você iniciar a VM.

Implantação com base em um modelo do Azure Resource Manager

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

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

O perfil de diagnóstico permite que você selecione a conta de armazenamento em que 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.

Habilitar o diagnóstico de inicialização em uma máquina virtual existente

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

  1. Faça logon no Portal do Azure e selecione a máquina virtual.

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

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

  4. Salve a alteração.

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

Use 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, confira az vm boot-diagnostics.

Corrigir a captura de tela do diagnóstico de inicialização que não está atualizando

Se você perceber que a captura de tela do Diagnóstico de Inicialização para sua VM do Azure está obsoleta 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á obsoleta para uma VM do Windows.

Para Windows, execute o seguinte comando a partir do CMD elevado

powercfg /setacvalueindex SCHEME_CURRENT SUB_VIDEO VIDEOIDLE 0

Para Linux, execute o seguinte comando

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 tê-la definida porque foi criada antes que o agente de provisionamento fosse atualizado 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.